:root{--pm3d-viewer-font-family: "Inter", system-ui, sans-serif;--pm3d-viewer-font-size-base: 14px;--pm3d-viewer-font-size-small: 12px;--pm3d-viewer-font-weight-medium: 500;--pm3d-viewer-font-weight-semibold: 600;--pm3d-viewer-width: 100%;--pm3d-viewer-height: 100%;--pm3d-viewer-min-height: 400px;--pm3d-viewer-max-height: none;--pm3d-viewer-bg-primary: linear-gradient(135deg, #f8fafc 0%, #e2e8f0 100%);--pm3d-viewer-bg-transparent: transparent;--pm3d-viewer-bg-loading: rgba(248, 250, 252, .9);--pm3d-viewer-text-primary: #1e293b;--pm3d-viewer-text-secondary: #64748b;--pm3d-viewer-border-radius: var(--radius-2);--pm3d-viewer-border-color: #e2e8f0;--pm3d-viewer-shadow-light: 0 2px 8px var(--black-10);--pm3d-viewer-shadow-medium: 0 4px 20px var(--black-10);--pm3d-viewer-loading-bg: rgba(248, 250, 252, .95);--pm3d-viewer-spinner-size: 40px;--pm3d-viewer-spinner-border: 4px solid #e2e8f0;--pm3d-viewer-spinner-border-active: 4px solid #3b82f6;--pm3d-viewer-spacing-sm: 8px;--pm3d-viewer-spacing-md: 16px;--pm3d-viewer-spacing-lg: 24px;--pm3d-viewer-spacing-xl: 32px;--pm3d-viewer-transition-fast: .2s ease;--pm3d-viewer-transition-medium: .3s ease;--pm3d-viewer-z-loading: 100;--pm3d-viewer-z-controls: 50}.pm3d-model-viewer{position:relative;width:var(--pm3d-viewer-width);height:var(--pm3d-viewer-height);min-height:var(--pm3d-viewer-min-height);max-height:var(--pm3d-viewer-max-height);background:var(--pm3d-viewer-bg-primary);display:block;overflow:hidden;box-sizing:border-box;font-family:var(--pm3d-viewer-font-family);border-radius:var(--pm3d-viewer-border-radius)}.pm3d-model-viewer.pm3d-transparent-bg{background:var(--pm3d-viewer-bg-transparent)}.pm3d-viewer-canvas-container{width:100%;height:100%;position:relative;overflow:hidden;box-sizing:border-box}.pm3d-model-viewer :global(canvas){width:100%!important;height:100%!important;display:block;box-sizing:border-box}.pm3d-viewer-canvas-container :global([data-threlte]){width:100%;height:100%;position:relative}.pm3d-viewer-loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--pm3d-viewer-loading-bg);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:var(--pm3d-viewer-z-loading)}.pm3d-viewer-loading-spinner{width:var(--pm3d-viewer-spinner-size);height:var(--pm3d-viewer-spinner-size);border:var(--pm3d-viewer-spinner-border);border-top:var(--pm3d-viewer-spinner-border-active);border-radius:50%;animation:pm3d-viewer-spin 1s linear infinite;margin-bottom:1rem}@keyframes pm3d-viewer-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pm3d-viewer-loading-text{color:var(--pm3d-viewer-text-secondary);font-weight:var(--pm3d-viewer-font-weight-medium);font-size:var(--pm3d-viewer-font-size-base);margin:0}.pm3d-viewer-browser-check{display:flex;align-items:center;justify-content:center;height:100%;color:var(--pm3d-viewer-text-secondary);font-size:var(--pm3d-viewer-font-size-base)}.pm3d-viewer-error-overlay{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--pm3d-viewer-loading-bg);z-index:var(--pm3d-viewer-z-loading);color:#ef4444}.pm3d-viewer-error-text{margin:0;font-size:var(--pm3d-viewer-font-size-base);font-weight:var(--pm3d-viewer-font-weight-medium);font-family:var(--pm3d-viewer-font-family)}.pm3d-viewer-controls{position:absolute;bottom:var(--pm3d-viewer-spacing-md);left:var(--pm3d-viewer-spacing-md);right:var(--pm3d-viewer-spacing-md);z-index:var(--pm3d-viewer-z-controls);display:flex;justify-content:center;gap:var(--pm3d-viewer-spacing-sm)}.pm3d-viewer-control-button{background:var(--white-90);border:1px solid var(--pm3d-viewer-border-color);border-radius:var(--pm3d-viewer-border-radius);padding:var(--pm3d-viewer-spacing-sm) var(--pm3d-viewer-spacing-md);font-size:var(--pm3d-viewer-font-size-small);font-weight:var(--pm3d-viewer-font-weight-medium);color:var(--pm3d-viewer-text-primary);cursor:pointer;transition:all var(--pm3d-viewer-transition-fast);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.pm3d-viewer-control-button:hover{background:var(--neutral-0);transform:translateY(-1px);box-shadow:var(--pm3d-viewer-shadow-light)}.pm3d-viewer-control-button:active{transform:translateY(0)}@media(max-width:768px){.pm3d-model-viewer{min-height:300px}.pm3d-viewer-controls{bottom:var(--pm3d-viewer-spacing-sm);left:var(--pm3d-viewer-spacing-sm);right:var(--pm3d-viewer-spacing-sm)}.pm3d-viewer-control-button{padding:var(--pm3d-viewer-spacing-sm);font-size:var(--pm3d-viewer-font-size-small)}.pm3d-viewer-loading-spinner{width:calc(var(--pm3d-viewer-spinner-size) * .8);height:calc(var(--pm3d-viewer-spinner-size) * .8)}}@media screen and (orientation:landscape)and (max-height:500px)and (max-width:926px){.pm3d-model-viewer{min-height:250px}}@media screen and (max-width:926px)and (orientation:landscape){.pm3d-viewer-canvas-container{width:calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right));max-width:calc(100vw - env(safe-area-inset-left) - env(safe-area-inset-right))}}@media print{.pm3d-model-viewer{break-inside:avoid;box-shadow:none;border:1px solid var(--pm3d-viewer-border-color)}.pm3d-viewer-loading-overlay,.pm3d-viewer-controls{display:none}}@media(prefers-contrast:high){.pm3d-model-viewer{border:2px solid var(--pm3d-viewer-text-primary)}.pm3d-viewer-control-button{border:2px solid var(--pm3d-viewer-text-primary);background:#fff}}@media(prefers-reduced-motion:reduce){.pm3d-viewer-loading-spinner{animation:none}.pm3d-viewer-control-button{transition:none}.pm3d-viewer-control-button:hover{transform:none}}.base-window.svelte-1n4kjlj{background-image:linear-gradient(210deg,var(--white-40) 0%,rgba(245,245,245,.4) 100%);border-radius:12px;box-shadow:0 8px 32px var(--black-15);overflow:hidden;-webkit-user-select:none;user-select:none;transition:transform .2s ease}.base-window.color-configurator.svelte-1n4kjlj{max-width:400px;min-width:320px}.base-window.control-panel.svelte-1n4kjlj{max-width:325px;min-width:275px}.base-window.minimized.svelte-1n4kjlj{height:auto!important}.base-window.dragging.svelte-1n4kjlj{transform:scale(1.02);box-shadow:0 12px 40px var(--black-25);transition:none}.base-window.mobile.svelte-1n4kjlj{max-width:calc(100% - 10px)}.window-header.svelte-1n4kjlj{background:#80808080;color:#fff;padding:.5rem 1.1rem;cursor:move;display:flex;justify-content:space-between;align-items:center;position:relative}.minimized.svelte-1n4kjlj .window-header:where(.svelte-1n4kjlj){border-radius:12px}.window-header.svelte-1n4kjlj h3:where(.svelte-1n4kjlj){margin:0;font-size:1rem;font-weight:var(--font-weight-semibold)}.minimize-btn.svelte-1n4kjlj{background:none;border:none;color:#fff;font-size:1.2rem;cursor:pointer;padding:0;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-1);transition:background-color .2s}.minimize-btn.svelte-1n4kjlj:hover{background:var(--white-20)}.window-content.svelte-1n4kjlj{max-height:70vh;overflow-y:auto}.color-configurator.svelte-1n4kjlj .window-content:where(.svelte-1n4kjlj){padding:.5rem}.control-panel.svelte-1n4kjlj .window-content:where(.svelte-1n4kjlj){padding:20px}@media(max-width:768px){.base-window.svelte-1n4kjlj{max-width:calc(100% - 10px);min-width:0}.color-configurator.svelte-1n4kjlj .window-content:where(.svelte-1n4kjlj){padding:.35rem}.window-content.svelte-1n4kjlj{padding:15px;max-height:60vh}}:root{--pm3d-config-font-family: "Inter", system-ui, sans-serif;--pm3d-config-font-size-base: .8rem;--pm3d-config-font-size-small: .7rem;--pm3d-config-font-size-tiny: .65rem;--pm3d-config-font-weight-normal: 400;--pm3d-config-font-weight-medium: 500;--pm3d-config-font-weight-semibold: 600;--pm3d-config-font-weight-bold: 700;--pm3d-config-bg-primary: transparent;--pm3d-config-bg-secondary: #f8fafc;--pm3d-config-bg-loading: rgba(248, 250, 252, .95);--pm3d-config-bg-selected-info: linear-gradient(90deg, rgba(214, 214, 214, .24) 20%, rgba(255, 255, 255, .56) 68%);--pm3d-config-text-primary: #1e293b;--pm3d-config-text-secondary: #64748b;--pm3d-config-text-muted: #9ca3af;--pm3d-config-text-white: white;--pm3d-config-border-light: #e5e7eb;--pm3d-config-border-medium: #d1d5db;--pm3d-config-border-dark: #9ca3af;--pm3d-config-button-bg: #f3f4f6;--pm3d-config-button-text: #374151;--pm3d-config-button-border: #e5e7eb;--pm3d-config-button-hover-border: #9ca3af;--pm3d-config-button-selected-border: #3b82f6;--pm3d-config-button-selected-shadow: rgba(59, 130, 246, .2);--pm3d-config-swatch-size: 32px;--pm3d-config-swatch-size-mobile: 26px;--pm3d-config-swatch-border: 2px solid var(--pm3d-config-border-light);--pm3d-config-swatch-border-selected: 2px solid var(--pm3d-config-button-selected-border);--pm3d-config-swatch-shadow-selected: 0 0 0 3px var(--pm3d-config-button-selected-shadow);--pm3d-config-group-btn-size: 40px;--pm3d-config-group-btn-size-mobile: 32px;--pm3d-config-group-btn-font-size: 14px;--pm3d-config-group-btn-font-size-mobile: 12px;--pm3d-config-spacing-xs: 4px;--pm3d-config-spacing-sm: 6px;--pm3d-config-spacing-md: 8px;--pm3d-config-spacing-lg: 12px;--pm3d-config-spacing-xl: 16px;--pm3d-config-spacing-2xl: 24px;--pm3d-config-radius-sm: 6px;--pm3d-config-radius-md: 12px;--pm3d-config-radius-circle: 50%;--pm3d-config-color-grid-cols: repeat(8, 1fr);--pm3d-config-group-grid-cols: repeat(auto-fit, minmax(40px, 1fr));--pm3d-config-balloons-grid-cols: repeat(auto-fit, minmax(35px, 1fr));--pm3d-config-alternating-grid-cols: repeat(2, 1fr);--pm3d-config-all-grid-cols: 1fr;--pm3d-config-all-grid-max-width: 120px;--pm3d-config-transition-fast: .2s ease;--pm3d-config-transition-medium: .3s ease;--pm3d-config-scale-hover: 1.05;--pm3d-config-scale-swatch-hover: 1.1;--pm3d-config-shadow-light: 0 2px 8px var(--black-15);--pm3d-config-shadow-medium: 0 4px 12px var(--black-15);--pm3d-config-spinner-size: 32px;--pm3d-config-spinner-border: 3px solid #e5e7eb;--pm3d-config-spinner-border-active: 3px solid #3b82f6}.pm3d-configurator-window{background:var(--pm3d-config-bg-primary);border-radius:var(--pm3d-config-radius-md);overflow:hidden;width:100%;font-family:var(--pm3d-config-font-family)}.pm3d-configurator-content{padding:var(--pm3d-config-spacing-md);max-height:70vh;overflow-y:auto}.pm3d-configurator-groups-section{padding:0}.pm3d-configurator-loading-state,.pm3d-configurator-no-config-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;color:var(--pm3d-config-text-secondary)}.pm3d-configurator-help-text{font-size:var(--pm3d-config-font-size-base);color:var(--pm3d-config-text-muted);margin-top:var(--pm3d-config-spacing-md)}.pm3d-configurator-spinner{width:var(--pm3d-config-spinner-size);height:var(--pm3d-config-spinner-size);border:var(--pm3d-config-spinner-border);border-top:var(--pm3d-config-spinner-border-active);border-radius:var(--pm3d-config-radius-circle);animation:pm3d-spin 1s linear infinite;margin-bottom:var(--pm3d-config-spacing-xl)}@keyframes pm3d-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pm3d-configurator-color-palette{margin-bottom:1.5rem}.pm3d-configurator-color-grid{display:grid;grid-template-columns:var(--pm3d-config-color-grid-cols);gap:var(--pm3d-config-spacing-sm);margin-bottom:1rem}.pm3d-configurator-color-swatch{width:var(--pm3d-config-swatch-size);height:var(--pm3d-config-swatch-size);border:var(--pm3d-config-swatch-border);border-radius:var(--pm3d-config-radius-circle);cursor:pointer;position:relative;transition:all var(--pm3d-config-transition-fast);display:flex;align-items:center;justify-content:center}.pm3d-configurator-color-swatch:hover{transform:scale(var(--pm3d-config-scale-swatch-hover));box-shadow:var(--pm3d-config-shadow-medium)}.pm3d-configurator-color-swatch.pm3d-selected{border:var(--pm3d-config-swatch-border-selected);box-shadow:var(--pm3d-config-swatch-shadow-selected)}.pm3d-configurator-checkmark{color:var(--pm3d-config-text-white);font-weight:var(--pm3d-config-font-weight-bold);font-size:14px;text-shadow:1px 1px 2px var(--black-80)}.pm3d-configurator-selected-color-info{display:flex;align-items:center;gap:var(--pm3d-config-spacing-md);font-size:var(--pm3d-config-font-size-base);color:var(--pm3d-config-text-secondary);padding:var(--pm3d-config-spacing-md);background-image:var(--pm3d-config-bg-selected-info);border-radius:var(--pm3d-config-radius-sm);margin-bottom:1rem}.pm3d-configurator-color-preview{width:var(--pm3d-config-spacing-xl);height:var(--pm3d-config-spacing-xl);border:1px solid var(--pm3d-config-border-medium);border-radius:var(--pm3d-config-radius-circle)}.pm3d-configurator-group-controls{display:flex;flex-direction:column;gap:var(--pm3d-config-spacing-md)}.pm3d-configurator-model-section h5{margin:0 0 var(--pm3d-config-spacing-md) 0;font-size:var(--pm3d-config-font-size-base);font-weight:var(--pm3d-config-font-weight-semibold);color:var(--pm3d-config-text-primary);text-transform:uppercase;letter-spacing:.5px}.pm3d-configurator-spiral-grid,.pm3d-configurator-layer-grid,.pm3d-configurator-spirals-grid,.pm3d-configurator-layers-grid,.pm3d-configurator-balloons-grid,.pm3d-configurator-alternating-grid,.pm3d-configurator-all-grid{display:grid;grid-template-columns:var(--pm3d-config-group-grid-cols);gap:var(--pm3d-config-spacing-md);margin-bottom:var(--pm3d-config-spacing-md)}.pm3d-configurator-balloons-grid{grid-template-columns:var(--pm3d-config-balloons-grid-cols);gap:var(--pm3d-config-spacing-sm)}.pm3d-configurator-alternating-grid{grid-template-columns:var(--pm3d-config-alternating-grid-cols);gap:var(--pm3d-config-spacing-lg)}.pm3d-configurator-all-grid{grid-template-columns:var(--pm3d-config-all-grid-cols);max-width:var(--pm3d-config-all-grid-max-width)}.pm3d-configurator-group-btn-circle{width:var(--pm3d-config-group-btn-size);height:var(--pm3d-config-group-btn-size);border:2px solid var(--pm3d-config-button-border);border-radius:var(--pm3d-config-radius-circle);background:var(--pm3d-config-button-bg);color:var(--pm3d-config-button-text);cursor:pointer;transition:all var(--pm3d-config-transition-fast);display:flex;align-items:center;justify-content:center;font-weight:var(--pm3d-config-font-weight-semibold);font-size:var(--pm3d-config-group-btn-font-size)}.pm3d-configurator-group-btn-circle:hover,.pm3d-configurator-group-btn-circle:focus{border-color:var(--pm3d-config-button-hover-border);transform:scale(var(--pm3d-config-scale-hover));box-shadow:var(--pm3d-config-shadow-light)}.pm3d-configurator-group-btn-circle.pm3d-colored{color:var(--pm3d-config-text-white);text-shadow:1px 1px 2px var(--black-50)}@media(max-width:768px){.pm3d-configurator-color-palette{margin-bottom:var(--pm3d-config-spacing-sm)}.pm3d-configurator-color-grid{grid-template-columns:var(--pm3d-config-color-grid-cols);gap:3px;margin-bottom:var(--pm3d-config-spacing-sm)}.pm3d-configurator-color-swatch{width:24px;height:24px;border:1px solid var(--pm3d-config-border-light)}.pm3d-configurator-checkmark{font-size:11px}.pm3d-configurator-group-btn-circle{width:28px;height:28px;font-size:var(--pm3d-config-group-btn-font-size-mobile)}.pm3d-configurator-balloons-grid{grid-template-columns:repeat(auto-fit,minmax(28px,1fr));gap:var(--pm3d-config-spacing-xs)}.pm3d-configurator-alternating-grid{grid-template-columns:repeat(2,1fr);gap:var(--pm3d-config-spacing-md)}.pm3d-configurator-selected-color-info{font-size:var(--pm3d-config-font-size-small);gap:var(--pm3d-config-spacing-sm);margin-bottom:var(--pm3d-config-spacing-md)}.pm3d-configurator-color-preview{width:12px;height:12px}}.lighting-controls.svelte-1wmvd12{position:relative;margin-top:15px;z-index:200;font-family:Raleway,sans-serif;font-size:12px}.controls-panel.svelte-1wmvd12{background:var(--white-95);border-radius:var(--radius-2);padding:12px;margin-top:8px;box-shadow:0 4px 20px var(--black-15);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid var(--white-20);max-height:60vh;overflow-y:auto;width:280px}.panel-header.svelte-1wmvd12{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #e5e7eb}.panel-header.svelte-1wmvd12 h4:where(.svelte-1wmvd12){margin:0;font-size:14px;color:#374151}.reset-btn.svelte-1wmvd12{background:#ef4444;color:#fff;border:none;padding:4px 8px;border-radius:var(--radius-1);cursor:pointer;font-size:10px;transition:background .2s}.reset-btn.svelte-1wmvd12:hover{background:#dc2626}.presets.svelte-1wmvd12{margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid #e5e7eb}.presets.svelte-1wmvd12 label:where(.svelte-1wmvd12){display:block;font-weight:var(--font-weight-semibold);color:#374151;margin-bottom:6px}.preset-buttons.svelte-1wmvd12{display:flex;gap:6px}.preset-buttons.svelte-1wmvd12 button:where(.svelte-1wmvd12){background:#f3f4f6;border:1px solid #d1d5db;padding:4px 8px;border-radius:var(--radius-1);cursor:pointer;font-size:10px;transition:all .2s}.preset-buttons.svelte-1wmvd12 button:where(.svelte-1wmvd12):hover{background:#e5e7eb;border-color:#9ca3af}.light-group.svelte-1wmvd12{margin-bottom:16px;padding:8px;background:#f9fafbcc;border-radius:6px;border:1px solid rgba(229,231,235,.8)}.light-group.svelte-1wmvd12 h5:where(.svelte-1wmvd12){margin:0 0 8px;font-size:12px;color:#111827;font-weight:var(--font-weight-semibold)}.control-row.svelte-1wmvd12{display:flex;align-items:center;margin-bottom:6px;gap:8px}.control-row.svelte-1wmvd12 label:where(.svelte-1wmvd12){min-width:70px;font-size:10px;color:#6b7280;font-weight:var(--font-weight-medium)}.control-row.svelte-1wmvd12 input[type=range]:where(.svelte-1wmvd12){flex:1;height:4px;border-radius:2px;background:#d1d5db;outline:none;-webkit-appearance:none;-moz-appearance:none;appearance:none}.control-row.svelte-1wmvd12 input[type=range]:where(.svelte-1wmvd12)::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:#6366f1;cursor:pointer}.control-row.svelte-1wmvd12 span:where(.svelte-1wmvd12){min-width:30px;font-size:10px;color:#374151;font-weight:var(--font-weight-medium);text-align:right}.controls-panel.svelte-1wmvd12::-webkit-scrollbar{width:4px}.controls-panel.svelte-1wmvd12::-webkit-scrollbar-track{background:#f1f5f9;border-radius:2px}.controls-panel.svelte-1wmvd12::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:2px}.controls-panel.svelte-1wmvd12::-webkit-scrollbar-thumb:hover{background:#94a3b8}.error-boundary.svelte-dxfjjk{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--black-80);display:flex;align-items:center;justify-content:center;z-index:10000;font-family:Raleway,sans-serif}.error-card.svelte-dxfjjk{background:#fff;border-radius:12px;padding:32px;max-width:500px;margin:20px;box-shadow:0 20px 40px var(--black-30);text-align:center}.error-icon.svelte-dxfjjk{font-size:48px;margin-bottom:16px}.error-card.svelte-dxfjjk h3:where(.svelte-dxfjjk){color:#dc2626;margin:0 0 16px;font-size:24px;font-weight:var(--font-weight-semibold)}.error-message.svelte-dxfjjk{color:#374151;margin:0 0 24px;font-size:16px;line-height:1.5}.error-actions.svelte-dxfjjk{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:24px}.error-actions.svelte-dxfjjk button:where(.svelte-dxfjjk){padding:10px 20px;border:none;border-radius:var(--radius-2);font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s;font-size:14px}.retry-btn.svelte-dxfjjk{background:#10b981;color:#fff}.retry-btn.svelte-dxfjjk:hover{background:#059669;transform:translateY(-1px)}.reload-btn.svelte-dxfjjk{background:#3b82f6;color:#fff}.reload-btn.svelte-dxfjjk:hover{background:#2563eb;transform:translateY(-1px)}.details-btn.svelte-dxfjjk{background:#6b7280;color:#fff}.details-btn.svelte-dxfjjk:hover{background:#4b5563;transform:translateY(-1px)}.error-details.svelte-dxfjjk{text-align:left;margin-top:20px;border-top:1px solid #e5e7eb;padding-top:20px}.error-details.svelte-dxfjjk summary:where(.svelte-dxfjjk){cursor:pointer;font-weight:var(--font-weight-semibold);color:#374151;margin-bottom:12px}.error-stack.svelte-dxfjjk{background:#f3f4f6;padding:16px;border-radius:6px;font-size:12px;color:#374151;overflow-x:auto;white-space:pre-wrap;max-height:200px;overflow-y:auto}.error-help.svelte-dxfjjk{text-align:left;background:#f8fafc;padding:20px;border-radius:var(--radius-2);margin-top:20px;border:1px solid #e2e8f0}.error-help.svelte-dxfjjk p:where(.svelte-dxfjjk){margin:0 0 12px;color:#1f2937;font-weight:var(--font-weight-semibold)}.error-help.svelte-dxfjjk ul:where(.svelte-dxfjjk){margin:0;padding-left:20px;color:#374151;line-height:1.6}.error-help.svelte-dxfjjk li:where(.svelte-dxfjjk){margin-bottom:4px}.pilamania-embedded.svelte-poe0bj{position:relative;width:100%;height:100%;overflow:hidden;isolation:isolate;font-family:var(--font-family);box-sizing:border-box;display:flex;flex-direction:column}.pilamania-embedded.transparent-bg.svelte-poe0bj{background:transparent}.pilamania-embedded.display-only.svelte-poe0bj{padding:0;margin:0}.pilamania-embedded.svelte-poe0bj :where(.svelte-poe0bj){box-sizing:border-box}.app.svelte-poe0bj{width:100%;height:100%;overflow:hidden;position:relative;flex:1;min-height:0}.loading-overlay.svelte-poe0bj{position:absolute;top:0;left:0;right:0;bottom:0;background:var(--white-95);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999}.loading-spinner.svelte-poe0bj{width:50px;height:50px;border:4px solid #e5e7eb;border-top-color:var(--primary-color);border-radius:50%;animation:svelte-poe0bj-spin 1s linear infinite}@keyframes svelte-poe0bj-spin{to{transform:rotate(360deg)}}.loading-overlay.svelte-poe0bj p:where(.svelte-poe0bj){margin-top:20px;color:#6b7280;font-size:16px}.canvas-top-button.svelte-poe0bj{position:absolute;top:10px;width:40px;height:40px;border:none;border-radius:50%;font-size:18px;cursor:pointer;transition:all .2s ease;z-index:1000;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 10px var(--black-10)}.canvas-top-button.svelte-poe0bj:hover{transform:scale(1.1);box-shadow:0 4px 15px var(--black-20)}.party-button.svelte-poe0bj{right:10px;background:#22c55ee6;transition:background-color .3s ease,transform .2s ease}.party-button.svelte-poe0bj:hover{background:#15803df2}.party-button.active.svelte-poe0bj{background:#ef4444e6}.party-button.active.svelte-poe0bj:hover{background:#dc2626f2}.capture-button.svelte-poe0bj{right:60px;background:#10b981e6}.capture-button.svelte-poe0bj:hover{background:#059669f2}.lights-button.svelte-poe0bj{right:110px;background:#22c55ee6;transition:background-color .3s ease,transform .2s ease}.lights-button.svelte-poe0bj:hover{background:#15803df2}.lights-button.active.svelte-poe0bj{background:#ef4444e6}.lights-button.active.svelte-poe0bj:hover{background:#dc2626f2}.lighting-controls-container.svelte-poe0bj{position:absolute;top:60px;right:10px;z-index:1000}.dance-move-selector.svelte-poe0bj{position:absolute;top:55px;right:10px;display:flex;flex-direction:column;gap:4px;z-index:1000;animation:svelte-poe0bj-fadeInSlide .3s ease-out}@keyframes svelte-poe0bj-fadeInSlide{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dance-move-btn.svelte-poe0bj{width:36px;height:36px;border:none;border-radius:50%;font-size:16px;cursor:pointer;background:var(--white-80);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 2px 8px var(--black-10);transition:all .2s ease}.dance-move-btn.svelte-poe0bj:hover{transform:scale(1.15);box-shadow:0 4px 12px var(--black-20)}.dance-move-btn.active.svelte-poe0bj{background:#22c55ee6;box-shadow:0 0 0 2px #22c55e66}:root{--pm3d-selector-font-family: "Inter", system-ui, sans-serif;--pm3d-selector-font-size-base: .875rem;--pm3d-selector-font-size-title: 1.25rem;--pm3d-selector-font-size-badge: .75rem;--pm3d-selector-font-weight-normal: 400;--pm3d-selector-font-weight-semibold: 600;--pm3d-selector-font-weight-bold: 700;--pm3d-selector-primary-color: #009E49;--pm3d-selector-primary-light: #8CD600;--pm3d-selector-primary-dark: #007d3a;--pm3d-selector-text-primary: var(--midnight-blue);--pm3d-selector-text-secondary: var(--text-dark-primary);--pm3d-selector-surface-white: var(--teal);--pm3d-selector-surface-light: #f8fafc;--pm3d-selector-border-light: #e2e8f0;--pm3d-selector-tile-gap: 24px;--pm3d-selector-tile-gap-mobile: 16px;--pm3d-selector-border-radius: var(--radius-3);--pm3d-selector-border-radius-small: 8px;--pm3d-selector-border-radius-badge: 12px;--pm3d-selector-padding-container: 20px;--pm3d-selector-padding-tile: 20px;--pm3d-selector-padding-tile-mobile: 16px;--pm3d-selector-carousel-padding: 20px 0;--pm3d-selector-slide-width-mobile: calc(100vw - 80px) ;--pm3d-selector-slide-width-small: 320px;--pm3d-selector-slide-width-medium: 400px;--pm3d-selector-slide-width-large: 380px;--pm3d-selector-slide-width-default: 280px;--pm3d-selector-nav-button-size: 48px;--pm3d-selector-nav-button-size-mobile: 44px;--pm3d-selector-nav-font-size: 24px;--pm3d-selector-nav-font-size-mobile: 22px;--pm3d-selector-nav-gap: 20px;--pm3d-selector-nav-gap-mobile: 16px;--pm3d-selector-nav-margin-top: 20px;--pm3d-selector-nav-margin-top-mobile: 16px;--pm3d-selector-dot-size: 12px;--pm3d-selector-dot-gap: 8px;--pm3d-selector-dot-margin-top: 20px;--pm3d-selector-tile-border-width: 3px;--pm3d-selector-tile-aspect-ratio: 1 / 1;--pm3d-selector-tile-shadow: 0 4px 4px -1px var(--black-10), 0 2px 4px -1px rgba(0, 0, 0, .06);--pm3d-selector-tile-shadow-hover: 0 8px 8px -2px var(--black-10), 0 5px 5px -2px rgba(0, 0, 0, .04);--pm3d-selector-tile-shadow-selected: 0 8px 8px -2px rgba(0, 158, 73, .1), 0 5px 5px -2px rgba(0, 158, 73, .04);--pm3d-selector-indicator-size: 32px;--pm3d-selector-indicator-position-top: 12px;--pm3d-selector-indicator-position-left: 12px;--pm3d-selector-btn-padding: 12px 16px;--pm3d-selector-btn-gap: 8px;--pm3d-selector-btn-transform-hover: translateY(0);--pm3d-selector-btn-transform-hidden: translateY(4px);--pm3d-selector-btn-transform-desktop-hidden: translateY(20px);--pm3d-selector-btn-opacity-visible: 1;--pm3d-selector-btn-opacity-hidden: .8;--pm3d-selector-btn-opacity-desktop-hidden: 0;--pm3d-selector-transition-fast: .2s ease;--pm3d-selector-transition-medium: .3s ease;--pm3d-selector-transition-tile: .3s cubic-bezier(.4, 0, .2, 1);--pm3d-selector-transition-indicator: .3s cubic-bezier(.68, -.55, .265, 1.55);--pm3d-selector-scale-hover: 1.05;--pm3d-selector-scale-button-hover: 1.1;--pm3d-selector-scale-button-selected: 1.2;--pm3d-selector-scale-dot-hover: 1.2;--pm3d-selector-scale-dot-selected: 1.3;--pm3d-selector-scale-nav-hover: 1.1;--pm3d-selector-scale-nav-disabled: .9;--pm3d-selector-tile-bg-gradient: var(--muted-lime);--pm3d-selector-badge-gradient: linear-gradient(135deg, var(--pm3d-selector-primary-color), var(--pm3d-selector-primary-light));--pm3d-selector-image-placeholder-gradient: linear-gradient(135deg, #f5f5f5 0%, #e0e0e0 100%);--pm3d-selector-nav-background: rgba(0, 158, 73, .9);--pm3d-selector-nav-background-hover: rgba(0, 158, 73, 1);--pm3d-selector-nav-background-disabled: rgba(100, 116, 139, .5);--pm3d-selector-dot-background: rgba(100, 116, 139, .3);--pm3d-selector-dot-background-hover: rgba(0, 158, 73, .6);--pm3d-selector-nav-shadow: 0 4px 12px var(--black-15);--pm3d-selector-nav-shadow-hover: 0 6px 16px var(--black-20);--pm3d-selector-backdrop-filter: blur(10px);--pm3d-selector-z-indicator: 10}.pm3d-embla{position:relative;width:100%;padding:var(--pm3d-selector-carousel-padding);font-family:var(--pm3d-selector-font-family)}.pm3d-embla__viewport{overflow:hidden;width:100%}.pm3d-embla__container{display:flex;margin-left:0;padding-top:2px;padding-bottom:8px}.pm3d-embla__slide{flex:0 0 auto;min-width:0;margin-right:var(--pm3d-selector-tile-gap);width:var(--pm3d-selector-slide-width-default)}.pm3d-embla__slide:last-child{margin-right:0}.pm3d-carousel-navigation{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);display:flex;justify-content:space-between;pointer-events:none;z-index:10;padding:0 var(--space-2, .5rem)}.pm3d-carousel-button{pointer-events:auto;width:48px;height:48px;border-radius:50%;background:#fff;border:2px solid var(--midnight-blue-10);box-shadow:0 4px 12px var(--black-10);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--midnight-blue);transition:all .3s ease;opacity:.9}.pm3d-carousel-button:hover:not(:disabled){background:var(--electric-purple-10);border-color:var(--electric-purple);transform:scale(1.1);opacity:1;box-shadow:0 6px 20px var(--electric-purple-25)}.pm3d-carousel-button:active:not(:disabled){transform:scale(.95)}.pm3d-carousel-button:disabled,.pm3d-carousel-button.disabled{opacity:.3;cursor:not-allowed}.pm3d-carousel-button svg{width:24px;height:24px}.pm3d-carousel-pagination{display:flex;justify-content:center;gap:var(--space-3, .75rem);margin-top:var(--space-8, 2rem);padding:var(--space-4, 1rem)}.pm3d-pagination-dot{width:12px;height:12px;border-radius:50%;background:var(--midnight-blue-25);border:1px solid var(--soft-white);cursor:pointer;transition:all .3s ease;padding:0}.pm3d-pagination-dot:hover{background:var(--electric-purple-50);transform:scale(1.2)}.pm3d-pagination-dot.active{background:var(--electric-purple);width:32px;border-radius:6px}@media(max-width:1024px){.pm3d-carousel-navigation{padding:0 var(--space-2, .5rem)}}@media(max-width:768px){.pm3d-carousel-button{width:40px;height:40px}.pm3d-carousel-button svg{width:20px;height:20px}.pm3d-carousel-navigation{padding:0}}@media(max-width:480px){.pm3d-carousel-button{width:36px;height:36px;opacity:.8}.pm3d-pagination-dot{width:10px;height:10px}.pm3d-pagination-dot.active{width:24px}}@media(prefers-reduced-motion:reduce){.pm3d-carousel-button,.pm3d-pagination-dot{transition:none}.pm3d-carousel-button:hover:not(:disabled){transform:none}}.pm3d-carousel-button:focus-visible,.pm3d-pagination-dot:focus-visible{outline:2px solid var(--electric-purple);outline-offset:2px}.pm3d-model-selector-container{display:grid;grid-template-columns:repeat(var(--columns),minmax(var(--min-width),1fr));gap:var(--pm3d-selector-tile-gap);padding:var(--pm3d-selector-padding-container) 0;font-family:var(--pm3d-selector-font-family)}.pm3d-model-tile{position:relative;background:var(--pm3d-selector-surface-white);border-radius:var(--pm3d-selector-border-radius);overflow:hidden;border:var(--pm3d-selector-tile-border-width) solid transparent;transition:all var(--pm3d-selector-transition-tile);cursor:pointer;box-shadow:var(--pm3d-selector-tile-shadow);display:flex;flex-direction:column;height:100%}.pm3d-model-tile:hover{box-shadow:var(--pm3d-selector-tile-shadow-hover);border-color:var(--pm3d-selector-primary-light)}.pm3d-model-tile.pm3d-selected{border-color:var(--pm3d-selector-primary-color);background:var(--pm3d-selector-tile-bg-gradient);box-shadow:var(--pm3d-selector-tile-shadow-selected)}.pm3d-model-tile.pm3d-hovered{box-shadow:var(--pm3d-selector-tile-shadow-hover);border-color:var(--pm3d-selector-primary-light)}.pm3d-tile-image-wrapper{position:relative;width:100%;aspect-ratio:var(--pm3d-selector-tile-aspect-ratio);overflow:hidden;background:var(--pm3d-selector-image-placeholder-gradient)}.pm3d-tile-image-wrapper picture{display:block;width:100%;height:100%}.pm3d-tile-image-wrapper img{width:100%;height:100%;object-fit:cover;transition:transform var(--pm3d-selector-transition-medium)}.pm3d-model-tile:hover .pm3d-tile-image-wrapper img{transform:scale(var(--pm3d-selector-scale-hover))}.pm3d-selection-indicator{position:absolute;top:var(--pm3d-selector-indicator-position-top);left:var(--pm3d-selector-indicator-position-left);width:var(--pm3d-selector-indicator-size);height:var(--pm3d-selector-indicator-size);background:var(--pm3d-selector-primary-color);border-radius:50%;display:flex;align-items:center;justify-content:center;transform:scale(0);transition:transform var(--pm3d-selector-transition-indicator);z-index:var(--pm3d-selector-z-indicator)}.pm3d-selection-indicator.pm3d-visible{transform:scale(1)}.pm3d-tile-content{padding:var(--pm3d-selector-padding-tile);display:flex;flex-direction:column;flex:1;gap:var(--pm3d-selector-tile-gap-mobile)}.pm3d-tile-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--pm3d-selector-tile-gap-mobile);gap:12px}.pm3d-tile-title{margin:0;font-size:var(--pm3d-selector-font-size-title);font-weight:var(--pm3d-selector-font-weight-bold);color:var(--pm3d-selector-text-primary);display:flex;align-items:center;gap:8px;line-height:1.2;flex:1}.pm3d-type-badge{position:absolute;top:var(--pm3d-selector-indicator-position-top);right:var(--pm3d-selector-indicator-position-top);background:var(--pm3d-selector-badge-gradient);color:#fff;padding:4px 10px;border-radius:var(--pm3d-selector-border-radius-badge);font-size:var(--pm3d-selector-font-size-badge);font-weight:var(--pm3d-selector-font-weight-semibold);text-transform:uppercase;letter-spacing:.5px;z-index:var(--pm3d-selector-z-indicator);box-shadow:0 2px 8px var(--black-15)}.pm3d-tile-description{color:var(--pm3d-selector-text-secondary);font-size:var(--pm3d-selector-font-size-base);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em;flex:1}.pm3d-tile-select-btn{width:100%;padding:var(--pm3d-selector-btn-padding);background:var(--pm3d-selector-primary-color);color:#fff;border:none;border-radius:var(--pm3d-selector-border-radius-small);font-weight:var(--pm3d-selector-font-weight-semibold);font-size:var(--pm3d-selector-font-size-base);cursor:pointer;transition:all var(--pm3d-selector-transition-fast);transform:var(--pm3d-selector-btn-transform-hidden);opacity:var(--pm3d-selector-btn-opacity-hidden);display:flex;align-items:center;justify-content:center;gap:var(--pm3d-selector-btn-gap)}.pm3d-btn-icon{font-size:1rem;transition:transform var(--pm3d-selector-transition-fast)}.pm3d-btn-text{font-weight:var(--pm3d-selector-font-weight-semibold)}.pm3d-model-tile:hover .pm3d-tile-select-btn{transform:var(--pm3d-selector-btn-transform-hover);opacity:var(--pm3d-selector-btn-opacity-visible)}.pm3d-model-tile:hover .pm3d-btn-icon{transform:scale(var(--pm3d-selector-scale-button-hover))}.pm3d-tile-select-btn:hover{background:var(--pm3d-selector-primary-dark)}.pm3d-tile-select-btn.pm3d-selected{background:var(--pm3d-selector-text-secondary);cursor:default;transform:var(--pm3d-selector-btn-transform-hover);opacity:var(--pm3d-selector-btn-opacity-visible)}.pm3d-tile-select-btn.pm3d-selected:hover{background:var(--pm3d-selector-text-secondary)}.pm3d-tile-select-btn.pm3d-selected .pm3d-btn-icon{transform:scale(var(--pm3d-selector-scale-button-selected))}@keyframes pm3d-pulse{0%,to{opacity:1}50%{opacity:.5}}.pm3d-tile-image-wrapper:empty{animation:pm3d-pulse 1.5s infinite}@media(max-width:480px){.pm3d-embla__slide{width:var(--pm3d-selector-slide-width-mobile);margin-right:var(--pm3d-selector-tile-gap-mobile)}.pm3d-embla__nav-container{gap:var(--pm3d-selector-nav-gap-mobile);margin-top:var(--pm3d-selector-nav-margin-top-mobile)}.pm3d-embla__nav-button{width:var(--pm3d-selector-nav-button-size-mobile);height:var(--pm3d-selector-nav-button-size-mobile);font-size:var(--pm3d-selector-nav-font-size-mobile)}.pm3d-tile-content{padding:var(--pm3d-selector-padding-tile-mobile)}.pm3d-tile-header{flex-direction:column;align-items:flex-start;gap:8px}.pm3d-tile-select-btn{transform:var(--pm3d-selector-btn-transform-hover);opacity:var(--pm3d-selector-btn-opacity-visible)}}@media(min-width:481px)and (max-width:767px){.pm3d-embla__slide{width:var(--pm3d-selector-slide-width-small)}}@media(min-width:768px){.pm3d-embla__slide{width:var(--pm3d-selector-slide-width-medium)}.pm3d-model-selector-container{grid-template-columns:1fr;gap:var(--pm3d-selector-tile-gap-mobile)}}@media(min-width:769px)and (max-width:1024px){.pm3d-model-selector-container{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.pm3d-embla__slide{width:var(--pm3d-selector-slide-width-large)}}@media(min-width:1025px){.pm3d-model-selector-container{grid-template-columns:repeat(auto-fit,minmax(var(--min-width),1fr))}}@media(hover:hover){.pm3d-model-tile{transform:translateY(0)}.pm3d-tile-select-btn{transform:var(--pm3d-selector-btn-transform-desktop-hidden);opacity:var(--pm3d-selector-btn-opacity-desktop-hidden)}}@media print{.pm3d-model-tile{break-inside:avoid;box-shadow:none;border:1px solid var(--pm3d-selector-border-light)}.pm3d-embla__nav-container,.pm3d-embla__dots{display:none}}@media(prefers-contrast:high){.pm3d-model-tile,.pm3d-embla__nav-button{border:2px solid var(--pm3d-selector-text-primary)}}@media(prefers-reduced-motion:reduce){.pm3d-tile-image-wrapper img,.pm3d-embla__nav-button,.pm3d-embla__dot,.pm3d-tile-select-btn,.pm3d-btn-icon,.pm3d-selection-indicator{transition:none}.pm3d-model-tile:hover .pm3d-tile-image-wrapper img,.pm3d-embla__nav-button:hover,.pm3d-embla__dot:hover,.pm3d-model-tile:hover .pm3d-btn-icon{transform:none}.pm3d-tile-image-wrapper:empty{animation:none}}:root{--pm3d-preset-font-family: "Inter", system-ui, sans-serif;--pm3d-preset-font-size-base: .875rem;--pm3d-preset-font-size-title: 1rem;--pm3d-preset-font-size-header: clamp(1.5rem, 4vw, 2.25rem);--pm3d-preset-font-size-description: 1.125rem;--pm3d-preset-font-weight-normal: 400;--pm3d-preset-font-weight-semibold: 600;--pm3d-preset-font-weight-bold: 700;--pm3d-preset-letter-spacing: -.01em;--pm3d-preset-primary-color: #2563eb;--pm3d-preset-primary-light: rgba(37, 99, 235, .05);--pm3d-preset-primary-lighter: rgba(37, 99, 235, .02);--pm3d-preset-text-primary: var(--bright-yellow);--pm3d-preset-text-secondary: #f8fafc;--pm3d-preset-text-muted: #9ca3af;--pm3d-preset-surface-white: var(--neutral-0);--pm3d-preset-surface-light: #f8fafc;--pm3d-preset-border-light: #e2e8f0;--pm3d-preset-border-lighter: #f1f5f9;--pm3d-preset-container-padding: 0;--pm3d-preset-header-margin-bottom: 2rem;--pm3d-preset-grid-gap: 1rem;--pm3d-preset-grid-gap-mobile: .5rem;--pm3d-preset-grid-gap-large: 1.5rem;--pm3d-preset-tile-padding: 1rem;--pm3d-preset-tile-padding-mobile: .5rem;--pm3d-preset-grid-columns: repeat(auto-fill, minmax(200px, 1fr));--pm3d-preset-grid-columns-tablet: repeat(auto-fill, minmax(240px, 1fr));--pm3d-preset-grid-columns-desktop: repeat(auto-fill, minmax(280px, 1fr));--pm3d-preset-grid-columns-mobile: 1fr;--pm3d-preset-tile-bg: var(--pm3d-preset-surface-white);--pm3d-preset-tile-border-width: 1px;--pm3d-preset-tile-border-color: var(--pm3d-preset-border-light);--pm3d-preset-tile-border-radius: .75rem;--pm3d-preset-tile-shadow: none;--pm3d-preset-tile-shadow-hover: 0 10px 25px -5px var(--black-10), 0 5px 10px -5px rgba(0, 0, 0, .04);--pm3d-preset-tile-shadow-selected: 0 20px 30px -5px rgba(37, 99, 235, .15), 0 10px 15px -5px rgba(37, 99, 235, .08);--pm3d-preset-tile-transform-hover: translateY(-2px);--pm3d-preset-dot-size: 24px;--pm3d-preset-dot-size-mobile: 20px;--pm3d-preset-dot-gap: .25rem;--pm3d-preset-dot-border: 2px solid var(--white-80);--pm3d-preset-dot-shadow: 0 2px 4px var(--black-10);--pm3d-preset-dot-scale-hover: 1.1;--pm3d-preset-indicator-bg: var(--pm3d-preset-primary-color);--pm3d-preset-indicator-color: white;--pm3d-preset-indicator-padding: .25rem .5rem;--pm3d-preset-indicator-font-size: .75rem;--pm3d-preset-indicator-border-radius: .25rem;--pm3d-preset-transition-fast: .2s ease;--pm3d-preset-transition-medium: .3s ease;--pm3d-preset-hover-overlay-opacity: .05;--pm3d-preset-empty-icon-size: 3rem;--pm3d-preset-empty-text-color: var(--pm3d-preset-text-muted);--pm3d-preset-empty-padding: 3rem 1.5rem;--pm3d-preset-shadow-sm: 0 1px 2px 0 var(--black-5);--pm3d-preset-shadow-md: 0 4px 6px -1px var(--black-10), 0 2px 4px -1px rgba(0, 0, 0, .06);--pm3d-preset-shadow-lg: 0 10px 15px -3px var(--black-10), 0 4px 6px -2px var(--black-5);--pm3d-preset-shadow-xl: 0 20px 25px -5px var(--black-10), 0 10px 10px -5px rgba(0, 0, 0, .04);--pm3d-preset-z-hover-overlay: 1;--pm3d-preset-z-indicator: 2}.pm3d-preset-selector{padding:var(--pm3d-preset-container-padding);font-family:var(--pm3d-preset-font-family);width:100%;box-sizing:border-box}.pm3d-preset-header{text-align:center;margin-bottom:var(--pm3d-preset-header-margin-bottom)}.__pm3d-preset-header h2{font-size:var(--pm3d-preset-font-size-header);font-weight:var(--pm3d-preset-font-weight-bold);color:var(--pm3d-preset-text-primary);margin:0 0 1rem;letter-spacing:var(--pm3d-preset-letter-spacing)}.__pm3d-preset-header p{color:var(--pm3d-preset-text-secondary);font-size:var(--pm3d-preset-font-size-description);margin:0;font-weight:var(--pm3d-preset-font-weight-normal);line-height:1.5}.pm3d-preset-tiles-container{display:grid;grid-template-columns:var(--pm3d-preset-grid-columns);gap:var(--pm3d-preset-grid-gap);width:100%;box-sizing:border-box}.pm3d-preset-tile{background:var(--nebula);border:var(--pm3d-preset-tile-border-width) solid var(--pm3d-preset-tile-border-color);border-radius:var(--pm3d-preset-tile-border-radius);padding:var(--pm3d-preset-tile-padding);cursor:pointer;transition:all var(--pm3d-preset-transition-medium);text-align:left;font-family:inherit;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;gap:.75rem;box-shadow:var(--pm3d-preset-tile-shadow)}.pm3d-preset-tile:hover,.pm3d-preset-tile.pm3d-hovered{border-color:var(--pm3d-preset-primary-color);box-shadow:var(--pm3d-preset-tile-shadow-hover);transform:var(--pm3d-preset-tile-transform-hover)}.pm3d-preset-tile.pm3d-selected{border-color:var(--pm3d-preset-primary-color);background:var(--midnight-blue);box-shadow:var(--pm3d-preset-tile-shadow-selected)}.pm3d-preset-tile:focus{outline:2px solid var(--pm3d-preset-primary-color);outline-offset:2px}.pm3d-preset-tile:focus:not(:focus-visible){outline:none}.pm3d-hover-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:var(--pm3d-preset-primary-color);opacity:0;transition:opacity var(--pm3d-preset-transition-fast);pointer-events:none;z-index:var(--pm3d-preset-z-hover-overlay)}.pm3d-preset-tile:hover .pm3d-hover-overlay{opacity:var(--pm3d-preset-hover-overlay-opacity)}.pm3d-color-preview{display:flex;gap:var(--pm3d-preset-dot-gap);justify-content:center;align-items:center;min-height:var(--pm3d-preset-dot-size);flex-wrap:wrap;max-width:100%}.pm3d-color-dot{width:var(--pm3d-preset-dot-size);height:var(--pm3d-preset-dot-size);border-radius:50%;border:var(--pm3d-preset-dot-border);box-shadow:var(--pm3d-preset-dot-shadow);transition:transform var(--pm3d-preset-transition-fast);flex-shrink:0}.pm3d-preset-tile:hover .pm3d-color-dot{transform:scale(var(--pm3d-preset-dot-scale-hover))}.pm3d-no-colors{font-size:2rem;opacity:.5}.pm3d-preset-info{text-align:center;width:100%;display:flex;flex-direction:column;gap:.25rem}.pm3d-preset-name{font-size:var(--pm3d-preset-font-size-title);font-weight:var(--pm3d-preset-font-weight-bold);color:var(--pm3d-preset-text-primary);margin:0;line-height:1.3}.pm3d-preset-description{font-size:var(--pm3d-preset-font-size-base);color:var(--pm3d-preset-text-secondary);margin:0;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.pm3d-selected-indicator{display:inline-block;margin-top:.5rem;padding:var(--pm3d-preset-indicator-padding);background:var(--pm3d-preset-indicator-bg);color:var(--pm3d-preset-indicator-color);font-size:var(--pm3d-preset-indicator-font-size);font-weight:var(--pm3d-preset-font-weight-semibold);border-radius:var(--pm3d-preset-indicator-border-radius);text-transform:uppercase;letter-spacing:.5px;line-height:1}.pm3d-preset-selector.pm3d-no-presets{display:flex;align-items:center;justify-content:center;min-height:200px}.pm3d-empty-state{text-align:center;padding:var(--pm3d-preset-empty-padding);color:var(--pm3d-preset-empty-text-color)}.pm3d-empty-icon{font-size:var(--pm3d-preset-empty-icon-size);display:block;margin-bottom:1rem;opacity:.5}.pm3d-empty-message{font-size:var(--pm3d-preset-font-size-title);font-weight:var(--pm3d-preset-font-weight-semibold);margin:0 0 .5rem;color:var(--pm3d-preset-text-primary)}.pm3d-empty-hint{font-size:var(--pm3d-preset-font-size-base);margin:0;color:var(--pm3d-preset-text-secondary)}@media(max-width:768px){.pm3d-preset-tiles-container{grid-template-columns:var(--pm3d-preset-grid-columns-mobile);gap:var(--pm3d-preset-grid-gap-mobile)}.pm3d-preset-tile{padding:var(--pm3d-preset-tile-padding-mobile)}.pm3d-color-dot{width:var(--pm3d-preset-dot-size-mobile);height:var(--pm3d-preset-dot-size-mobile)}.pm3d-preset-name{font-size:.9rem}.pm3d-preset-description{font-size:.8rem}.pm3d-preset-header h2{font-size:1.5rem}.pm3d-preset-header p{font-size:1rem}}@media(min-width:769px)and (max-width:1024px){.pm3d-preset-tiles-container{grid-template-columns:var(--pm3d-preset-grid-columns-tablet)}}@media(min-width:1025px){.pm3d-preset-tiles-container{grid-template-columns:var(--pm3d-preset-grid-columns-desktop);gap:var(--pm3d-preset-grid-gap-large)}}@media print{.pm3d-preset-tile{break-inside:avoid;box-shadow:none;border:1px solid var(--pm3d-preset-border-light)}.pm3d-hover-overlay{display:none}}@media(prefers-contrast:high){.pm3d-preset-tile{border-width:3px}.pm3d-preset-tile:focus{outline-width:3px}.pm3d-selected-indicator{font-weight:var(--pm3d-preset-font-weight-bold)}}@media(prefers-reduced-motion:reduce){.pm3d-preset-tile,.pm3d-color-dot,.pm3d-hover-overlay{transition:none}.pm3d-preset-tile:hover,.pm3d-preset-tile:hover .pm3d-color-dot{transform:none}}@media(prefers-color-scheme:dark){:root{--pm3d-preset-surface-white: #1e293b;--pm3d-preset-text-primary: #f1f5f9;--pm3d-preset-text-secondary: #94a3b8;--pm3d-preset-border-light: #334155;--pm3d-preset-tile-bg: #1e293b}}.pm3d-preset-tiles-container.svelte-w64b62{scrollbar-width:thin;scrollbar-color:var(--black-20) transparent}.pm3d-preset-tiles-container.svelte-w64b62::-webkit-scrollbar{width:8px;height:8px}.pm3d-preset-tiles-container.svelte-w64b62::-webkit-scrollbar-track{background:transparent}.pm3d-preset-tiles-container.svelte-w64b62::-webkit-scrollbar-thumb{background-color:var(--black-20);border-radius:var(--radius-1)}.pm3d-preset-tiles-container.svelte-w64b62::-webkit-scrollbar-thumb:hover{background-color:var(--black-30)}.lightweight-model-viewer.svelte-bxvwvd{position:relative;width:100%;height:100%}.lightweight-model-viewer.svelte-bxvwvd canvas{width:100%!important;height:100%!important;display:block}.loading-overlay.svelte-bxvwvd,.error-overlay.svelte-bxvwvd{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:transparent;z-index:10}.error-overlay.svelte-bxvwvd{color:#ef4444}.loading-spinner.svelte-bxvwvd{width:32px;height:32px;border:3px solid #e2e8f0;border-top:3px solid #3b82f6;border-radius:50%;animation:svelte-bxvwvd-spin 1s linear infinite;margin-bottom:16px}@keyframes svelte-bxvwvd-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading-overlay.svelte-bxvwvd p:where(.svelte-bxvwvd),.error-overlay.svelte-bxvwvd p:where(.svelte-bxvwvd){margin:0;font-size:14px;font-weight:var(--font-weight-medium);font-family:system-ui,sans-serif}.loading-overlay.svelte-bxvwvd p:where(.svelte-bxvwvd){color:#64748b}
