.model-viewer{isolation:isolate;touch-action:pan-y;-webkit-user-select:none;user-select:none;width:100%;min-height:360px;position:relative;overflow:hidden}.model-viewer--xl{min-height:520px}.model-viewer__canvas{cursor:grab;touch-action:pan-y;outline:none;width:100%;height:100%;position:absolute;inset:0}.model-viewer__canvas:active{cursor:grabbing}.model-viewer__state{color:var(--text-secondary);font-family:var(--font-mono);pointer-events:none;place-content:center;justify-items:center;gap:14px;font-size:12px;display:grid;position:absolute;inset:0}.model-viewer__skeleton{aspect-ratio:1.7;background:linear-gradient(110deg,#fff1 25%,#fff5 42%,#fff1 60%) 0 0/220% 100%;border-radius:12px;width:min(280px,62vw);animation:1.4s infinite model-loading}@keyframes model-loading{to{background-position:-220% 0}}.model-viewer__state--error{color:#a22f35;text-align:center}.model-viewer__state--error span{color:var(--text-secondary)}.model-hotspot{z-index:2;background:0 0;border:0;align-items:center;gap:8px;min-height:44px;padding:0;transition:opacity .18s,color .18s;display:flex;position:absolute;transform:translate(-10px,-50%)}.model-hotspot--communication{flex-direction:row-reverse;transform:translate(calc(10px - 100%),-50%)}.model-hotspot--device,.model-hotspot--gamepad,.model-hotspot--display{flex-direction:column;align-items:center;gap:6px;transform:translate(-50%,-7.5px)}.model-hotspot__pin{outline:1px solid var(--accent-cyan);background:var(--accent-cyan);border:4px solid #f8fafbeb;border-radius:50%;flex-shrink:0;width:15px;height:15px;box-shadow:0 0 0 4px #255dbb24}.model-hotspot__label{border:1px solid var(--border-default);color:var(--text-primary);font-family:var(--font-mono);letter-spacing:0;white-space:nowrap;background:#f8fafbf0;border-radius:4px;padding:6px 9px;font-size:10px}.model-hotspot__label small{color:var(--accent-cyan);margin-top:2px;font-size:9px;display:block}.model-hotspot:hover .model-hotspot__pin,.model-hotspot.is-active .model-hotspot__pin{outline-width:2px}.model-viewer__controls{z-index:3;border:1px solid var(--border-default);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f8fafbe8;border-radius:6px;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;padding:6px;display:grid;position:absolute;bottom:12px;left:12px;right:12px;box-shadow:0 14px 30px #0000001c}.model-viewer__controls button{text-align:left;min-width:0;min-height:48px;color:var(--text-secondary);border:1px solid #0000;border-radius:4px;padding:8px 10px;transition:color .18s,background .18s}.model-viewer__controls button:hover{background:var(--accent-cyan);color:#f8fafb;border-color:var(--accent-cyan)}.model-viewer__controls span{white-space:nowrap;font-size:12px;font-weight:700;line-height:1.2;display:block}.model-viewer__controls small{white-space:nowrap;margin-top:3px;font-size:10px;line-height:1.2;display:block}.model-viewer__controls .is-active{color:#f8fafb;background:var(--accent-cyan)}@media (max-width:700px){.model-viewer,.model-viewer--xl{min-height:440px}.model-viewer__controls{grid-template-columns:repeat(3,minmax(0,1fr))}.model-viewer__controls button{min-height:48px;padding:7px 10px}.model-viewer__controls button:last-child{grid-column:1/-1;justify-content:space-between;align-items:center;display:flex}.model-hotspot__label{display:none}}@media (max-width:420px){.model-viewer__controls small{white-space:normal}.model-viewer__controls button{padding-inline:7px}}@media (prefers-reduced-motion:reduce){.model-viewer__skeleton{animation:none}}
