.viewer-frame.svelte-15s3lr8{touch-action:none;background:#120805;border:1px solid #ffd3b229;border-radius:24px;height:clamp(460px,100vh - 132px,660px);position:relative;overflow:hidden;box-shadow:inset 1px 1px #ffecdc1a,inset -1px -1px #0000006b,0 26px 68px #0000006b}canvas.svelte-15s3lr8{cursor:grab;width:100%;height:100%;transition:filter .18s,opacity .18s;display:block}canvas.svelte-15s3lr8:active{cursor:grabbing}.viewer-frame.updating.svelte-15s3lr8 canvas:where(.svelte-15s3lr8){filter:blur(2px);opacity:.68}.viewer-badge.svelte-15s3lr8,.axis-legend.svelte-15s3lr8,.mode-tools.svelte-15s3lr8,.reset-tool.svelte-15s3lr8,.viewer-fallback.svelte-15s3lr8,.viewer-progress.svelte-15s3lr8{color:#ffbd86;text-transform:uppercase;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#1e0d08c7;border:1px solid #ffccaa2e;font-size:.74rem;font-weight:800;position:absolute}.viewer-badge.svelte-15s3lr8{letter-spacing:.04em;border-radius:999px;min-height:40px;padding:10px 14px;bottom:18px;left:18px}.viewer-fallback.svelte-15s3lr8{color:#ffe6d8;text-align:center;text-transform:none;border-radius:16px;width:min(76%,380px);padding:16px;line-height:1.45;top:50%;left:50%;transform:translate(-50%,-50%)}.viewer-progress.svelte-15s3lr8{color:#ffe6d8;text-transform:uppercase;pointer-events:none;border-radius:999px;align-items:center;gap:10px;padding:12px 14px;font-size:.78rem;font-weight:900;display:inline-flex;top:50%;left:50%;transform:translate(-50%,-50%)}.viewer-progress.svelte-15s3lr8 i:where(.svelte-15s3lr8){border:2px solid #ffbd863d;border-top-color:#ffbd86;border-radius:999px;width:18px;height:18px;animation:.76s linear infinite svelte-15s3lr8-preview-spin}@keyframes svelte-15s3lr8-preview-spin{to{transform:rotate(360deg)}}.mode-tools.svelte-15s3lr8{border-radius:14px;gap:6px;padding:6px;display:inline-flex;top:18px;right:18px}.reset-tool.svelte-15s3lr8{color:#ffbd86;cursor:pointer;background:#14080433;border-radius:12px;place-items:center;width:38px;height:38px;display:grid;top:18px;left:18px}.reset-tool.svelte-15s3lr8:hover{color:#ffe6d8;background:#ffbd8629}.mode-tools.svelte-15s3lr8 button:where(.svelte-15s3lr8),.axis-legend.svelte-15s3lr8 button:where(.svelte-15s3lr8){color:#ffbd86;cursor:pointer;width:38px;min-height:38px;font:inherit;text-transform:uppercase;background:#ffbd861a;border:1px solid #ffccaa29;border-radius:10px;justify-content:center;align-items:center;gap:7px;font-size:.72rem;font-weight:900;display:inline-flex}.mode-tools.svelte-15s3lr8 button:where(.svelte-15s3lr8):hover,.mode-tools.svelte-15s3lr8 button.active:where(.svelte-15s3lr8){color:#ffe6d8;background:#ffbd8633}.axis-legend.svelte-15s3lr8{border-radius:12px;gap:8px;padding:9px 10px;display:inline-flex;bottom:18px;right:18px}.axis-legend.svelte-15s3lr8 button:where(.svelte-15s3lr8){color:#140b08;border:0;width:28px;height:28px;min-height:28px;padding:0}.x-axis.svelte-15s3lr8{background:#ff5b45!important}.y-axis.svelte-15s3lr8{background:#58d36b!important}.z-axis.svelte-15s3lr8{background:#57a7ff!important}@media (width<=760px){.viewer-frame.svelte-15s3lr8{aspect-ratio:.92;border-radius:20px;height:auto;min-height:360px}.mode-tools.svelte-15s3lr8{left:14px;right:14px;overflow-x:auto}.viewer-badge.svelte-15s3lr8{bottom:14px;left:14px}.axis-legend.svelte-15s3lr8{bottom:68px;left:14px;right:auto}}
