(function () { var currentArtId = null; var currentImageIdx = null; var currentDocId = null; var mainContent = document.getElementById('main-content'); var infoOverlay = document.getElementById('info-overlay'); var infoContent = document.getElementById('info-overlay-content'); var closeInfo = document.getElementById('close-info'); var prevArt = document.getElementById('prev-art'); var nextArt = document.getElementById('next-art'); var imageOverlay = document.getElementById('image-overlay'); var fullscreenImage = document.getElementById('fullscreen-image'); var navHome = document.getElementById('nav-home'); var navDocs = document.getElementById('nav-docs'); var navContact = document.getElementById('nav-contact'); var homeLink = document.getElementById('home-link'); function getArtIndex(id) { for (var i = 0; i < DATA.arts.length; i++) { if (DATA.arts[i].id === id) return i; } return -1; } function getArtById(id) { for (var i = 0; i < DATA.arts.length; i++) { if (DATA.arts[i].id === id) return DATA.arts[i]; } return null; } function getDocBySlug(slug) { for (var i = 0; i < DATA.docFiles.length; i++) { if (DATA.docFiles[i].id === slug) return DATA.docFiles[i]; } return null; } function formatParagraphs(text) { var parts = text.split('\n\n'); var result = ''; for (var i = 0; i < parts.length; i++) { var p = parts[i].trim(); if (p) { result += '
' + p.replace(/\n/g, '
') + '
';
if (docId) {
var found = getDocBySlug(docId);
html += found ? found.raw.replace(//g, '>') : 'File not found';
} else {
html += 'Select a file to view';
}
html += '