{% extends "base.html" %} {% block title %}Playlists - Kinetic Sand Table{% endblock %} {% block additional_styles %} /* Minimal custom styles - rely on Tailwind utilities */ .pattern-preview { border: 1px solid #e2e8f0; overflow: hidden; display: flex; align-items: center; justify-content: center; } .dark .pattern-preview img { filter: invert(1); } /* Mobile responsive utilities */ @media (max-width: 768px) { .mobile-hidden { display: none !important; } .mobile-show { display: block !important; } .mobile-flex { display: flex !important; } .mobile-playlist-container { padding-top: 0.5rem; padding-bottom: 75px; padding-left: 0; padding-right: 0; } .mobile-full-width { width: 100% !important; max-width: 100% !important; border-radius: 0 !important; border-left: none !important; border-right: none !important; } .mobile-patterns-grid { grid-template-columns: repeat(auto-fill, minmax(100px, 1fr)) !important; gap: 0.75rem !important; padding: 1rem !important; } } .mobile-playlists-sidebar { padding: 0 !important; border-radius: 0 !important; border-left: none !important; border-right: none !important; border-bottom: none !important; } /* Override base template's dark mode rules for playlists page in light mode */ html:not(.dark) #playlistsSidebar, html:not(.dark) #playlistDetails, html:not(.dark) #playlistsNav, html:not(.dark) .bg-white { background-color: #ffffff !important; } html:not(.dark) .bg-gray-50 { background-color: #f9fafb !important; } html:not(.dark) .bg-gray-100 { background-color: #f3f4f6 !important; } html:not(.dark) .text-gray-900 { color: #111827 !important; } html:not(.dark) .text-gray-700 { color: #374151 !important; } html:not(.dark) .text-gray-500 { color: #6b7280 !important; } html:not(.dark) .border-gray-200 { border-color: #e5e7eb !important; } html:not(.dark) .border-gray-300 { border-color: #d1d5db !important; } /* Fix hover states in light mode */ html:not(.dark) .hover\:bg-gray-100:hover, html:not(.dark) #playlistsNav a:hover { background-color: #f3f4f6 !important; } html:not(.dark) .hover\:bg-gray-200:hover { background-color: #e5e7eb !important; } html:not(.dark) .hover\:text-gray-900:hover { color: #111827 !important; } html:not(.dark) .hover\:text-gray-700:hover { color: #374151 !important; } /* Ensure active playlist item styling works in light mode */ html:not(.dark) #playlistsNav a.active, html:not(.dark) .bg-gray-100 { background-color: #f3f4f6 !important; color: #111827 !important; } /* Fix pattern text colors in light mode */ html:not(.dark) .text-gray-800 { color: #1f2937 !important; } html:not(.dark) .group:hover .group-hover\:text-gray-900, html:not(.dark) .group-hover\:text-gray-900 { color: #111827 !important; } /* Pattern cards text in light mode */ html:not(.dark) #patternsGrid p, html:not(.dark) #patternsGrid .text-sm { color: #1f2937 !important; } html:not(.dark) #patternsGrid .group:hover p, html:not(.dark) #patternsGrid .group:hover .text-sm { color: #111827 !important; } /* Available patterns modal text in light mode */ html:not(.dark) #availablePatternsGrid p, html:not(.dark) #availablePatternsGrid .text-xs { color: #1f2937 !important; } {% endblock %} {% block content %}

Select a Playlist

Select a playlist to view its patterns
{% endblock %} {% block scripts %} {% endblock %}