*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;background:#1e1e1e;color:#fff;overflow:hidden}.header{background:#2d2d2d;padding:15px 20px;border-bottom:1px solid #444;display:flex;align-items:center;gap:20px;flex-wrap:wrap}.title{font-size:18px;font-weight:600;color:#fff}.version-badge{background:#00a8ff;color:#fff;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500}.file-controls{display:flex;gap:15px;align-items:center;flex-wrap:wrap}.file-input-wrapper{position:relative;display:inline-block}.file-input{position:absolute;top:0;left:0;z-index:2;opacity:0;width:100%;height:100%;cursor:pointer;-webkit-appearance:none;font-size:16px}.btn{background:#0078d4;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px;transition:background .2s}.btn:hover{background:#106ebe}.btn.secondary{background:#5a5a5a}.btn.secondary:hover{background:#6a6a6a}.viewer-container{position:relative;width:100vw;height:100vh;background:#252525}.loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;z-index:100;display:none;pointer-events:none}.loading .preloader{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner{width:100px;height:100px;position:relative;animation:spinner 1.6s infinite ease;transform-style:preserve-3d}.spinner>div{background-color:#e5c59f1a;height:100%;position:absolute;width:100%;border:4px solid rgb(229,197,159);border-radius:50%}.spinner div:nth-of-type(1){transform:translateZ(-35px) rotateY(180deg)}.spinner div:nth-of-type(2){transform:rotateY(-270deg) translate(50%);transform-origin:top right}.spinner div:nth-of-type(3){transform:rotateY(270deg) translate(-50%);transform-origin:center left}.spinner div:nth-of-type(4){transform:rotateX(90deg) translateY(-50%);transform-origin:top center}.spinner div:nth-of-type(5){transform:rotateX(-90deg) translateY(50%);transform-origin:bottom center}.spinner div:nth-of-type(6){transform:translateZ(35px)}@keyframes spinner{0%{transform:rotate(0) rotateX(0) rotateY(0)}50%{transform:rotate(180deg) rotateX(180deg) rotateY(180deg)}to{transform:rotate(360deg) rotateX(360deg) rotateY(360deg)}}.loading .loading-text{font-family:Trebuchet MS,Lucida Sans Unicode,Lucida Grande,Lucida Sans,Arial,sans-serif;font-size:20px;background:linear-gradient(to right,#925555,#e0a47c,#d33fd3,#eed600);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;padding-top:20px;text-align:center}.loading .loading-progress{font-size:13px;color:#e5c59fbf;padding-top:6px;font-variant-numeric:tabular-nums;min-height:18px}@media (prefers-reduced-motion: reduce){.spinner{animation-duration:6s}}.control-panel{position:absolute;top:10px;right:10px;width:300px;max-height:calc(100vh - 100px);z-index:50}.file-info{position:absolute;top:10px;left:10px;background:#000c;padding:10px;border-radius:4px;max-width:300px;z-index:50;display:none}.file-info div{margin-bottom:5px}.error-message{position:absolute;bottom:10px;left:50%;transform:translate(-50%);background:#dc3545;color:#fff;padding:10px 20px;border-radius:4px;z-index:100;display:none;max-width:80%;text-align:center}.drop-zone{position:absolute;top:0;left:0;width:100%;height:100%;border:3px dashed transparent;display:flex;align-items:center;justify-content:center;background:#0000;color:transparent;font-size:18px;font-weight:500;transition:all .3s ease;pointer-events:none;z-index:40}.drop-zone.active{border-color:#0078d4;background:#0078d41a;color:#0078d4}.controls{position:absolute;bottom:10px;right:10px;background:#000c;padding:10px;border-radius:4px;font-size:12px;line-height:1.4;max-width:250px;z-index:50}.controls div{margin-bottom:2px}.controls strong{color:#0078d4}.status-indicator{position:absolute;top:50px;left:10px;background:#000c;padding:8px;border-radius:4px;font-size:11px;z-index:60;display:none}.status-indicator.show{display:block}.component-status{margin:2px 0}.component-status.initialized{color:#28a745}.component-status.error{color:#dc3545}.part-tooltip{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;box-shadow:0 2px 8px #0000004d}.ui-message{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;box-shadow:0 2px 8px #0003}.viewport-gizmo-container{position:fixed!important;z-index:1000!important;pointer-events:auto!important;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.viewport-gizmo-container canvas{border-radius:8px;background:#ffffff0d!important;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);transition:all .2s ease}.viewport-gizmo-container:hover canvas{background:#ffffff1a!important;border-color:#fff3}
