body { font-family: "Barlow Condensed", sans-serif; font-optical-sizing: auto; font-weight: 400; font-style: normal; font-size: 16px; display: flex; justify-content: center; align-items: center; flex-direction: column; min-height: 100vh; margin: 0; padding: 0; box-sizing: border-box; } .controls { display: flex; justify-content: space-between; width: 100%; max-width: 500px; margin-bottom: 10px; } .button { padding: 6px 12px; background-color: #4f46e5; color: white; border: none; border-radius: 4px; cursor: pointer; } .visualization-container { position: absolute; width: 100vw; height: 100vh; left: 0; right: 0; margin-left: calc(-50vw + 50%); } .gradient-bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; min-width: 100%; z-index: 0; background-size: 200% 200%; background: linear-gradient(45deg, #8634f9, #ffab1a, #ff2fa2); animation: gradientAnimation 10s ease infinite; } @keyframes gradientAnimation { 0% { background-position: 0% 0%; } 25% { background-position: 100% 0%; } 50% { background-position: 100% 100%; } 75% { background-position: 0% 100%; } 100% { background-position: 0% 0%; } } .median { position: fixed; top: 61.5%; left: 0; height: 1px; border-top: 1px dashed rgba(255, 255, 255, 0.2); width: 100%; z-index: -1; /* background-color: rgba(255, 255, 255, 0.2); */ } .scroll-container { position: relative; height: 100%; overflow-x: hidden; overflow-y: hidden; scroll-behavior: smooth; /* padding-top: 2rem; */ box-sizing: border-box; } .scroll-container:active { cursor: grabbing; /* Change cursor when active */ } .spacer { height: 100vh; } .dot-tooltip .tooltip-background { fill: rgba(0, 0, 0, 0.0); } .dot-tooltip .tooltip-content { display: flex; flex-direction: column; justify-content: center; /* Center vertically */ align-items: center; /* Center horizontally */ width: 100%; height: 100%; color: white; /* Text color */ } .dot-tooltip .image_container { margin-top: 8px; /* box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.25); */ box-shadow: 0 0 20px 0 rgba(255, 255, 255, 0.25); transition: box-shadow 0.25s ease-in-out; } .dot-tooltip .image_container:hover { box-shadow: 0 0 30px 0 rgba(255, 255, 255, 0.8); /* box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.5); */ transition: box-shadow 0.25s ease-in-out; } .dot-tooltip .tooltip-image { width: 100%; height: auto; display: block; pointer-events: auto; } .dot-tooltip .tooltip-title { font-size: 14px; font-weight: 400; margin-bottom: 2px; text-align: center; text-wrap: balance; hyphens: auto; line-height: 1.1; } .dot-tooltip .tooltip-description { font-size: 12px; font-weight: 300; } .dot-tooltip .image_container { width: 80px; height: 80px; overflow: hidden; border-radius: 50%; border: 2px solid white; display: flex; justify-content: center; } .dot-tooltip .tooltip-arrow { width: 1px; height: 30px; background: linear-gradient(to bottom, transparent, rgba(255, 255, 255, 0.5), transparent); } .dot { transition: r 0.2s ease, fill 0.2s ease; cursor: pointer; } .dot:hover { fill: rgba(255, 255, 255, 0.9); filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0.8)); } .dot-tooltip { pointer-events: none; opacity: 1; /* Always visible */ } .tooltip-img { width: 100%; height: 100%; object-fit: cover; border-radius: 4px; }