@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@500;600;700;800&display=swap";:root{--obsidian: #000000;--obsidian-light: #0A0A0A;--spotify: #1DB954;--youtube: #FF0000;--lastfm: #D51007;--accent: #6366F1;--skiddle-gold: #FFC800;--text-main: #FFFFFF;--text-muted: #A3A3A3;--tight-tracking: -.04em}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--obsidian);color:var(--text-main);min-height:100vh;font-weight:500;-webkit-font-smoothing:antialiased}#root{width:100%;min-height:100vh;overflow-x:hidden}.container{max-width:1400px;margin:0 auto;padding:20px 20px 120px}h1,h2,h3,.title{font-weight:800;letter-spacing:var(--tight-tracking);text-transform:none}.title{font-size:64px;line-height:.95;margin-bottom:12px}.header{text-align:center;padding:0 0 15px;position:relative;display:flex;flex-direction:column;align-items:center;z-index:5}.header-spacer{height:20px;transition:height .4s ease}.header-spacer.scrolled{height:40px}.sticky-header-container{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--obsidian);padding:5px 20px 0;transition:all .4s cubic-bezier(.4,0,.2,1)}.sticky-header-container.scrolled{padding:12px 20px;background:linear-gradient(180deg,#000,#000,#0003);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.05)}.sticky-header-inner{max-width:1400px;margin:0 auto;display:flex;justify-content:center;align-items:center;position:relative;transition:all .4s ease}.sticky-header-container.scrolled .sticky-header-inner{justify-content:space-between}.logo-wrapper{width:100%;max-width:600px;transition:all .4s cubic-bezier(.4,0,.2,1)}.sticky-header-container.scrolled .logo-wrapper{max-width:200px}.header-auth{display:flex;align-items:center;gap:12px;position:absolute;right:0;transition:all .3s ease}.sticky-header-container.scrolled .header-auth{position:relative;right:auto}.subtitle{font-size:28px;color:#fff;font-weight:800;width:100%;max-width:1400px;line-height:1.1;margin:0 auto;text-align:center;background:linear-gradient(90deg,#fff 0%,var(--text-muted) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;letter-spacing:-.04em;transition:all .3s ease}.ticket-stub{display:flex;background:var(--obsidian-light);border-radius:16px;overflow:hidden;margin-bottom:16px;border:1px solid rgba(255,255,255,.05);transition:transform .2s,border-color .2s;min-height:100px;height:auto;position:relative}.ticket-stub:hover{transform:translateY(-2px);border-color:#ffffff1a}.genre-border{position:absolute;left:0;top:0;bottom:0;width:4px;z-index:5}.ticket-left{flex:1;padding:20px 24px 20px 28px;min-width:0;display:flex;flex-direction:row;align-items:center;gap:30px}.ticket-info-group{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.card-header{display:flex;justify-content:space-between;align-items:baseline;width:100%}.artist-name-main{font-size:24px;font-weight:800;letter-spacing:-.03em;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.inline-date-label{font-size:11px;font-weight:900;color:var(--accent);text-transform:uppercase;letter-spacing:.12em;white-space:nowrap;text-align:right;min-width:120px}.venue-info-text{font-size:14px;color:var(--text-muted);font-weight:600;line-height:1.4}.event-actions-row{display:flex;gap:10px;align-items:center;flex-shrink:0}.where-btn,.add-btn,.btn-preview{padding:8px 14px;font-size:10px;font-weight:800;border-radius:10px;text-transform:uppercase;letter-spacing:.03em;height:38px;display:flex;align-items:center;justify-content:center;cursor:pointer;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:#fff;transition:all .2s}.add-btn{background:var(--accent);border-color:var(--accent)}.add-btn.saved{background:#1ed760;border-color:#1ed760}.remove-btn-small{background:none;border:none;color:#ef4444;font-size:10px;font-weight:800;cursor:pointer;padding:4px;text-transform:uppercase}.ticket-right{width:80px;background:linear-gradient(135deg,gold,#ffc800,#b8860b);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#000;text-decoration:none;font-weight:900;text-align:center;position:relative;box-shadow:inset 2px 0 10px #0000001a}.ticket-right .price{font-size:12px!important;letter-spacing:.2em;font-weight:900;writing-mode:vertical-rl;transform:rotate(180deg)}.ticket-perforation{width:2px;border-left:1px dashed rgba(255,255,255,.1);position:relative;margin:4px 0}.ticket-perforation:before,.ticket-perforation:after{content:"";position:absolute;left:-8px;width:14px;height:14px;background:var(--obsidian);border-radius:50%;z-index:2}.ticket-perforation:before{top:-11px}.ticket-perforation:after{bottom:-11px}@media(max-width:900px){.ticket-left{flex-direction:column;align-items:stretch;gap:15px}.event-actions-row{justify-content:flex-start}}@media(max-width:768px){.container{padding:12px 16px!important;width:100%!important}.header-spacer{height:180px}.subtitle{font-size:18px;padding:0 10px}.sticky-header-container{padding:10px 10px 5px!important;height:auto!important;position:relative!important}.sticky-header-inner{flex-direction:column!important;gap:12px!important;width:100%!important}.header-playlist-status{width:100%!important;min-width:0!important;align-items:center!important;text-align:center!important;padding:12px!important}.header-auth{position:static!important;width:100%!important;justify-content:center!important;transform:none!important;margin-top:4px}.header-spacer{display:none!important}.ticket-stub{display:block!important;border-radius:16px!important}.ticket-left{padding:16px 16px 16px 20px!important;display:block!important}.artist-name-main{font-size:18px!important}.inline-date-label{font-size:10px!important}.venue-info-text{font-size:12px!important;margin-bottom:14px!important}.event-actions-row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;width:100%!important;margin-top:12px!important}.where-btn,.add-btn,.btn-preview,.ticket-btn-mobile{width:100%!important;height:42px!important;padding:0 4px!important;font-size:9px!important;border-radius:8px!important}.ticket-right,.ticket-perforation,.date-block{display:none!important}.ticket-btn-mobile{display:flex!important;background:var(--skiddle-gold)!important;color:#000!important;align-items:center;justify-content:center;text-decoration:none;font-weight:900;text-transform:uppercase}.search-row-responsive{flex-direction:column!important;gap:8px!important}.search-actions-container{display:flex!important;width:100%!important;gap:8px!important}.search-action-btn{flex:1!important}.svc-grid-responsive{display:flex!important;flex-direction:row!important;overflow-x:auto!important;gap:8px!important;padding:4px 0 12px!important;scrollbar-width:none;-webkit-overflow-scrolling:touch}.svc-card{flex:0 0 120px!important;height:80px!important;padding:10px!important}.playlist-sleeve.soundcheck-sticky-bar{position:relative!important;margin:20px 0!important;height:auto!important;padding:16px!important;flex-direction:column!important}}.desktop-only{display:block}.mobile-only{display:none}@media(max-width:768px){.desktop-only{display:none!important}.mobile-only{display:block!important}}.search-box{background:var(--obsidian-light);border:1px solid rgba(255,255,255,.05);padding:32px;border-radius:24px;margin-bottom:24px;position:relative;box-shadow:0 20px 40px #0006}.input{width:100%;padding:10px 14px;font-size:15px;font-family:Plus Jakarta Sans,sans-serif;border:1px solid #2a2a2a;border-radius:12px;margin-bottom:12px;background:#1a1a1a;color:#fff}.sonar-pulse{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:100px;height:100px;border:3px solid var(--accent);border-radius:50%;opacity:0;pointer-events:none}@keyframes sonar{0%{width:0;height:0;opacity:.5;border-width:4px}to{width:800px;height:800px;opacity:0;border-width:1.5px}}.searching .sonar-pulse{animation:sonar 2s infinite ease-out}.playlist-sleeve{width:100%;height:70px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:16px;display:flex;align-items:center;padding:0 20px;gap:16px;margin-bottom:24px;cursor:pointer}
