@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&display=swap";
:root{--spotify-green:#1db954;--spotify-green-light:#1ed760;--spotify-green-dark:#169c46;--spotify-black:#191414;--spotify-dark:#181818;--spotify-darker:#121212;--spotify-gray-100:#b3b3b3;--spotify-gray-200:#a7a7a7;--spotify-gray-300:#6b6b6b;--spotify-gray-400:#535353;--spotify-gray-500:#404040;--spotify-gray-600:#282828;--spotify-gray-700:#181818;--gradient-green:linear-gradient(135deg, #1db954 0%, #169c46 100%);--gradient-purple:linear-gradient(135deg, #7c3aed 0%, #a855f7 100%);--gradient-pink:linear-gradient(135deg, #ec4899 0%, #f43f5e 100%);--gradient-orange:linear-gradient(135deg, #f59e0b 0%, #ef4444 100%);--gradient-blue:linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);--font-primary:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--transition-fast:.15s ease;--transition-normal:.2s ease;--transition-slow:.3s ease;--shadow-sm:0 2px 8px #0000004d;--shadow-md:0 4px 16px #0006;--shadow-lg:0 8px 32px #00000080;--shadow-green:0 4px 20px #1db95466;--radius-sm:4px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:9999px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;margin:0;padding:0}button,a,input,select,textarea,[role=button]{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;outline:none}button:focus,a:focus,[role=button]:focus{outline:none}html,body{scroll-behavior:smooth;height:100%;font-size:16px;overflow:hidden}body{font-family:var(--font-primary);color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#181818;line-height:1.5}.text-green{color:var(--spotify-green)}.bg-green{background-color:var(--spotify-green)}.truncate{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}button{font-family:inherit;font-size:inherit;cursor:pointer}img{max-width:100%;height:auto;display:block}:focus:not(:focus-visible){outline:none}:focus-visible{outline:2px solid var(--spotify-green);outline-offset:2px}::selection{color:#fff;background-color:#1db95466}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#fff3;border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#ffffff4d}*{scrollbar-width:thin;scrollbar-color:#fff3 transparent}.app{background:#181818;flex-direction:column;height:100dvh;display:flex;overflow:hidden}.app-container{flex:1;display:flex;overflow:hidden}.main-content{background:linear-gradient(#1e1e1e 0%,#181818 300px);flex-direction:column;flex:1;display:flex;overflow:hidden}.main-scroll{flex:1;overflow:hidden auto}.main-scroll::-webkit-scrollbar{width:12px}.main-scroll::-webkit-scrollbar-track{background:0 0}.main-scroll::-webkit-scrollbar-thumb{background:#ffffff4d padding-box padding-box;border:3px solid #0000;border-radius:6px}.main-scroll::-webkit-scrollbar-thumb:hover{background:#ffffff80 padding-box padding-box;border:3px solid #0000}.section-header{align-items:baseline;gap:12px;margin-bottom:24px;display:flex}.section-header h2{color:#fff;margin:0;font-size:24px;font-weight:700}.section-subtitle{color:#a7a7a7;font-size:14px}.footer-spacer{height:100px}.mobile-sticky-header{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:999;background:#181818f2;border-bottom:1px solid #ffffff1a;height:72px;transition:transform .3s;display:none;position:fixed;top:0;left:0;right:0;transform:translateY(-100%)}.mobile-sticky-header.visible{transform:translateY(0)}.sticky-header-content{justify-content:center;align-items:center;height:100%;padding:0 16px;display:flex}.sticky-header-name{color:#fff;font-size:15px;font-weight:700}@media (max-width:768px){.mobile-sticky-header{display:block}}@media (max-width:900px){.app-container{flex-direction:column}}@media (max-width:768px){.sidebar{display:none}.sidebar.mobile-open{display:flex}}@media (max-width:640px){.section-header{margin-bottom:16px;padding:0 16px}.section-header h2{font-size:20px}.section-subtitle{font-size:13px}.footer-spacer{height:80px}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:.5s forwards fadeInUp}button:focus-visible,a:focus-visible{outline-offset:2px;outline:2px solid #1db954}a{color:inherit;text-decoration:none}a:hover{color:#fff}
