:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;overflow:hidden;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{margin:0;padding:0;box-sizing:border-box}body,html,#root{width:100%;height:100vh;margin:0;padding:0;overflow:hidden;background:#090a0f}.app-container{position:relative;width:100%;height:100vh;overflow:hidden;background:transparent}canvas{outline:none}.globe-container{width:100%;height:100vh;position:relative;background-color:#000;overflow:hidden}.globe-container canvas{position:absolute;top:0;left:0;outline:none}.artist-marker{position:absolute;transform:translate(-50%,-50%);cursor:pointer;pointer-events:auto;opacity:1;transition:all .5s cubic-bezier(.4,0,.2,1)}.artist-marker.city-focus{opacity:1;transform:translate(-50%,-50%) scale(1.2)}.artist-marker:not(.city-focus):not(.hovering){opacity:.3}.artist-marker *{transition:all .5s cubic-bezier(.4,0,.2,1)}.artist-image{width:32px;height:32px;border-radius:4px;overflow:hidden;opacity:0;position:relative;z-index:2;box-shadow:0 2px 8px #0006;transform-origin:center center;will-change:transform,opacity}.artist-image img{width:100%;height:100%;object-fit:cover}.artist-marker.hovering .artist-image{transform:scale(4);opacity:1;z-index:1000}.artist-glow{position:absolute;top:-4px;left:-4px;right:-4px;bottom:-4px;border:2px solid;border-radius:4px;opacity:.4;z-index:1;transform-origin:center center;will-change:transform,opacity}.artist-marker.hovering .artist-glow{opacity:.8;transform:scale(4);z-index:999}.artist-label{display:none}.artist-card{position:fixed;top:20px;right:20px;background:#0f0f0fe6;padding:0;border-radius:0;color:#fff;width:300px;height:300px;z-index:1000;overflow:hidden;transform-origin:top right;animation:card-appear .5s cubic-bezier(.4,0,.2,1);box-shadow:0 0 0 1px #ffffff1a;display:grid;grid-template-columns:150px 150px}@keyframes card-appear{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.artist-card .card-image{width:150px;height:300px;position:relative;overflow:hidden}.artist-card .card-image img{width:100%;height:100%;object-fit:cover;filter:brightness(.8);transition:filter .3s ease}.artist-card:hover .card-image img{filter:brightness(1)}.artist-card .card-content{position:relative;height:100%;padding:20px;display:flex;flex-direction:column;border-left:1px solid rgba(255,255,255,.1)}@keyframes content-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.artist-card h3{margin:0;color:#fff;font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:2px;position:relative;padding-bottom:15px}.artist-card h3:after{content:"";position:absolute;bottom:0;left:0;width:20px;height:1px;background:#ffffff4d}.city-artists{flex:1;overflow-y:auto;margin:15px 0;padding-right:10px}.city-artist{display:flex;align-items:center;padding:6px 0;cursor:pointer;transition:all .3s ease;position:relative}.city-artist:before{content:"";position:absolute;left:-10px;top:50%;width:4px;height:4px;background:#fff;border-radius:50%;opacity:0;transform:translateY(-50%);transition:all .3s ease}.city-artist:hover:before,.city-artist.selected:before{opacity:.5;left:-5px}.city-artist img{width:20px;height:20px;border-radius:0;margin-right:10px;object-fit:cover;opacity:.6;transition:all .3s ease}.city-artist:hover img{opacity:1}.city-artist .artist-info{flex:1}.city-artist .name{font-weight:400;margin-bottom:0;font-size:11px;letter-spacing:.5px}.city-artist .style{font-size:9px;color:#fff6;letter-spacing:.5px;text-transform:uppercase}.social-links{margin-top:auto;display:flex;justify-content:flex-start}.instagram-link{color:#fff;text-decoration:none;padding:0;font-size:10px;font-weight:400;letter-spacing:1px;text-transform:uppercase;opacity:.4;transition:all .3s ease;display:flex;align-items:center}.instagram-link:before{content:"";width:15px;height:1px;background:#fff;margin-right:8px;transition:all .3s ease;opacity:.4}.instagram-link:hover{opacity:1}.instagram-link:hover:before{width:25px;opacity:1}
