@keyframes sand3d-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes sand3d-toast-in{0%{opacity:0;transform:translate(-50%,16px)scale(.96)}to{opacity:1;transform:translate(-50%)scale(1)}}.sand3d-explorer-page{box-sizing:border-box;width:min(1720px,100% - 48px);max-width:1720px;min-height:calc(100vh - 120px);margin:0 auto;padding-top:1.5rem;padding-bottom:4rem}@media (min-width:1700px){.sand3d-explorer-page{width:min(1920px,100% - 64px);max-width:1920px}}@media (min-width:2200px){.sand3d-explorer-page{width:min(2240px,100% - 80px);max-width:2240px}}.sand3d-explorer-root{flex-direction:column;gap:1.25rem;display:flex;position:relative}.sand3d-toast{z-index:9999;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#f8fafc;pointer-events:none;background:#0f172af0;border:1px solid #818cf866;border-radius:24px;align-items:center;gap:8px;padding:10px 18px;font-size:.85rem;font-weight:600;animation:.2s cubic-bezier(.16,1,.3,1) forwards sand3d-toast-in;display:inline-flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #00000080,0 0 16px #6366f140}.sand3d-toast svg{color:#34d399}.sand3d-exp-header{border-bottom:1px solid #94a3b833;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding-bottom:1rem;display:flex}.sand3d-exp-header-left{flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}.sand3d-exp-back-btn{color:#cbd5e1;background:#1e293bb3;border:1px solid #94a3b840;border-radius:8px;align-items:center;gap:.5rem;min-height:38px;padding:.45rem .85rem;font-size:.84rem;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.sand3d-exp-back-btn:hover{color:#fff;background:#334155e6;border-color:#94a3b873}.sand3d-exp-title-box{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.sand3d-exp-title-box h1{color:#f8fafc;letter-spacing:-.02em;margin:0;font-size:clamp(1.25rem,2.4vw,1.6rem);font-weight:700}.sand3d-exp-badge{color:#c7d2fe;white-space:nowrap;background:#6366f138;border:1px solid #818cf859;border-radius:6px;padding:.25rem .65rem;font-size:.74rem;font-weight:700}.sand3d-exp-mirror-link{color:#93c5fd;background:#1e3a8a40;border:1px solid #60a5fa4d;border-radius:8px;align-items:center;gap:.4rem;min-height:38px;padding:.45rem .85rem;font-size:.82rem;font-weight:500;text-decoration:none;transition:all .15s;display:inline-flex}.sand3d-exp-mirror-link:hover{color:#fff;background:#1e3a8a73;border-color:#60a5fa80}.sand3d-mobile-switcher{background:#090e17;border:1px solid #94a3b833;border-radius:10px;grid-template-columns:1fr 1fr;gap:6px;padding:4px;display:none}.sand3d-mobile-tab{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:10px 12px;font-size:.84rem;font-weight:600;transition:all .15s;display:flex}.sand3d-mobile-tab.is-active{color:#fff;background:#6366f140;box-shadow:0 2px 8px #00000040}.sand3d-exp-controls{background:#0d131f;border:1px solid #94a3b82e;border-radius:12px;flex-direction:column;gap:.85rem;padding:1rem 1.25rem;display:flex}.sand3d-exp-search-form{align-items:center;width:100%;display:flex;position:relative}.sand3d-exp-search-icon{color:#64748b;pointer-events:none;position:absolute;left:14px}.sand3d-exp-search-input{color:#f1f5f9;box-sizing:border-box;background:#070b12;border:1px solid #94a3b840;border-radius:8px;outline:none;width:100%;min-height:44px;padding:.72rem 2.5rem .72rem 2.6rem;font-size:.92rem;transition:border-color .15s,box-shadow .15s}.sand3d-exp-search-input:focus{border-color:#818cf8;box-shadow:0 0 0 3px #6366f126}.sand3d-exp-clear-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:1.25rem;line-height:1;position:absolute;right:12px}.sand3d-exp-clear-btn:hover{color:#fff}.sand3d-exp-filters{flex-wrap:wrap;align-items:center;gap:.9rem;display:flex}.sand3d-exp-dataset-select{color:#f1f5f9;cursor:pointer;background:#070b12;border:1px solid #94a3b840;border-radius:8px;outline:none;min-height:40px;padding:.55rem 1rem;font-size:.84rem;font-weight:500}.sand3d-exp-checkbox-label{color:#cbd5e1;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.45rem;min-height:36px;font-size:.84rem;display:inline-flex}.sand3d-exp-checkbox-label input{accent-color:#6366f1;cursor:pointer;width:17px;height:17px}.sand3d-exp-total-counter{color:#a5b4fc;background:#6366f11f;border:1px solid #818cf840;border-radius:6px;align-items:center;gap:6px;margin-left:auto;padding:4px 10px;font-size:.82rem;font-weight:600;display:inline-flex}.sand3d-exp-total-counter .sparkle-icon{color:#818cf8}.sand3d-exp-workspace{grid-template-columns:360px minmax(0,1fr);align-items:start;gap:1.5rem;display:grid}@media (min-width:1440px){.sand3d-exp-workspace{grid-template-columns:460px minmax(0,1fr);gap:1.75rem}}@media (min-width:1900px){.sand3d-exp-workspace{grid-template-columns:540px minmax(0,1fr);gap:2rem}}.sand3d-exp-list-pane{scrollbar-width:thin;scrollbar-color:#334155 transparent;background:#0d131f;border:1px solid #94a3b82e;border-radius:12px;flex-direction:column;max-height:calc(100vh - 200px);padding:1rem;display:flex;overflow-y:auto}.sand3d-exp-list-grid{grid-template-columns:1fr;gap:.75rem;display:grid}@media (min-width:1440px){.sand3d-exp-list-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}}.sand3d-skeleton-grid{grid-template-columns:1fr;gap:.75rem;display:grid}@media (min-width:1440px){.sand3d-skeleton-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.sand3d-card-skeleton{background:#080d15;border:1px solid #94a3b81a;border-radius:10px;flex-direction:column;gap:.6rem;padding:.75rem;display:flex}.skeleton-media{aspect-ratio:1.25;background:linear-gradient(90deg,#111a28 25%,#1d2c42 50%,#111a28 75%) 0 0/200% 100%;border-radius:6px;animation:1.8s infinite sand3d-shimmer}.skeleton-line{background:linear-gradient(90deg,#111a28 25%,#1d2c42 50%,#111a28 75%) 0 0/200% 100%;border-radius:4px;height:12px;animation:1.8s infinite sand3d-shimmer}.skeleton-line.title{width:75%;height:14px}.skeleton-line.sub{width:45%}.sand3d-exp-card{cursor:pointer;text-align:left;color:inherit;background:#080d15;border:1px solid #94a3b826;border-radius:10px;outline:none;flex-direction:column;gap:.6rem;padding:.75rem;transition:all .18s cubic-bezier(.16,1,.3,1);display:flex}.sand3d-exp-card:hover{background:#0f1826;border-color:#94a3b859;transform:translateY(-2px);box-shadow:0 4px 16px #0000004d}.sand3d-exp-card.is-selected{background:#6366f11f;border-width:1.5px;box-shadow:0 0 14px #6366f140}.sand3d-exp-card-media{aspect-ratio:1.25;background:#05080f;border-radius:6px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.sand3d-exp-card-media img{object-fit:contain;width:100%;height:100%;transition:transform .2s}.sand3d-exp-card:hover .sand3d-exp-card-media img{transform:scale(1.04)}.sand3d-dataset-badge-mini{letter-spacing:.04em;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:1px solid;border-radius:4px;padding:2px 6px;font-size:.65rem;font-weight:700;position:absolute;top:6px;left:6px}.sand3d-joint-pill{color:#38bdf8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172ad9;border:1px solid #38bdf859;border-radius:4px;padding:2px 7px;font-size:.68rem;font-weight:600;position:absolute;bottom:6px;right:6px}.sand3d-exp-card-info h4{color:#f1f5f9;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.88rem;font-weight:600;line-height:1.35;overflow:hidden}.sand3d-exp-card-sub{color:#94a3b8;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:.74rem;overflow:hidden}.sand3d-sentinel{justify-content:center;align-items:center;padding:1rem 0;display:flex}.sand3d-loading-more-pill{color:#94a3b8;background:#1e293bb3;border:1px solid #94a3b840;border-radius:20px;align-items:center;gap:8px;padding:6px 14px;font-size:.78rem;display:inline-flex}.loading-spinner{border:2px solid #94a3b84d;border-top-color:#818cf8;border-radius:50%;width:14px;height:14px;animation:.7s linear infinite sand3d-spin}@keyframes sand3d-spin{to{transform:rotate(360deg)}}.sand3d-exp-load-btn{color:#cbd5e1;cursor:pointer;background:#1e293b99;border:1px solid #94a3b833;border-radius:8px;width:100%;min-height:40px;padding:.65rem;font-size:.82rem;font-weight:500;transition:all .15s}.sand3d-exp-load-btn:hover{color:#fff;background:#334155cc}.sand3d-exp-no-results{text-align:center;color:#94a3b8;padding:2.5rem 1rem;font-size:.88rem}.sand3d-reset-btn{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:6px;margin-top:.75rem;padding:.45rem 1rem;font-size:.82rem;font-weight:600}.sand3d-exp-detail-pane{background:#0d131f;border:1px solid #94a3b82e;border-radius:12px;min-height:600px;padding:1.25rem}.sand3d-mobile-back-bar{margin-bottom:1rem;display:none}.sand3d-back-to-catalog-btn{color:#e2e8f0;cursor:pointer;background:#1e293bd9;border:1px solid #94a3b84d;border-radius:8px;align-items:center;gap:6px;min-height:44px;padding:8px 14px;font-size:.84rem;font-weight:600;display:inline-flex}.sand3d-detail-skeleton{flex-direction:column;gap:1.25rem;display:flex}.skeleton-banner{background:linear-gradient(90deg,#111a28 25%,#1d2c42 50%,#111a28 75%) 0 0/200% 100%;border-radius:8px;height:60px;animation:1.8s infinite sand3d-shimmer}.skeleton-viewport{background:linear-gradient(90deg,#111a28 25%,#1d2c42 50%,#111a28 75%) 0 0/200% 100%;border-radius:10px;height:480px;animation:1.8s infinite sand3d-shimmer}.sand3d-exp-detail-header{border-bottom:1px solid #94a3b826;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.1rem;padding-bottom:1.1rem;display:flex}.sand3d-detail-heading-box h2{color:#f8fafc;letter-spacing:-.015em;margin:0 0 .5rem;font-size:clamp(1.2rem,2vw,1.45rem);font-weight:700}.sand3d-exp-tags-row{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.tag-dataset{letter-spacing:.04em;border:1px solid;border-radius:6px;padding:3px 8px;font-size:.72rem;font-weight:700}.tag-fscore,.tag-joints,.tag-rigid,.tag-version{border-radius:6px;padding:3px 8px;font-size:.72rem;font-weight:600}.tag-fscore{color:#4ade80;background:#22c55e1f;border:1px solid #22c55e4d}.tag-joints{color:#38bdf8;background:#38bdf81f;border:1px solid #38bdf84d}.tag-rigid{color:#cbd5e1;background:#94a3b81f;border:1px solid #94a3b840}.tag-version{color:#c084fc;background:#a855f71f;border:1px solid #a855f74d}.sand3d-detail-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.sand3d-action-btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;min-height:38px;padding:.45rem .9rem;font-size:.82rem;font-weight:600;text-decoration:none;transition:all .15s;display:inline-flex}.sand3d-action-btn.secondary{color:#cbd5e1;background:#1e293bcc;border:1px solid #94a3b840}.sand3d-action-btn.secondary:hover{color:#fff;background:#334155e6;border-color:#94a3b873}.sand3d-action-btn.primary{color:#fff;background:#4f46e5}.sand3d-action-btn.primary:hover{background:#4338ca}.sand3d-exp-tabs{scrollbar-width:none;border-bottom:1px solid #94a3b82e;gap:.5rem;margin-bottom:1.25rem;padding-bottom:.75rem;display:flex;overflow-x:auto}.sand3d-exp-tabs::-webkit-scrollbar{display:none}.sand3d-tab-btn{color:#94a3b8;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;min-height:38px;padding:.45rem .85rem;font-size:.82rem;font-weight:600;transition:all .15s;display:inline-flex}.sand3d-tab-btn:hover{color:#f1f5f9;background:#1e293b80}.sand3d-tab-btn.is-active{color:#818cf8;background:#6366f126;border-color:#818cf84d}.sand3d-3d-viewport{border:1px solid #94a3b833;border-radius:10px;justify-content:center;align-items:center;width:100%;height:520px;transition:background .2s;display:flex;position:relative;overflow:hidden}@media (min-width:1440px){.sand3d-3d-viewport{height:600px}}@media (min-width:1900px){.sand3d-3d-viewport{height:680px}}.sand3d-3d-viewport.bg-grid{background:radial-gradient(circle,#111a28 0%,#070b12 100%) 0 0/100% 100%,linear-gradient(#ffffff09 1px,#0000 1px) 0 0/28px 28px,linear-gradient(90deg,#ffffff09 1px,#0000 1px) 0 0/28px 28px}.sand3d-3d-viewport.bg-slate{background:#141f2d}.sand3d-3d-viewport.bg-transparent{background:0 0}.sand3d-viewport-toolbar{z-index:10;pointer-events:auto;align-items:center;gap:8px;display:flex;position:absolute;top:12px;right:12px}.toolbar-group{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172ad9;border:1px solid #94a3b840;border-radius:8px;align-items:center;gap:4px;padding:3px;display:flex;box-shadow:0 4px 12px #00000059}.toolbar-btn{color:#cbd5e1;cursor:pointer;background:0 0;border:none;border-radius:5px;align-items:center;gap:5px;min-height:28px;padding:5px 9px;font-size:.74rem;font-weight:600;transition:all .12s;display:inline-flex}.toolbar-btn:hover{color:#fff;background:#ffffff1a}.toolbar-btn.is-active{color:#c7d2fe;background:#6366f159}.sand3d-3d-fallback{color:#94a3b8;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:2rem;font-size:.88rem;display:flex}.sand3d-code-pane{flex-direction:column;gap:.75rem;display:flex}.sand3d-code-topbar{background:#080d15;border:1px solid #94a3b826;border-radius:8px;justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.code-lang-label{color:#93c5fd;align-items:center;gap:6px;font-size:.8rem;font-weight:600;display:inline-flex}.sand3d-copy-code-btn{color:#c7d2fe;cursor:pointer;background:#6366f12e;border:1px solid #818cf84d;border-radius:6px;align-items:center;gap:5px;padding:4px 10px;font-size:.76rem;font-weight:600;transition:all .15s;display:inline-flex}.sand3d-copy-code-btn:hover{color:#fff;background:#6366f159}.sand3d-joints-summary{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.25rem;display:grid}.summary-card{background:#0f172a99;border:1px solid #94a3b833;border-radius:10px;align-items:center;gap:12px;padding:.9rem 1.1rem;display:flex}.summary-card svg{color:#38bdf8;flex-shrink:0}.summary-card strong{color:#f1f5f9;font-size:.95rem;display:block}.summary-card span{color:#94a3b8;font-size:.75rem}.sand3d-joints-pane h3,.sand3d-usd-pane h3{color:#f1f5f9;letter-spacing:-.01em;margin:0 0 1rem;font-size:1.1rem;font-weight:700}.sand3d-joints-table-box{border:1px solid #94a3b833;border-radius:8px;overflow-x:auto}.sand3d-joints-table{border-collapse:collapse;text-align:left;width:100%;min-width:500px;font-size:.84rem}.sand3d-joints-table th{color:#94a3b8;background:#080d15;border-bottom:1px solid #94a3b833;padding:.75rem 1rem;font-weight:600}.sand3d-joints-table td{color:#e2e8f0;border-bottom:1px solid #94a3b81a;padding:.75rem 1rem}.sand3d-joints-table tr:last-child td{border-bottom:none}.joint-kind-badge{letter-spacing:.04em;border-radius:4px;padding:2px 7px;font-size:.7rem;font-weight:700}.joint-kind-badge.kind-revolute{color:#fbbf24;background:#fbbf2426;border:1px solid #fbbf2459}.joint-kind-badge.kind-prismatic{color:#38bdf8;background:#38bdf826;border:1px solid #38bdf859}.joint-kind-badge.kind-fixed{color:#94a3b8;background:#94a3b826;border:1px solid #94a3b84d}.joint-axis-pill{color:#a5b4fc;background:#1e293bb3;border-radius:4px;padding:2px 6px;font-size:.74rem;font-weight:600}.joint-range-box{font-family:var(--font-mono,monospace);color:#cbd5e1;font-size:.78rem}.no-joints-row{text-align:center;color:#94a3b8;padding:2rem!important}.sand3d-usd-desc{color:#cbd5e1;margin-bottom:1.25rem;font-size:.88rem;line-height:1.6}.sand3d-meta-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.meta-card{background:#0f172a99;border:1px solid #94a3b826;border-radius:8px;flex-direction:column;gap:.3rem;padding:1.1rem;display:flex}.meta-card label{color:#94a3b8;text-transform:uppercase;letter-spacing:.03em;font-size:.74rem;font-weight:600}.meta-card span{color:#f1f5f9;font-size:.92rem;font-weight:600}.sand3d-exp-empty-state{color:#94a3b8;justify-content:center;align-items:center;min-height:480px;font-size:.95rem;display:flex}@media (max-width:960px){.sand3d-exp-workspace{grid-template-columns:310px minmax(0,1fr);gap:1rem}.sand3d-3d-viewport{height:440px}}@media (max-width:820px){.sand3d-explorer-page{width:100%;padding:1rem 12px 3rem}.sand3d-mobile-switcher{display:grid}.sand3d-exp-workspace{grid-template-columns:1fr;gap:1rem}.sand3d-exp-list-pane{max-height:none;overflow-y:visible}.sand3d-exp-list-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.mobile-hidden,.sand3d-mobile-hidden,.mobile-hide-controls{display:none!important}.sand3d-mobile-back-bar{display:block}.sand3d-3d-viewport{height:380px}.sand3d-exp-header-left{gap:.75rem}.sand3d-exp-title-box h1{font-size:1.25rem}}@media (max-width:480px){.sand3d-exp-list-grid{grid-template-columns:1fr}.sand3d-exp-filters{gap:.6rem}.sand3d-exp-dataset-select{width:100%}.sand3d-exp-total-counter{justify-content:center;width:100%;margin-left:0}}.sand3d-progress-overlay{z-index:15;-webkit-backdrop-filter:blur(12px);pointer-events:none;background:#070b12c7;flex-direction:column;justify-content:center;align-items:center;transition:opacity .3s,visibility .3s;display:flex;position:absolute;inset:0}.sand3d-progress-card{text-align:center;background:linear-gradient(170deg,#131b2bf0,#0b101af7);border:1px solid #94a3b838;border-radius:20px;flex-direction:column;align-items:center;width:90%;max-width:360px;padding:24px 28px;display:flex;box-shadow:0 20px 50px #0000008c,0 0 30px #10b9811f}.sand3d-progress-ring-box{justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:14px;display:flex;position:relative}.sand3d-progress-spinner{border:3px solid #10b981;border-color:#10b981 #06b6d4 #94a3b826 #94a3b826;border-radius:50%;width:100%;height:100%;animation:1s cubic-bezier(.4,0,.2,1) infinite sand3d-spin}.sand3d-progress-percent{font-family:var(--font-mono,monospace);letter-spacing:-.02em;background:linear-gradient(135deg,#34d399,#38bdf8);color:#0000;-webkit-background-clip:text;background-clip:text;margin-bottom:8px;font-size:1.6rem;font-weight:800;line-height:1}.sand3d-progress-phase{color:#f1f5f9;letter-spacing:.02em;margin-bottom:14px;font-size:.78rem;font-weight:600}.sand3d-progress-track{background:#0f172ad9;border:1px solid #94a3b826;border-radius:9999px;width:100%;height:6px;position:relative;overflow:hidden}.sand3d-progress-fill{background:linear-gradient(90deg,#10b981 0%,#06b6d4 50%,#3b82f6 100%);border-radius:9999px;height:100%;transition:width .12s ease-out;box-shadow:0 0 12px #06b6d499}.sand3d-progress-detail{width:100%;font-family:var(--font-mono,monospace);color:#64748b;justify-content:space-between;align-items:center;margin-top:10px;font-size:.68rem;display:flex}
