Files
singular-particular-space/Playlists/playlists.html
JL Kruger fd47895207 Add Playlists section; clean up build artifacts from repo
- Wire Playlists star in index.html → Playlists/playlists.html
- Hub page: Aladin font, dynamic cards via build.py injection, no back-link
- 4 playlist pages: eclectica-experimenti, daydreamsoftime, soosfynwyn, theelfladymadeusdoit
- build.py: scans folder, extracts title+track count, regenerates hub cards in place
- Remove 21 tracked CSVs (moved with PlaylistPirate to ToolsnToys)
- Untrack Images/GEMINI.md, GEMINI-FIX.md, script-guide.md (agent artifacts)
- .gitignore: global rules for GEMINI*.md, HANDOVER.md, script-guide.md; Playlists build dirs

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-28 12:14:34 +02:00

152 lines
4.3 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>PLAYLISTS | Singular Particular</title>
<link href="https://fonts.googleapis.com/css2?family=Aladin&family=Rambla:wght@400;700&family=Share+Tech+Mono&display=swap" rel="stylesheet">
<style>
:root {
--bg-void: #04060b;
--text-warm: #e8d5b8;
--text-muted: #7a6f5e;
--ff-primary: #a855f7;
--ff-bright: #c084fc;
--ff-deep: #6d28d9;
--ff-glow: rgba(168, 85, 247, 0.18);
}
* {
box-sizing: border-box;
margin: 0;
padding: 0;
}
body {
background-color: var(--bg-void);
color: var(--text-warm);
font-family: 'Rambla', sans-serif;
line-height: 1.5;
min-height: 100vh;
padding: 2rem;
}
/* Typography */
h1 {
font-family: 'Aladin', cursive;
color: var(--ff-primary);
font-weight: normal;
line-height: 1;
margin-bottom: 0.5rem;
text-transform: uppercase;
font-size: clamp(3rem, 10vw, 6rem);
letter-spacing: -0.02em;
}
.subtitle {
font-family: 'Rambla', sans-serif;
color: var(--text-muted);
font-size: 1.1rem;
margin-bottom: 3rem;
letter-spacing: 0.05em;
}
/* Grid */
.playlist-grid {
display: grid;
grid-template-columns: repeat(1, 1fr);
gap: 1.5rem;
max-width: 1400px;
}
@media (min-width: 640px) {
.playlist-grid {
grid-template-columns: repeat(2, 1fr);
}
}
@media (min-width: 1024px) {
.playlist-grid {
grid-template-columns: repeat(3, 1fr);
}
}
/* Cards */
.playlist-card {
display: block;
text-decoration: none;
color: inherit;
padding: 1.5rem;
border-left: 2px solid var(--ff-deep);
background: transparent;
transition: background 100ms ease, border-color 100ms ease;
}
.playlist-card:hover {
background: var(--ff-glow);
border-color: var(--ff-primary);
}
.playlist-name {
font-family: 'Aladin', cursive;
font-size: 1.5rem;
margin-bottom: 0.5rem;
color: var(--text-warm);
line-height: 1.2;
}
.track-count {
font-family: 'Share Tech Mono', monospace;
color: var(--text-muted);
font-size: 0.9rem;
text-transform: uppercase;
}
footer {
margin-top: 5rem;
border-top: 1px solid var(--ff-deep);
padding-top: 2rem;
font-family: 'Share Tech Mono', monospace;
color: var(--text-muted);
font-size: 0.8rem;
text-align: center;
}
</style>
</head>
<body>
<header>
<h1>PLAYLISTS</h1>
<!-- SUBTITLE-START -->
<p class="subtitle">4 playlists &bull; 269 tracks &bull; Faerie Fire Collection</p>
<!-- SUBTITLE-END -->
</header>
<main class="playlist-grid">
<!-- PLAYLIST-CARDS-START -->
<a href="daydreamsoftime.html" class="playlist-card">
<div class="playlist-name">Daydreams Of Time</div>
<div class="track-count">88 tracks</div>
</a>
<a href="eclectica-experimenti.html" class="playlist-card">
<div class="playlist-name">Eclectica Experimenti</div>
<div class="track-count">85 tracks</div>
</a>
<a href="soosfynwyn.html" class="playlist-card">
<div class="playlist-name">Soos Fyn Wyn</div>
<div class="track-count">62 tracks</div>
</a>
<a href="theelfladymadeusdoit.html" class="playlist-card">
<div class="playlist-name">The Elf Lady Made Us Do It</div>
<div class="track-count">34 tracks</div>
</a>
<!-- PLAYLIST-CARDS-END -->
</main>
<footer>
&mdash; TERMINAL ACCESS: SINGULAR PARTICULAR SPACE &mdash;
</footer>
</body>
</html>