// TRACKS — discography deck const { useState: useStateTr } = React; const TRACKS = [ { id: 1, title: "Eorzean Pulse", kana: "エオルゼアン・パルス", bpm: 132, dur: "4:18", genre: "TECHNO", mood: "DRIVE", accent: "var(--magenta)", plays: "1.2M" }, { id: 2, title: "Sakura Circuit", kana: "サクラ・サーキット", bpm: 120, dur: "3:52", genre: "SYNTH-POP", mood: "DREAM", accent: "var(--rose)", plays: "842K" }, { id: 3, title: "Woah! (Club Mix)", kana: "ウォア!クラブ・ミックス", bpm: 140, dur: "5:04", genre: "EDM", mood: "HYPE", accent: "var(--cyan)", plays: "2.6M" }, { id: 4, title: "Crimson Aetheryte", kana: "クリムゾン・エーテライト", bpm: 156, dur: "4:36", genre: "METAL", mood: "RAGE", accent: "var(--danger)", plays: "598K" }, { id: 5, title: "Half Moon Descent", kana: "ハーフムーン・ディセント", bpm: 110, dur: "6:12", genre: "AMBIENT", mood: "CHILL", accent: "var(--violet)", plays: "410K" }, { id: 6, title: "Dynamis Drop", kana: "ダイナミス・ドロップ", bpm: 145, dur: "4:02", genre: "TECHNO", mood: "DROP", accent: "var(--magenta)", plays: "1.8M" }, ]; function Tracks() { const [sel, setSel] = useStateTr(2); const t = TRACKS[sel]; return (
// 02 · DISCOGRAPHY DECK

TRACK LIBRARY

LOADED: {TRACKS.length} // STREAMS: 7.4M+
{/* Now Playing */}
NOW PLAYING · CH.{String(sel+1).padStart(2,"0")} AUDIO.STREAM.LIVE
{/* Record */}
GAIA
{t.genre} // {t.mood}
{t.title}
{t.kana}
{/* Waveform */}
{Array.from({length: 64}).map((_, i) => { const h = 20 + Math.abs(Math.sin(i * 0.6) * Math.cos(i * 0.2) * 80) + (i % 5) * 4; const active = i < 22; return ; })}
01:24 {t.dur}
BPM
{t.bpm}
{/* Track list */}
{TRACKS.map((tr, i) => ( ))}
); } const styles_tr = { grid: { display: "grid", gridTemplateColumns: "1.1fr 1fr", gap: 28, alignItems: "stretch" }, np: { padding: 28, display: "flex", flexDirection: "column", gap: 18 }, npHead: { display: "flex", justifyContent: "space-between", alignItems: "center" }, npBody: { display: "flex", gap: 24, alignItems: "center", flex: 1 }, npTitle: { fontSize: 32, letterSpacing: "0.02em", marginTop: 6, textWrap: "balance" }, vinyl: { position: "relative", width: 180, height: 180, flexShrink: 0 }, vinylDisc: { width: "100%", height: "100%", borderRadius: "50%", background: "radial-gradient(circle, oklch(0.1 0.02 300) 28%, oklch(0.15 0.03 300) 30%, oklch(0.08 0.02 300) 50%, oklch(0.12 0.03 300) 52%, oklch(0.08 0.02 300) 70%, oklch(0.14 0.03 300) 72%, oklch(0.06 0.02 300))", border: "2px solid oklch(0.2 0.04 300)", position: "relative", display: "flex", alignItems: "center", justifyContent: "center", }, vinylLabel: { width: "36%", aspectRatio: "1/1", borderRadius: "50%", display: "flex", alignItems: "center", justifyContent: "center", }, vinylArm: { position: "absolute", top: -8, right: -4, width: 70, height: 4, background: "linear-gradient(to right, var(--hud), var(--panel-stroke))", transformOrigin: "right", transform: "rotate(22deg)", borderRadius: 2, }, wave: { marginTop: 20, display: "flex", alignItems: "flex-end", gap: 2, height: 64, padding: "0 2px", borderBottom: "1px solid var(--panel-stroke)", }, wavMeta: { display: "flex", justifyContent: "space-between", marginTop: 6, fontSize: 11, }, ctrlRow: { display: "flex", alignItems: "center", gap: 10, marginTop: 16, }, ctrlBtn: { width: 36, height: 36, border: "1px solid var(--panel-stroke)", background: "oklch(0.12 0.04 300 / 0.6)", color: "var(--ink)", cursor: "pointer", fontFamily: "Orbitron, sans-serif", fontSize: 11, }, play: { width: 52, color: "var(--bg-0)", border: "none", fontSize: 14 }, list: { display: "flex", flexDirection: "column", gap: 8 }, row: { display: "flex", alignItems: "center", gap: 14, padding: "14px 18px", border: "1px solid var(--panel-stroke)", color: "var(--ink)", cursor: "pointer", fontFamily: "inherit", transition: "all .2s ease", }, }; Object.assign(window, { Tracks });