diff --git a/index.html b/index.html
index 4a20e2e..95b17d9 100644
--- a/index.html
+++ b/index.html
@@ -238,13 +238,19 @@
dangrubb.net
-
+
+
+
+
diff --git a/music/Darnea/DGDN/index.html b/music/Darnea/DGDN/index.html
new file mode 100644
index 0000000..3b71a83
--- /dev/null
+++ b/music/Darnea/DGDN/index.html
@@ -0,0 +1,49 @@
+
+
+
+
+ DGDN - Darnea | dangrubb.net
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Select a track to play
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/music/Darnea/DGDN/player.css b/music/Darnea/DGDN/player.css
new file mode 100644
index 0000000..fb0a8ee
--- /dev/null
+++ b/music/Darnea/DGDN/player.css
@@ -0,0 +1,139 @@
+/* Album Player */
+
+.album-player {
+ margin: 40px 0;
+}
+
+.album-header {
+ display: flex;
+ gap: 30px;
+ margin-bottom: 40px;
+ padding: 30px;
+ background: rgba(107, 225, 233, 0.05);
+ border-radius: 8px;
+ align-items: center;
+}
+
+.album-artwork {
+ font-size: 5rem;
+ min-width: 150px;
+ text-align: center;
+}
+
+.album-info h2 {
+ margin: 0 0 5px 0;
+ font-size: 2rem;
+ color: #9d9aa4;
+}
+
+.album-info .artist-name {
+ margin: 0 0 5px 0;
+ color: #6be1e9;
+ font-size: 1.1rem;
+}
+
+.album-info .album-desc {
+ margin: 0;
+ color: #6be1e9;
+ font-size: 0.9rem;
+ font-style: italic;
+}
+
+/* Now Playing */
+.now-playing {
+ text-align: center;
+ padding: 20px;
+ background: rgba(107, 225, 233, 0.1);
+ border: 1px solid rgba(107, 225, 233, 0.3);
+ border-radius: 6px;
+ margin-bottom: 20px;
+ min-height: 60px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.now-playing p {
+ margin: 0;
+ color: #9d9aa4;
+}
+
+.now-playing.playing p {
+ color: #6be1e9;
+ font-weight: bold;
+}
+
+/* Audio Player */
+#audio-player {
+ width: 100%;
+ margin-bottom: 30px;
+ accent-color: #6be1e9;
+}
+
+/* Tracklist */
+.tracklist {
+ margin-top: 40px;
+}
+
+.tracklist h3 {
+ margin: 0 0 20px 0;
+ font-size: 1.3rem;
+ color: #9d9aa4;
+}
+
+.tracklist ol {
+ list-style-position: inside;
+ padding: 0;
+ margin: 0;
+}
+
+.tracklist li {
+ padding: 12px;
+ margin-bottom: 8px;
+ background: rgba(157, 154, 164, 0.05);
+ border: 1px solid rgba(107, 225, 233, 0.2);
+ border-radius: 4px;
+ cursor: pointer;
+ transition: all 0.2s ease;
+ color: #9d9aa4;
+}
+
+.tracklist li:hover {
+ background: rgba(107, 225, 233, 0.1);
+ border-color: rgba(107, 225, 233, 0.5);
+}
+
+.tracklist li.active {
+ background: rgba(107, 225, 233, 0.2);
+ border-color: #6be1e9;
+ color: #6be1e9;
+ font-weight: bold;
+}
+
+.track-duration {
+ float: right;
+ color: #6be1e9;
+ font-size: 0.9rem;
+}
+
+/* Responsive */
+@media (max-width: 768px) {
+ .album-header {
+ flex-direction: column;
+ gap: 15px;
+ text-align: center;
+ }
+
+ .album-artwork {
+ font-size: 3rem;
+ }
+
+ .album-info h2 {
+ font-size: 1.5rem;
+ }
+
+ .tracklist li {
+ padding: 10px;
+ font-size: 0.9rem;
+ }
+}
diff --git a/music/Darnea/DGDN/player.js b/music/Darnea/DGDN/player.js
new file mode 100644
index 0000000..a5bce51
--- /dev/null
+++ b/music/Darnea/DGDN/player.js
@@ -0,0 +1,71 @@
+// Album player for DGDN
+
+const tracks = [
+ { title: "Dan Beat (bonus)", filename: "Dan Beat (bonus).flac" },
+ { title: "Neigh V3", filename: "Neigh V3.flac" },
+ { title: "On Ice", filename: "On Ice.flac" },
+ { title: "Otish", filename: "Otish.flac" },
+ { title: "Scan V2", filename: "Scan V2.flac" },
+ { title: "balance v2", filename: "balance v2.flac" },
+ { title: "eh ee uhn V2", filename: "eh ee uhn V2.flac" },
+ { title: "held v3", filename: "held v3.flac" }
+];
+
+const audioPlayer = document.getElementById('audio-player');
+const tracksList = document.getElementById('tracks-list');
+const nowPlaying = document.getElementById('now-playing');
+
+let currentTrackIndex = 0;
+
+// Build tracklist
+function initTracklist() {
+ tracks.forEach((track, index) => {
+ const li = document.createElement('li');
+ li.textContent = track.title;
+ li.dataset.index = index;
+ li.addEventListener('click', () => playTrack(index));
+ tracksList.appendChild(li);
+ });
+}
+
+// Play track
+function playTrack(index) {
+ currentTrackIndex = index;
+ const track = tracks[index];
+
+ // Update audio source
+ audioPlayer.src = `/src/audio/DGDN/${track.filename}`;
+ audioPlayer.play();
+
+ // Update UI
+ updateNowPlaying(track.title);
+ updateActiveTrack();
+}
+
+// Update now playing display
+function updateNowPlaying(title) {
+ nowPlaying.classList.add('playing');
+ nowPlaying.innerHTML = `▶ Now playing: ${title}
`;
+}
+
+// Update active track in list
+function updateActiveTrack() {
+ document.querySelectorAll('.tracklist li').forEach((li, i) => {
+ li.classList.toggle('active', i === currentTrackIndex);
+ });
+}
+
+// Auto-play next track when current ends
+audioPlayer.addEventListener('ended', () => {
+ if (currentTrackIndex < tracks.length - 1) {
+ playTrack(currentTrackIndex + 1);
+ }
+});
+
+// Update active track when manually seeking/playing
+audioPlayer.addEventListener('play', () => {
+ updateActiveTrack();
+});
+
+// Initialize
+initTracklist();
diff --git a/music/Darnea/index.html b/music/Darnea/index.html
new file mode 100644
index 0000000..8fa5d92
--- /dev/null
+++ b/music/Darnea/index.html
@@ -0,0 +1,35 @@
+
+
+
+
+ Darnea - dangrubb.net
+
+
+
+
+
+
+
+
+
diff --git a/music/index.html b/music/index.html
new file mode 100644
index 0000000..d668c99
--- /dev/null
+++ b/music/index.html
@@ -0,0 +1,30 @@
+
+
+
+
+ dangrubb.net Music
+
+
+
+
+
+
+
+
+
diff --git a/music/music.css b/music/music.css
new file mode 100644
index 0000000..622254a
--- /dev/null
+++ b/music/music.css
@@ -0,0 +1,152 @@
+/* Music Platform Styling */
+
+.music-container {
+ max-width: 900px;
+ margin: 0 auto;
+ padding: 40px 20px;
+}
+
+.music-header {
+ text-align: center;
+ margin-bottom: 50px;
+ border-bottom: 2px solid rgba(107, 225, 233, 0.3);
+ padding-bottom: 20px;
+}
+
+.music-header h1 {
+ margin: 0;
+ font-size: 2rem;
+ color: #9d9aa4;
+ font-weight: bold;
+}
+
+.music-header h1 a {
+ color: #6be1e9;
+ text-decoration: none;
+}
+
+.music-header h1 a:hover {
+ opacity: 0.8;
+}
+
+/* Artists Grid */
+.artists-grid,
+.albums-grid {
+ display: grid;
+ grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
+ gap: 30px;
+ margin: 40px 0;
+}
+
+.artist-card,
+.album-card {
+ text-align: center;
+ padding: 20px;
+ background: rgba(157, 154, 164, 0.05);
+ border: 1px solid rgba(107, 225, 233, 0.2);
+ border-radius: 8px;
+ transition: all 0.3s ease;
+}
+
+.artist-card:hover,
+.album-card:hover {
+ background: rgba(107, 225, 233, 0.1);
+ border-color: rgba(107, 225, 233, 0.5);
+ transform: translateY(-4px);
+}
+
+.artist-cover,
+.album-cover {
+ font-size: 4rem;
+ margin-bottom: 15px;
+}
+
+.artist-card h2,
+.album-card h3 {
+ margin: 10px 0;
+ font-size: 1.3rem;
+ color: #9d9aa4;
+}
+
+.artist-card h2 a,
+.album-card h3 a {
+ color: #6be1e9;
+ text-decoration: none;
+}
+
+.artist-card h2 a:hover,
+.album-card h3 a:hover {
+ opacity: 0.8;
+}
+
+.artist-meta,
+.album-meta {
+ color: #6be1e9;
+ font-size: 0.9rem;
+ margin: 0;
+}
+
+/* Artist Detail */
+.artist-detail {
+ text-align: center;
+ margin: 40px 0;
+ padding: 40px 20px;
+ background: rgba(107, 225, 233, 0.05);
+ border-radius: 8px;
+}
+
+.artist-banner {
+ font-size: 5rem;
+ margin-bottom: 20px;
+}
+
+.artist-detail h2 {
+ margin: 0;
+ font-size: 2.5rem;
+ color: #9d9aa4;
+}
+
+/* Footer */
+.music-footer {
+ text-align: center;
+ margin-top: 60px;
+ padding-top: 20px;
+ border-top: 2px solid rgba(107, 225, 233, 0.3);
+}
+
+.music-footer p {
+ margin: 0;
+}
+
+.music-footer a {
+ color: #6be1e9;
+ text-decoration: none;
+}
+
+.music-footer a:hover {
+ opacity: 0.8;
+}
+
+/* Responsive */
+@media (max-width: 768px) {
+ .music-container {
+ padding: 20px 10px;
+ }
+
+ .music-header h1 {
+ font-size: 1.5rem;
+ }
+
+ .artists-grid,
+ .albums-grid {
+ grid-template-columns: 1fr;
+ }
+
+ .artist-banner {
+ font-size: 3rem;
+ }
+
+ .artist-detail h2 {
+ font-size: 1.8rem;
+ }
+}
diff --git a/src/audio/._DGDN b/src/audio/._DGDN
new file mode 100644
index 0000000..4836b0c
Binary files /dev/null and b/src/audio/._DGDN differ
diff --git a/src/audio/DGDN/._Dan Beat (bonus).flac b/src/audio/DGDN/._Dan Beat (bonus).flac
new file mode 100644
index 0000000..76eada1
Binary files /dev/null and b/src/audio/DGDN/._Dan Beat (bonus).flac differ
diff --git a/src/audio/DGDN/._Dan Beat (bonus).flac.asd b/src/audio/DGDN/._Dan Beat (bonus).flac.asd
new file mode 100644
index 0000000..8b3fb7e
Binary files /dev/null and b/src/audio/DGDN/._Dan Beat (bonus).flac.asd differ
diff --git a/src/audio/DGDN/._Neigh V3.flac b/src/audio/DGDN/._Neigh V3.flac
new file mode 100644
index 0000000..76eada1
Binary files /dev/null and b/src/audio/DGDN/._Neigh V3.flac differ
diff --git a/src/audio/DGDN/._Neigh V3.flac.asd b/src/audio/DGDN/._Neigh V3.flac.asd
new file mode 100644
index 0000000..8b3fb7e
Binary files /dev/null and b/src/audio/DGDN/._Neigh V3.flac.asd differ
diff --git a/src/audio/DGDN/._On Ice.flac b/src/audio/DGDN/._On Ice.flac
new file mode 100644
index 0000000..76eada1
Binary files /dev/null and b/src/audio/DGDN/._On Ice.flac differ
diff --git a/src/audio/DGDN/._On Ice.flac.asd b/src/audio/DGDN/._On Ice.flac.asd
new file mode 100644
index 0000000..8b3fb7e
Binary files /dev/null and b/src/audio/DGDN/._On Ice.flac.asd differ
diff --git a/src/audio/DGDN/._Otish.flac b/src/audio/DGDN/._Otish.flac
new file mode 100644
index 0000000..c71d1a4
Binary files /dev/null and b/src/audio/DGDN/._Otish.flac differ
diff --git a/src/audio/DGDN/._Otish.flac.asd b/src/audio/DGDN/._Otish.flac.asd
new file mode 100644
index 0000000..8b3fb7e
Binary files /dev/null and b/src/audio/DGDN/._Otish.flac.asd differ
diff --git a/src/audio/DGDN/._Scan V2.flac b/src/audio/DGDN/._Scan V2.flac
new file mode 100644
index 0000000..76eada1
Binary files /dev/null and b/src/audio/DGDN/._Scan V2.flac differ
diff --git a/src/audio/DGDN/._Scan V2.flac.asd b/src/audio/DGDN/._Scan V2.flac.asd
new file mode 100644
index 0000000..8b3fb7e
Binary files /dev/null and b/src/audio/DGDN/._Scan V2.flac.asd differ
diff --git a/src/audio/DGDN/._balance v2.flac b/src/audio/DGDN/._balance v2.flac
new file mode 100644
index 0000000..76eada1
Binary files /dev/null and b/src/audio/DGDN/._balance v2.flac differ
diff --git a/src/audio/DGDN/._balance v2.flac.asd b/src/audio/DGDN/._balance v2.flac.asd
new file mode 100644
index 0000000..8b3fb7e
Binary files /dev/null and b/src/audio/DGDN/._balance v2.flac.asd differ
diff --git a/src/audio/DGDN/._eh ee uhn V2.flac b/src/audio/DGDN/._eh ee uhn V2.flac
new file mode 100644
index 0000000..76eada1
Binary files /dev/null and b/src/audio/DGDN/._eh ee uhn V2.flac differ
diff --git a/src/audio/DGDN/._eh ee uhn V2.flac.asd b/src/audio/DGDN/._eh ee uhn V2.flac.asd
new file mode 100644
index 0000000..8b3fb7e
Binary files /dev/null and b/src/audio/DGDN/._eh ee uhn V2.flac.asd differ
diff --git a/src/audio/DGDN/._held v3.flac b/src/audio/DGDN/._held v3.flac
new file mode 100644
index 0000000..76eada1
Binary files /dev/null and b/src/audio/DGDN/._held v3.flac differ
diff --git a/src/audio/DGDN/._held v3.flac.asd b/src/audio/DGDN/._held v3.flac.asd
new file mode 100644
index 0000000..8b3fb7e
Binary files /dev/null and b/src/audio/DGDN/._held v3.flac.asd differ
diff --git a/src/audio/DGDN/Dan Beat (bonus).flac b/src/audio/DGDN/Dan Beat (bonus).flac
new file mode 100644
index 0000000..2ee86b3
Binary files /dev/null and b/src/audio/DGDN/Dan Beat (bonus).flac differ
diff --git a/src/audio/DGDN/Dan Beat (bonus).flac.asd b/src/audio/DGDN/Dan Beat (bonus).flac.asd
new file mode 100644
index 0000000..88f71aa
Binary files /dev/null and b/src/audio/DGDN/Dan Beat (bonus).flac.asd differ
diff --git a/src/audio/DGDN/Neigh V3.flac b/src/audio/DGDN/Neigh V3.flac
new file mode 100644
index 0000000..7d4b3f1
Binary files /dev/null and b/src/audio/DGDN/Neigh V3.flac differ
diff --git a/src/audio/DGDN/Neigh V3.flac.asd b/src/audio/DGDN/Neigh V3.flac.asd
new file mode 100644
index 0000000..287df9c
Binary files /dev/null and b/src/audio/DGDN/Neigh V3.flac.asd differ
diff --git a/src/audio/DGDN/On Ice.flac b/src/audio/DGDN/On Ice.flac
new file mode 100644
index 0000000..63d5f54
Binary files /dev/null and b/src/audio/DGDN/On Ice.flac differ
diff --git a/src/audio/DGDN/On Ice.flac.asd b/src/audio/DGDN/On Ice.flac.asd
new file mode 100644
index 0000000..9a34d93
Binary files /dev/null and b/src/audio/DGDN/On Ice.flac.asd differ
diff --git a/src/audio/DGDN/Otish.flac b/src/audio/DGDN/Otish.flac
new file mode 100644
index 0000000..0b4520e
Binary files /dev/null and b/src/audio/DGDN/Otish.flac differ
diff --git a/src/audio/DGDN/Otish.flac.asd b/src/audio/DGDN/Otish.flac.asd
new file mode 100644
index 0000000..8f57656
Binary files /dev/null and b/src/audio/DGDN/Otish.flac.asd differ
diff --git a/src/audio/DGDN/Scan V2.flac b/src/audio/DGDN/Scan V2.flac
new file mode 100644
index 0000000..367795e
Binary files /dev/null and b/src/audio/DGDN/Scan V2.flac differ
diff --git a/src/audio/DGDN/Scan V2.flac.asd b/src/audio/DGDN/Scan V2.flac.asd
new file mode 100644
index 0000000..999d0eb
Binary files /dev/null and b/src/audio/DGDN/Scan V2.flac.asd differ
diff --git a/src/audio/DGDN/balance v2.flac b/src/audio/DGDN/balance v2.flac
new file mode 100644
index 0000000..ae9325d
Binary files /dev/null and b/src/audio/DGDN/balance v2.flac differ
diff --git a/src/audio/DGDN/balance v2.flac.asd b/src/audio/DGDN/balance v2.flac.asd
new file mode 100644
index 0000000..a4a27c5
Binary files /dev/null and b/src/audio/DGDN/balance v2.flac.asd differ
diff --git a/src/audio/DGDN/eh ee uhn V2.flac b/src/audio/DGDN/eh ee uhn V2.flac
new file mode 100644
index 0000000..98554e1
Binary files /dev/null and b/src/audio/DGDN/eh ee uhn V2.flac differ
diff --git a/src/audio/DGDN/eh ee uhn V2.flac.asd b/src/audio/DGDN/eh ee uhn V2.flac.asd
new file mode 100644
index 0000000..d509c81
Binary files /dev/null and b/src/audio/DGDN/eh ee uhn V2.flac.asd differ
diff --git a/src/audio/DGDN/held v3.flac b/src/audio/DGDN/held v3.flac
new file mode 100644
index 0000000..1c0a600
Binary files /dev/null and b/src/audio/DGDN/held v3.flac differ
diff --git a/src/audio/DGDN/held v3.flac.asd b/src/audio/DGDN/held v3.flac.asd
new file mode 100644
index 0000000..eb16029
Binary files /dev/null and b/src/audio/DGDN/held v3.flac.asd differ
diff --git a/style.css b/style.css
index 4568147..21da7a4 100644
--- a/style.css
+++ b/style.css
@@ -156,6 +156,46 @@ p {
font-size: 0.875rem;
}
+.announcement {
+ margin: 30px auto 0;
+ padding: 20px;
+ max-width: 500px;
+ background: #ffeb3b;
+ border: 3px solid #fbc02d;
+ border-radius: 8px;
+ text-align: center;
+ box-shadow: 0 4px 12px rgba(255, 235, 59, 0.3);
+}
+
+.announcement a {
+ color: #000;
+ font-weight: bold;
+ text-decoration: none;
+ font-size: 1rem;
+}
+
+.announcement a:hover,
+.announcement a:focus {
+ text-decoration: underline;
+ opacity: 0.85;
+}
+
+.links-bottom {
+ margin: 60px auto 0;
+ position: relative;
+ max-width: 400px;
+ text-align: center;
+ padding-bottom: 20px;
+ display: flex;
+ flex-wrap: wrap;
+ gap: 20px;
+ justify-content: center;
+}
+
+.links-bottom a {
+ color: #6be1e9;
+}
+
a {
color: #6be1e9;
}