:root{--black:#000;--white:#fff;--hds-color-nasa-blue:#1c67e3;--hds-color-nasa-red:#f64137;--hds-color-carbon-40:#959599;--hds-color-carbon-70:#444447;--hds-color-carbon-80:#2e2e32;--hotspot-color:var(--hds-color-nasa-red);--hotspot-diameter:2.5vh;--hotspot-diameter-sm:calc(var(--hotspot-diameter) * .5);--hotspot-diameter-lg:calc(var(--hotspot-diameter) * 1.4);--hotspot-padding:calc(var(--hotspot-diameter) * .25);--shadow:0 2px 4px #00000040;--duration:.3s;--public-sans:"Public Sans", sans-serif;--inter:"Inter", sans-serif;--dm-mono:"DM Mono", monospace}:not(:defined)>*{display:none}html{height:100%}body{width:100%;height:100%;font-family:var(--public-sans);font-optical-sizing:auto;color:var(--black);margin:0;padding:0}model-viewer{background-color:var(--white);width:100%;height:100%}.poster{object-fit:cover;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.hotspot{box-shadow:var(--shadow);cursor:pointer;width:var(--hotspot-diameter);height:var(--hotspot-diameter);padding:var(--hotspot-padding);background:var(--hotspot-color);border:4px solid var(--hotspot-color);transition:all var(--duration);border-radius:50%;position:relative}.hotspot:after{content:"";background:0 0;border-radius:50%;position:absolute;inset:-15px}.hotspot:focus{height:var(--hotspot-diameter-lg);width:var(--hotspot-diameter-lg);border:var(--hotspot-padding) solid var(--white);outline:none}.hotspot:not([data-visible]){border:var(--hotspot-padding) solid var(--hotspot-color);box-shadow:none;height:var(--hotspot-diameter-lg);pointer-events:none;width:var(--hotspot-diameter-lg);background:0 0}.hotspot:not([data-visible])>*{opacity:0;pointer-events:none}.hotspot.active{width:var(--hotspot-diameter-sm);height:var(--hotspot-diameter-sm);box-shadow:none;border:0;transform:translateY(-4.5px)}.hotspot>*{opacity:1;transition:transform var(--duration), opacity var(--duration);transform:translateY(-50%)}.hotspot .hotspot-annotation{background:var(--white);box-shadow:var(--shadow);color:var(--black);font-family:var(--inter);opacity:0;width:max-content;transition:opacity var(--duration) ease-in-out;pointer-events:none;z-index:10;padding:.5rem .75rem;font-size:1rem;font-weight:700;display:block;position:absolute;top:50%;left:calc(100% + 1rem)}model-viewer.focused-state .hotspot[data-visible]:not(.active){opacity:.7}@media (hover:hover){model-viewer.focused-state .hotspot[data-visible]:not(.active):hover,model-viewer.focused-state .hotspot[data-visible]:not(.active):hover .hotspot-annotation,.hotspot[data-visible]:not(.active):hover .hotspot-annotation{opacity:1;pointer-events:auto}}model-viewer.focused-state .hotspot[data-visible]:not(.active):focus,model-viewer.focused-state .hotspot[data-visible]:not(.active):focus .hotspot-annotation,.hotspot[data-visible]:not(.active):focus .hotspot-annotation{opacity:1;pointer-events:auto}model-viewer.focused-state .hotspot.active .hotspot-annotation{opacity:0}.progress-bar{z-index:200;background-color:#0003;width:100%;height:6px;display:block;position:absolute;top:0;left:0}.progress-bar.hide{visibility:hidden;transition:visibility var(--duration)}.update-bar{float:left;width:0%;height:100%;transition:width var(--duration);background-color:#0009}.line-container{pointer-events:none;width:100%;height:100%;display:block;position:absolute;top:0;left:0}.annotation-line{stroke:var(--hds-color-nasa-red);stroke-width:4px;transition:opacity var(--duration)}.annotation-line.hidden{opacity:0}.model-controls{color:var(--white);pointer-events:none;gap:8px;display:flex;position:absolute;bottom:24px;left:24px}.model-controls .icon.hidden{display:none}.model-controls .icon{margin-right:.4rem}.model-controls>*{text-shadow:var(--shadow)}#fullscreen-button{opacity:.7;cursor:pointer;z-index:120;pointer-events:auto;background:0 0;border:none;padding:0;position:absolute;top:24px;right:24px}@media (hover:hover){#fullscreen-button:hover{opacity:1;transition:opacity var(--duration)}}#fullscreen-button svg.hidden{display:none}#info-panel{background:var(--white);width:40%;max-width:450px;box-shadow:var(--shadow);z-index:150;transition:opacity var(--duration), transform var(--duration);visibility:visible;transition:opacity var(--duration), transform var(--duration), visibility 0s;padding:20px;position:absolute;top:24px;right:24px}#info-panel.hidden{opacity:0;pointer-events:none;visibility:hidden;transition:opacity var(--duration), transform var(--duration), visibility 0s var(--duration);transform:translateY(-10px)}.panel-header{justify-content:space-between;align-items:start;margin-bottom:12px;display:flex}.panel-header h2{font-size:1.25rem;font-family:var(--inter);margin:0}.panel-short-title{font-family:var(--dm-mono);margin-bottom:.5rem;font-size:.8rem;font-weight:400}#panel-close{cursor:pointer;color:var(--hds-color-carbon-40);background:0 0;border:none;margin-left:10px;padding:0}@media (hover:hover){#panel-close:hover{color:var(--black)}}#panel-close:focus-visible{outline:2px solid var(--hds-color-nasa-blue);outline-offset:4px}#panel-text{margin:0;font-size:.95rem;line-height:1.5}.panel-nav{justify-content:space-between;margin-top:14px;margin-bottom:.1rem;display:flex}.panel-nav svg{width:36px;height:36px}#panel-prev,#panel-next{cursor:pointer;color:var(--hds-color-carbon-40);background:0 0;border:none;justify-content:center;align-items:center;padding:0;transition:background .2s,color .2s;display:flex}@media (hover:hover){#panel-prev:hover,#panel-next:hover{color:var(--black)}}#panel-prev:focus-visible,#panel-next:focus-visible{outline:2px solid var(--hds-color-nasa-blue,#1c67e3);outline-offset:2px}.interaction-overlay{pointer-events:auto;z-index:100;background:0 0;position:absolute;inset:0}.interaction-overlay.hidden{display:none}model-viewer{pointer-events:none}model-viewer.interactive{pointer-events:auto}@media (width<=768px){#info-panel{width:50%;padding:14px}#panel-title{font-size:1rem}.panel-header{margin-bottom:.25rem}#panel-text{font-size:.8rem}.panel-nav{margin-top:.5rem;margin-bottom:.1rem}.panel-nav svg{width:28px;height:28px}#panel-close svg{width:20px;height:20px}}@media (width<=400px){#info-panel{width:auto;max-width:none;padding:10px;top:24px;left:24px;right:24px}#panel-title{font-size:.9rem}.panel-header{margin-bottom:.3rem}#panel-text{font-size:.75rem}.panel-nav{margin-top:.5rem;margin-bottom:.1rem}.panel-nav svg{width:24px;height:24px}#panel-close svg{width:16px;height:16px}}
