{"id":13,"date":"2026-01-09T17:27:55","date_gmt":"2026-01-10T00:27:55","guid":{"rendered":"https:\/\/rec0m88.com\/?page_id=13"},"modified":"2026-05-28T07:45:11","modified_gmt":"2026-05-28T13:45:11","slug":"download-rec0m88","status":"publish","type":"page","link":"https:\/\/rec0m88.com\/cs\/download-rec0m88\/","title":{"rendered":"St\u00e1hnout Rec0m88"},"content":{"rendered":"\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>Rec0m88 &#8211; The Ultimate Retro Gaming Emulator &#8211; With Netplay!<\/title>\n<style>\n\/* ============================================================\n   REC0M88 PAGE - NEON DARK THEME\n   Color Palette: Cyan #00f3ff | Pink #B805A1 | Yellow #FFD700\n   ============================================================ *\/\n\n:root {\n    --neon-cyan: #00f3ff;\n    --neon-pink: #B805A1;\n    --neon-yellow: #FFD700;\n    --neon-purple: #bf00ff;\n    --neon-green: #107C10;\n    --bg-dark: #0a0a0a;\n    --bg-card: #111111;\n    --bg-card-hover: #161616;\n    --bg-elevated: #1a1a1a;\n    --border-subtle: #222;\n    --border-medium: #333;\n    --text-primary: #ffffff;\n    --text-secondary: #b0b0b0;\n    --text-muted: #666;\n    --glow-cyan: rgba(0, 243, 255, 0.4);\n    --glow-pink: rgba(184, 5, 161, 0.4);\n    --glow-yellow: rgba(255, 215, 0, 0.3);\n}\n\n.Rec0m88-container {\n    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n    background: linear-gradient(180deg, var(--bg-dark) 0%, #0d0d0d 50%, var(--bg-dark) 100%);\n    color: var(--text-primary);\n    padding: 0;\n    line-height: 1.7;\n    max-width: 1400px;\n    margin: 0 auto;\n    word-break: normal;\n    overflow-wrap: break-word;\n    hyphens: none;\n}\n\n.icon { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; }\n.icon svg { width: 100%; height: 100%; }\n.icon-sm { width: 20px; height: 20px; }\n.icon-md { width: 24px; height: 24px; }\n.icon-lg { width: 32px; height: 32px; }\n.icon-xl { width: 48px; height: 48px; }\n.icon-2xl { width: 64px; height: 64px; }\n\n.icon-cyan svg { color: var(--neon-cyan); }\n.icon-pink svg { color: var(--neon-pink); }\n.icon-yellow svg { color: var(--neon-yellow); }\n.icon-white svg { color: var(--text-primary); }\n.icon-muted svg { color: var(--text-secondary); }\n\n.icon-glow-cyan { filter: drop-shadow(0 0 8px var(--glow-cyan)); }\n.icon-glow-pink { filter: drop-shadow(0 0 8px var(--glow-pink)); }\n.icon-glow-yellow { filter: drop-shadow(0 0 8px var(--glow-yellow)); }\n\n.hero-section {\n    text-align: center; padding: 80px 40px; border-radius: 20px; margin: 20px; position: relative; overflow: hidden;\n    background: radial-gradient(ellipse at top, rgba(0, 243, 255, 0.08) 0%, transparent 50%),\n                radial-gradient(ellipse at bottom right, rgba(184, 5, 161, 0.06) 0%, transparent 50%),\n                linear-gradient(135deg, var(--bg-card) 0%, #0d0d0d 100%);\n    border: 1px solid var(--border-subtle);\n    box-shadow: 0 0 80px rgba(0, 243, 255, 0.05), inset 0 1px 0 rgba(255,255,255,0.03);\n}\n.hero-section::before {\n    content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;\n    background: linear-gradient(90deg, transparent, var(--neon-cyan), var(--neon-pink), var(--neon-cyan), transparent);\n    background-size: 200% 100%; animation: shimmer 3s ease-in-out infinite;\n}\n@keyframes shimmer { 0%, 100% { background-position: -200% 0; } 50% { background-position: 200% 0; } }\n\n.hero-logo { width: 180px; height: 180px; margin: 0 auto 30px; display: block; border-radius: 50%; border: 3px solid var(--neon-cyan); box-shadow: 0 0 30px var(--glow-cyan), 0 0 60px rgba(0, 243, 255, 0.2); transition: all 0.4s ease; }\n.hero-logo:hover { border-color: var(--neon-pink); box-shadow: 0 0 40px var(--glow-pink), 0 0 80px rgba(184, 5, 161, 0.3); transform: scale(1.05); }\n\n.hero-title { font-size: clamp(2rem, 5vw, 3.5rem); font-weight: 800; margin: 0 0 20px 0; background: linear-gradient(135deg, var(--text-primary) 0%, var(--neon-cyan) 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; letter-spacing: -0.02em; }\n.hero-subtitle { font-size: 1.15rem; max-width: 650px; margin: 0 auto 40px; color: var(--text-secondary); line-height: 1.8; }\n\n.btn-primary { display: inline-flex; align-items: center; gap: 12px; background: linear-gradient(135deg, var(--neon-cyan) 0%, #00c4cc 100%); color: #000; padding: 18px 40px; font-size: 1.1rem; font-weight: 700; border-radius: 12px; text-decoration: none; text-transform: uppercase; letter-spacing: 1px; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); box-shadow: 0 4px 0 #008b8b, 0 8px 25px var(--glow-cyan); position: relative; overflow: hidden; }\n.btn-primary .icon svg { color: #000; }\n.btn-primary:hover { transform: translateY(-3px); box-shadow: 0 6px 0 #008b8b, 0 15px 40px var(--glow-cyan); }\n\n.btn-secondary { display: inline-flex; align-items: center; gap: 10px; background: transparent; color: var(--neon-pink); padding: 15px 35px; border-radius: 12px; text-decoration: none; border: 2px solid var(--neon-pink); font-weight: 700; transition: all 0.3s; }\n.btn-secondary:hover { background: var(--neon-pink); color: #fff; box-shadow: 0 0 30px var(--glow-pink); }\n.btn-secondary:hover .icon svg { color: #fff; }\n\n.hero-actions { display: flex; gap: 20px; justify-content: center; flex-wrap: wrap; margin-bottom: 20px; }\n\n.ejs-credit-strip { display: flex; align-items: center; justify-content: center; padding: 16px 20px; margin: 0 20px 20px; border-radius: 12px; background: linear-gradient(135deg, rgba(255, 215, 0, 0.03) 0%, rgba(0, 243, 255, 0.03) 100%); border: 1px solid rgba(255, 215, 0, 0.1); }\n.ejs-credit-strip-inner { display: inline-flex; align-items: center; gap: 10px; font-size: 0.88rem; color: var(--text-muted); }\n.ejs-credit-strip-inner svg { width: 16px; height: 16px; fill: var(--neon-yellow); opacity: 0.8; }\n.ejs-credit-strip-inner a { color: var(--neon-yellow); text-decoration: none; font-weight: 600; }\n.ejs-credit-strip-inner a:hover { text-decoration: underline; color: #fff; }\n\n\/* ============================================================\n   RETROACHIEVEMENTS HIGHLIGHT (NEW)\n   ============================================================ *\/\n.ra-highlight { padding: 60px 40px; margin: 0 20px 40px; background: radial-gradient(ellipse at center, rgba(255, 215, 0, 0.08) 0%, transparent 70%), var(--bg-card); border: 2px solid var(--neon-yellow); border-radius: 20px; text-align: center; position: relative; overflow: hidden; box-shadow: 0 0 50px rgba(255, 215, 0, 0.1); }\n.ra-highlight::before { content: 'HUGE UPDATE'; position: absolute; top: 25px; right: -40px; background: linear-gradient(135deg, var(--neon-yellow), var(--neon-pink)); color: #000; padding: 8px 50px; font-size: 0.75rem; font-weight: 800; letter-spacing: 2px; transform: rotate(45deg); box-shadow: 0 3px 10px rgba(255, 215, 0, 0.4); z-index: 10; }\n.ra-highlight h2 { font-size: 2.5rem; margin: 0 0 15px; color: var(--text-primary); }\n.ra-highlight .accent { background: linear-gradient(135deg, var(--neon-yellow) 0%, var(--neon-pink) 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }\n.ra-desc { max-width: 700px; margin: 0 auto 40px; color: var(--text-secondary); font-size: 1.15rem; }\n\n.ra-features-wrapper { display: flex; align-items: flex-start; justify-content: center; gap: 40px; flex-wrap: wrap; }\n.ra-badge-item { display: flex; flex-direction: column; align-items: center; gap: 15px; width: 140px; }\n.ra-icon-circle { width: 70px; height: 70px; border-radius: 50%; border: 2px solid; display: flex; align-items: center; justify-content: center; font-size: 32px; background: var(--bg-elevated); box-shadow: 0 10px 20px rgba(0,0,0,0.5); transition: transform 0.3s ease; }\n.ra-badge-item:hover .ra-icon-circle { transform: translateY(-5px); }\n.ra-badge-item h4 { margin: 0; color: var(--text-primary); font-size: 1.05rem; }\n\n\/* ============================================================\n   CROSS-PLATFORM NETPLAY HIGHLIGHT\n   ============================================================ *\/\n.crossplay-highlight { padding: 60px 40px; margin: 0 20px 40px; background: radial-gradient(ellipse at center, rgba(184, 5, 161, 0.1) 0%, transparent 70%), var(--bg-card); border: 2px solid var(--neon-pink); border-radius: 20px; text-align: center; position: relative; overflow: hidden; box-shadow: 0 0 50px rgba(184, 5, 161, 0.15); }\n.crossplay-highlight h2 { font-size: 2.5rem; margin: 0 0 15px; color: var(--text-primary); }\n.crossplay-highlight .accent { background: linear-gradient(135deg, var(--neon-pink) 0%, var(--neon-cyan) 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }\n.crossplay-desc { max-width: 700px; margin: 0 auto 40px; color: var(--text-secondary); font-size: 1.15rem; }\n\n.cp-nodes-wrapper { display: flex; align-items: center; justify-content: center; gap: 30px; position: relative; max-width: 800px; margin: 0 auto; flex-wrap: wrap; }\n.cp-line { position: absolute; top: 50%; left: 10%; right: 10%; height: 3px; background: linear-gradient(90deg, transparent, var(--neon-cyan), var(--neon-pink), var(--neon-cyan), transparent); transform: translateY(-50%); z-index: 1; border-radius: 5px; box-shadow: 0 0 15px var(--glow-pink); }\n.cp-node { width: 80px; height: 80px; background: var(--bg-elevated); border: 2px solid var(--border-medium); border-radius: 50%; display: flex; align-items: center; justify-content: center; z-index: 2; transition: all 0.3s ease; box-shadow: 0 10px 20px rgba(0,0,0,0.5); }\n.cp-node:hover { transform: translateY(-5px); border-color: var(--neon-cyan); box-shadow: 0 0 25px var(--glow-cyan); }\n.cp-node.xbox:hover { border-color: #107C10; color: #107C10; box-shadow: 0 0 25px rgba(16, 124, 16, 0.6); }\n.cp-center { width: 110px; height: 110px; background: linear-gradient(135deg, var(--neon-pink), var(--neon-purple)); border-radius: 50%; display: flex; align-items: center; justify-content: center; z-index: 3; color: #fff; box-shadow: 0 0 40px var(--glow-pink); border: 3px solid #fff; animation: pulse 2s infinite; }\n\n@keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(184, 5, 161, 0.7); } 70% { box-shadow: 0 0 0 20px rgba(184, 5, 161, 0); } 100% { box-shadow: 0 0 0 0 rgba(184, 5, 161, 0); } }\n\n.clarity-section { padding: 0 20px; margin-bottom: 40px; }\n.clarity-grid { display: grid; grid-template-columns: 1fr 2fr; gap: 20px; }\n.clarity-box { background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: 20px; padding: 35px 30px; transition: all 0.3s; }\n.clarity-box:hover { border-color: var(--border-medium); }\n.clarity-box h3 { margin: 0 0 25px; font-size: 1.5rem; display: flex; align-items: center; gap: 12px; }\n.clarity-box.hardware h3 { color: var(--neon-cyan); }\n.clarity-box.consoles h3 { color: var(--neon-yellow); }\n.hardware-list { display: flex; flex-direction: column; gap: 15px; }\n.hardware-item { display: flex; align-items: center; gap: 15px; padding: 15px; background: var(--bg-elevated); border-radius: 12px; border: 1px solid var(--border-subtle); font-weight: 600; transition: all 0.3s; }\n.hardware-item:hover { border-color: var(--neon-cyan); background: rgba(0, 243, 255, 0.05); }\n.hardware-item.xbox-highlight:hover { border-color: #107C10; background: rgba(16, 124, 16, 0.05); }\n.systems-cloud { display: flex; flex-wrap: wrap; gap: 10px; }\n.system-tag { background: linear-gradient(135deg, #1a1a1a 0%, #222 100%); color: var(--text-primary); padding: 10px 20px; border-radius: 30px; font-weight: 600; font-size: 0.9rem; border: 1px solid var(--border-medium); transition: all 0.3s ease; cursor: default; }\n.system-tag:hover { border-color: var(--neon-yellow); background: linear-gradient(135deg, rgba(255, 215, 0, 0.1) 0%, #1a1a1a 100%); box-shadow: 0 0 15px var(--glow-yellow); transform: translateY(-2px); }\n.system-tag.featured { border-color: var(--neon-pink); background: linear-gradient(135deg, rgba(184, 5, 161, 0.15) 0%, #1a1a1a 100%); }\n\n.features-section { padding: 0 20px; margin-bottom: 40px; }\n.features-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 25px; }\n.feature-card { background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: 16px; padding: 35px 30px; position: relative; overflow: hidden; transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); }\n.feature-card::before { content: ''; position: absolute; top: 0; left: 0; width: 4px; height: 100%; background: linear-gradient(180deg, var(--neon-cyan), var(--neon-pink)); opacity: 0; transition: opacity 0.3s ease; }\n.feature-card:hover { background: var(--bg-card-hover); border-color: var(--neon-cyan); transform: translateY(-5px); box-shadow: 0 20px 40px rgba(0, 0, 0, 0.4); }\n.feature-card:hover::before { opacity: 1; }\n.feature-icon { width: 56px; height: 56px; margin-bottom: 20px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }\n.feature-card:nth-child(1) .feature-icon { color: var(--neon-pink); filter: drop-shadow(0 0 10px var(--glow-pink)); }\n.feature-card:nth-child(2) .feature-icon { color: var(--neon-cyan); filter: drop-shadow(0 0 10px var(--glow-cyan)); }\n.feature-card:nth-child(3) .feature-icon { color: var(--neon-yellow); filter: drop-shadow(0 0 10px var(--glow-yellow)); }\n.feature-title { font-size: 1.3rem; margin-bottom: 12px; }\n.feature-description { color: var(--text-secondary); font-size: 0.95rem; margin: 0; }\n.feature-note { margin-top: 15px; padding: 12px 15px; background: rgba(255, 153, 0, 0.1); border-left: 3px solid #ff9900; border-radius: 0 8px 8px 0; font-size: 0.85rem; color: #ff9900; }\n\n.library-section { padding: 60px 40px; margin: 0 20px 40px; text-align: center; border-radius: 20px; position: relative; overflow: hidden; background: linear-gradient(135deg, rgba(0, 243, 255, 0.03) 0%, transparent 50%), var(--bg-card); border: 1px solid var(--border-subtle); }\n.library-badge { display: inline-block; background: linear-gradient(135deg, var(--neon-pink), var(--neon-purple)); padding: 6px 16px; border-radius: 20px; font-size: 0.8rem; font-weight: 700; margin-bottom: 20px; }\n.library-title-wrapper { display: flex; align-items: center; justify-content: center; gap: 15px; margin-bottom: 15px; }\n.library-section h2 { font-size: 2rem; margin: 0; background: linear-gradient(135deg, var(--neon-cyan) 0%, var(--neon-pink) 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; }\n.library-features { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; max-width: 800px; margin: 30px auto; }\n.library-feature { background: rgba(0, 0, 0, 0.3); border: 1px solid var(--border-subtle); border-radius: 12px; padding: 25px 20px; transition: all 0.3s ease; }\n.library-feature:hover { border-color: var(--neon-cyan); background: rgba(0, 243, 255, 0.05); }\n\n\/* This ensures the massive icon layout issue in the screenshot is completely fixed *\/\n.library-feature-icon { width: 48px; height: 48px; margin: 0 auto 12px; color: var(--neon-cyan); }\n.library-feature-icon svg { width: 100%; height: 100%; display: block; } \n\n.library-feature h4 { margin: 0 0 8px; }\n.library-feature p { color: var(--text-muted); font-size: 0.85rem; margin: 0; }\n.netplay-lobby-section { border-color: rgba(255, 45, 120, 0.3); box-shadow: 0 0 30px rgba(255, 45, 120, 0.08); }\n.netplay-badge { background: linear-gradient(135deg, #ff2d78, #c0006e); }\n.netplay-lobby-section .library-title-wrapper h2 { -webkit-text-fill-color: #ff2d78; }\n\n.gallery-section { padding: 0 20px; margin-bottom: 40px; }\n.section-header { text-align: center; margin-bottom: 40px; }\n.section-title { font-size: 2rem; margin-bottom: 15px; display: flex; align-items: center; justify-content: center; gap: 15px; }\n.section-title .accent { color: var(--neon-cyan); }\n.section-subtitle { color: var(--text-secondary); font-size: 1.1rem; }\n.gallery-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px; }\n.gallery-item { aspect-ratio: 16 \/ 10; border-radius: 12px; overflow: hidden; border: 1px solid var(--border-subtle); cursor: pointer; transition: all 0.4s; }\n.gallery-item:hover { border-color: var(--neon-cyan); transform: scale(1.02); box-shadow: 0 20px 40px rgba(0,0,0,0.4), 0 0 30px var(--glow-cyan); }\n.gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s; }\n.gallery-item:hover img { transform: scale(1.05); }\n\n.download-section { padding: 60px 40px; margin: 0 20px 40px; text-align: center; border-radius: 20px; position: relative; background: radial-gradient(ellipse at center, rgba(184, 5, 161, 0.08) 0%, transparent 60%), var(--bg-card); border: 1px solid var(--border-subtle); }\n.download-section::before { content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 3px; background: linear-gradient(90deg, var(--neon-cyan), var(--neon-pink), var(--neon-yellow)); }\n.download-header { display: flex; align-items: center; justify-content: center; gap: 15px; margin-bottom: 15px; }\n.download-header h2 { font-size: 2.2rem; margin: 0; }\n.download-section > p { color: var(--text-secondary); margin-bottom: 35px; }\n.download-buttons { display: flex; flex-wrap: wrap; gap: 20px; justify-content: center; margin-bottom: 30px; }\n.download-btn { display: inline-flex; align-items: center; gap: 12px; background: var(--bg-elevated); color: var(--text-primary); padding: 18px 30px; font-size: 1rem; font-weight: 600; border-radius: 12px; text-decoration: none; border: 1px solid var(--border-medium); transition: all 0.3s ease; min-width: 240px; justify-content: center; }\n.download-btn:hover { border-color: var(--neon-cyan); background: linear-gradient(135deg, rgba(0, 243, 255, 0.1) 0%, var(--bg-elevated) 100%); box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3); transform: translateY(-3px); }\n.download-btn[data-os=\"xbox\"]:hover { border-color: #107C10; background: linear-gradient(135deg, rgba(16, 124, 16, 0.1) 0%, var(--bg-elevated) 100%); }\n\n.changelog-section, .stats-section { padding: 40px; margin: 0 20px 40px; background: var(--bg-card); border: 1px solid var(--border-subtle); border-radius: 20px; }\n.changelog-header, .stats-header { display: flex; align-items: center; justify-content: center; gap: 15px; margin-bottom: 30px; }\n.changelog-header h2, .stats-header h2 { margin: 0; font-size: 2rem; }\n.changelog-item { background: var(--bg-elevated); border: 1px solid var(--border-subtle); border-radius: 12px; padding: 25px; margin: 0 auto; max-width: 900px;}\n.changelog-item.latest { border-color: var(--neon-cyan); background: linear-gradient(135deg, rgba(0, 243, 255, 0.05) 0%, var(--bg-elevated) 100%); }\n.changelog-version { font-size: 1.1rem; font-weight: 700; color: var(--neon-cyan); margin-bottom: 12px; }\n.changelog-version .date { color: var(--text-muted); font-size: 0.9rem; font-weight: 400; margin-left: 10px; }\n.changelog-details li { color: var(--text-secondary); margin-bottom: 6px; margin-left: 20px;}\n\n.stats-section { text-align: center; }\n.stats-total { font-size: 3rem; font-weight: 800; background: linear-gradient(135deg, var(--neon-cyan), var(--neon-pink)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; margin-bottom: 5px; }\n.stats-label { color: var(--text-muted); font-size: 0.9rem; text-transform: uppercase; letter-spacing: 2px; margin-bottom: 40px; }\n.stats-grid { display: flex; justify-content: center; gap: 40px; flex-wrap: wrap; }\n.stat-item { display: flex; flex-direction: column; align-items: center; gap: 8px; min-width: 100px; }\n.stat-value { font-size: 1.8rem; font-weight: 700; color: var(--neon-cyan); }\n.stat-os { color: var(--text-muted); font-size: 0.85rem; text-transform: uppercase; letter-spacing: 1px; }\n\n.lightbox { display: none; position: fixed; z-index: 9999; left: 0; top: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.95); justify-content: center; align-items: center; backdrop-filter: blur(10px); }\n.lightbox-content { max-width: 90%; max-height: 85vh; border-radius: 12px; box-shadow: 0 0 60px rgba(0, 243, 255, 0.2); }\n.lightbox-close { position: absolute; top: 20px; right: 30px; color: var(--text-primary); font-size: 2.5rem; cursor: pointer; width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: var(--bg-card); border: 1px solid var(--border-medium); }\n.lightbox-close:hover { color: var(--neon-cyan); border-color: var(--neon-cyan); }\n\n.ejs-attribution-section { padding: 50px 40px; margin: 0 20px 40px; background: linear-gradient(135deg, rgba(255, 215, 0, 0.03) 0%, var(--bg-card) 50%, rgba(0, 243, 255, 0.03) 100%); border: 1px solid var(--border-subtle); border-top: 3px solid var(--neon-yellow); border-radius: 20px; text-align: center; }\n.ejs-attribution-header { display: flex; align-items: center; justify-content: center; gap: 12px; margin-bottom: 25px; }\n.ejs-attribution-header h2 { font-size: 1.6rem; margin: 0; color: var(--neon-yellow); }\n.ejs-attribution-header svg { width: 28px; height: 28px; fill: var(--neon-yellow); filter: drop-shadow(0 0 8px var(--glow-yellow)); }\n.ejs-attribution-content { display: flex; align-items: center; justify-content: center; gap: 30px; flex-wrap: wrap; }\n.ejs-attribution-badge { display: flex; align-items: center; gap: 15px; background: var(--bg-elevated); border: 1px solid var(--border-medium); border-radius: 12px; padding: 20px 28px; }\n.ejs-attribution-badge svg { width: 36px; height: 36px; fill: var(--neon-yellow); }\n.ejs-badge-text { display: flex; flex-direction: column; text-align: left; }\n.ejs-badge-label { font-size: 0.7rem; text-transform: uppercase; letter-spacing: 2px; color: var(--text-muted); font-weight: 700; }\n.ejs-badge-name { font-size: 1.15rem; font-weight: 800; color: var(--neon-yellow); }\n.ejs-attribution-divider { width: 1px; height: 60px; background: var(--border-medium); }\n.ejs-attribution-details { display: flex; flex-direction: column; gap: 6px; text-align: center; font-size: 0.88rem; color: var(--text-secondary); }\n.ejs-attribution-details a { color: var(--neon-cyan); text-decoration: none; }\n\n@media (max-width: 768px) {\n    .Rec0m88-container { width: 100% !important; max-width: 100% !important; padding: 10px !important; box-sizing: border-box !important; }\n    .hero-section, .ra-highlight, .crossplay-highlight, .clarity-section, .features-section, .download-section, .changelog-section, .stats-section, .library-section, .ejs-attribution-section { padding: 30px 20px; margin: 0 10px 30px; border-radius: 16px; }\n    .cp-line { display: none; }\n    .hero-title { font-size: 1.8rem; }\n    .hero-logo { width: 140px; height: 140px; }\n    .features-grid, .gallery-grid, .clarity-grid { grid-template-columns: 1fr; }\n    .download-btn { width: 100%; max-width: 300px; }\n    .stats-grid { gap: 30px; }\n    .library-features { grid-template-columns: 1fr 1fr; }\n    .ejs-attribution-content { flex-direction: column; }\n    .ejs-attribution-divider { width: 60px; height: 1px; }\n    .hardware-item { flex-wrap: wrap; gap: 10px; }\n    .hardware-item .icon { flex-shrink: 0; }\n    .download-header { flex-direction: column; gap: 10px; }\n    .download-header h2 { font-size: 1.8rem; }\n    .changelog-header, .stats-header { flex-direction: column; gap: 10px; }\n    .section-title { flex-direction: column; gap: 10px; font-size: 1.6rem; }\n    .library-title-wrapper { flex-direction: column; gap: 10px; }\n    .library-section h2 { font-size: 1.6rem; }\n    .ejs-attribution-header { flex-direction: column; gap: 8px; }\n    .ra-highlight h2, .crossplay-highlight h2 { font-size: 1.8rem; }\n    .ra-desc, .crossplay-desc { font-size: 1rem; }\n    .ra-highlight::before { font-size: 0.65rem; padding: 6px 40px; top: 18px; right: -42px; }\n}\n\n@media (max-width: 480px) {\n    .library-features { grid-template-columns: 1fr; }\n    .system-tag { padding: 8px 16px; font-size: 0.85rem; }\n    .hero-section { padding: 40px 16px; }\n    .btn-primary { padding: 16px 28px; font-size: 1rem; }\n    .cp-node { width: 60px; height: 60px; }\n    .cp-center { width: 85px; height: 85px; }\n    .cp-nodes-wrapper { gap: 15px; }\n    .download-buttons { flex-direction: column; align-items: center; }\n    .stats-grid { gap: 20px; }\n    .stat-value { font-size: 1.4rem; }\n}\n<\/style>\n\n\n<div class=\"Rec0m88-container\">\n\n    <!-- SVG ICONS -->\n    <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"display: none;\">\n        <defs>\n            <symbol id=\"icon-windows\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M3 5.5L10.5 4.3V11.4H3V5.5ZM3 18.5V12.6H10.5V19.7L3 18.5ZM11.5 4.1L21 2.5V11.4H11.5V4.1ZM11.5 12.6H21V21.5L11.5 19.9V12.6Z\"><\/path><\/symbol>\n            <symbol id=\"icon-apple\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M18.71 19.5C17.88 20.74 17 21.95 15.66 21.97C14.32 22 13.89 21.18 12.37 21.18C10.84 21.18 10.37 21.95 9.1 22C7.79 22.05 6.8 20.68 5.96 19.47C4.25 17 2.94 12.45 4.7 9.39C5.57 7.87 7.13 6.91 8.82 6.88C10.1 6.86 11.32 7.75 12.11 7.75C12.89 7.75 14.37 6.68 15.92 6.84C16.57 6.87 18.39 7.1 19.56 8.82C19.47 8.88 17.39 10.1 17.41 12.63C17.44 15.65 20.06 16.66 20.09 16.67C20.06 16.74 19.67 18.11 18.71 19.5ZM13 3.5C13.73 2.67 14.94 2.04 15.94 2C16.07 3.17 15.6 4.35 14.9 5.19C14.21 6.04 13.07 6.7 11.95 6.61C11.8 5.46 12.36 4.26 13 3.5Z\"><\/path><\/symbol>\n            <symbol id=\"icon-linux\" viewBox=\"0 0 24 24\" fill=\"currentColor\"><path d=\"M12.5 2C10.29 2 8.5 3.79 8.5 6C8.5 6.68 8.66 7.32 8.94 7.89L8.5 9L6.5 9C5.67 9 5 9.67 5 10.5C5 11.33 5.67 12 6.5 12H7.34L6.11 14.46C5.42 15.84 5 17.37 5 19C5 20.1 5.9 21 7 21H17C18.1 21 19 20.1 19 19C19 17.37 18.58 15.84 17.89 14.46L16.66 12H17.5C18.33 12 19 11.33 19 10.5C19 9.67 18.33 9 17.5 9H15.5L15.06 7.89C15.34 7.32 15.5 6.68 15.5 6C15.5 3.79 13.71 2 12.5 2ZM10.5 6C10.5 5.45 10.95 5 11.5 5C12.05 5 12.5 5.45 12.5 6C12.5 6.55 12.05 7 11.5 7C10.95 7 10.5 6.55 10.5 6ZM13.5 6C13.5 5.45 13.95 5 14.5 5C15.05 5 15.5 5.45 15.5 6C15.5 6.55 15.05 7 14.5 7C13.95 7 13.5 6.55 13.5 6ZM10 16C9.45 16 9 15.55 9 15C9 14.45 9.45 14 10 14C10.55 14 11 14.45 11 15C11 15.55 10.55 16 10 16ZM14 16C13.45 16 13 15.55 13 15C13 14.45 13.45 14 14 14C14.55 14 15 14.45 15 15C15 15.55 14.55 16 14 16Z\"><\/path><\/symbol>\n            <symbol id=\"icon-xbox\" viewBox=\"0 0 24 24\" fill=\"currentColor\">\n               <path d=\"M12 2a10 10 0 1 0 10 10A10 10 0 0 0 12 2Zm-1.8 14.8c-2.4-.6-4.4-2.5-5.3-4.9.4.2.9.4 1.4.4 1.7 0 3.2-1 3.8-2.4l1.7 2.5c1 1.4 1.4 2.8 1.4 4.2 0 .1-.2.2-.6.3l-.4-.1Zm7.5-4.4c-1.1 2.6-3.4 4.6-6.2 5.1v-.4c0-1.5.5-3 1.5-4.3l1.9-2.8c.7-1.5 2.3-2.4 4.1-2.4.4 0 .8 0 1.2-.2a8.2 8.2 0 0 1-2.5 4.3v.7Zm-6.8-8.1c2.3.8 4.1 2.7 4.8 5.1a5 5 0 0 0-3.5-1.3 5.3 5.3 0 0 0-4.1 2L7 8.5c-.6-.9-1.6-1.6-2.7-1.9a8.4 8.4 0 0 1 6.5-5.4l.4.1Z\"><\/path>\n            <\/symbol>\n            <symbol id=\"icon-netplay\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"2\" y=\"6\" width=\"20\" height=\"12\" rx=\"3\"><\/rect><circle cx=\"8\" cy=\"12\" r=\"2\"><\/circle><circle cx=\"16\" cy=\"10\" r=\"1\"><\/circle><circle cx=\"16\" cy=\"14\" r=\"1\"><\/circle><path d=\"M12 9v6\"><\/path><\/symbol>\n            <symbol id=\"icon-save\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M19 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11l5 5v11a2 2 0 0 1-2 2z\"><\/path><polyline points=\"17 21 17 13 7 13 7 21\"><\/polyline><polyline points=\"7 3 7 8 15 8\"><\/polyline><\/symbol>\n            <symbol id=\"icon-devices\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"2\" y=\"3\" width=\"14\" height=\"11\" rx=\"2\"><\/rect><rect x=\"16\" y=\"8\" width=\"6\" height=\"13\" rx=\"1\"><\/rect><line x1=\"9\" y1=\"17\" x2=\"9\" y2=\"20\"><\/line><line x1=\"5\" y1=\"20\" x2=\"13\" y2=\"20\"><\/line><line x1=\"18\" y1=\"18\" x2=\"20\" y2=\"18\"><\/line><\/symbol>\n            <symbol id=\"icon-controller\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M6 11h4M8 9v4\"><\/path><circle cx=\"17\" cy=\"10\" r=\"1\" fill=\"currentColor\"><\/circle><circle cx=\"15\" cy=\"12\" r=\"1\" fill=\"currentColor\"><\/circle><path d=\"M17.32 5H6.68a4 4 0 0 0-3.978 3.59c-.006.052-.01.101-.017.152C2.604 9.416 2 14.456 2 16a3 3 0 0 0 3 3c1.652 0 2.72-.97 3.678-2.166.27-.336.558-.663.862-.977A1.977 1.977 0 0 1 10.95 15h2.1a1.977 1.977 0 0 1 1.41.857c.304.314.591.641.862.977C16.28 18.03 17.348 19 19 19a3 3 0 0 0 3-3c0-1.544-.604-6.584-.685-7.258-.007-.05-.011-.1-.017-.152A4 4 0 0 0 17.32 5z\"><\/path><\/symbol>\n            <symbol id=\"icon-download\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4\"><\/path><polyline points=\"7 10 12 15 17 10\"><\/polyline><line x1=\"12\" y1=\"15\" x2=\"12\" y2=\"3\"><\/line><\/symbol>\n            <symbol id=\"icon-book\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M4 19.5A2.5 2.5 0 0 1 6.5 17H20\"><\/path><path d=\"M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z\"><\/path><line x1=\"8\" y1=\"7\" x2=\"16\" y2=\"7\"><\/line><line x1=\"8\" y1=\"11\" x2=\"14\" y2=\"11\"><\/line><\/symbol>\n            <symbol id=\"icon-stats\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"18\" y1=\"20\" x2=\"18\" y2=\"10\"><\/line><line x1=\"12\" y1=\"20\" x2=\"12\" y2=\"4\"><\/line><line x1=\"6\" y1=\"20\" x2=\"6\" y2=\"14\"><\/line><line x1=\"3\" y1=\"20\" x2=\"21\" y2=\"20\"><\/line><\/symbol>\n            <symbol id=\"icon-library\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M22 19a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h5l2 3h9a2 2 0 0 1 2 2z\"><\/path><line x1=\"12\" y1=\"11\" x2=\"12\" y2=\"17\"><\/line><line x1=\"9\" y1=\"14\" x2=\"15\" y2=\"14\"><\/line><\/symbol>\n            <symbol id=\"icon-image\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3\" y=\"3\" width=\"18\" height=\"18\" rx=\"2\" ry=\"2\"><\/rect><circle cx=\"8.5\" cy=\"8.5\" r=\"1.5\"><\/circle><polyline points=\"21 15 16 10 5 21\"><\/polyline><\/symbol>\n            <symbol id=\"icon-star\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><polygon points=\"12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26 12 2\"><\/polygon><\/symbol>\n            <symbol id=\"icon-arrow-right\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\"><\/line><polyline points=\"12 5 19 12 12 19\"><\/polyline><\/symbol>\n            <symbol id=\"icon-search\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><circle cx=\"11\" cy=\"11\" r=\"8\"><\/circle><line x1=\"21\" y1=\"21\" x2=\"16.65\" y2=\"16.65\"><\/line><\/symbol>\n            <symbol id=\"icon-organize\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><rect x=\"3\" y=\"3\" width=\"7\" height=\"7\" rx=\"1\"><\/rect><rect x=\"14\" y=\"3\" width=\"7\" height=\"7\" rx=\"1\"><\/rect><rect x=\"14\" y=\"14\" width=\"7\" height=\"7\" rx=\"1\"><\/rect><rect x=\"3\" y=\"14\" width=\"7\" height=\"7\" rx=\"1\"><\/rect><\/symbol>\n            <symbol id=\"icon-wrench\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M14.7 6.3a1 1 0 0 0 0 1.4l1.6 1.6a1 1 0 0 0 1.4 0l3.77-3.77a6 6 0 0 1-7.94 7.94l-6.91 6.91a2.12 2.12 0 0 1-3-3l6.91-6.91a6 6 0 0 1 7.94-7.94l-3.76 3.76z\"><\/path><\/symbol>\n            <symbol id=\"icon-key\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M21 2l-2 2m-7.61 7.61a5.5 5.5 0 1 1-7.778 7.778 5.5 5.5 0 0 1 7.777-7.777zm0 0L15.5 7.5m0 0l3 3L22 7l-3-3m-3.5 3.5L19 4\"><\/path><\/symbol>\n        <\/defs>\n    <\/svg>\n\n    <!-- HERO SECTION -->\n    <section class=\"hero-section\">\n        <img decoding=\"async\" src=\"https:\/\/rec0m88.com\/wp-content\/uploads\/2026\/01\/Rec0m88.png\" alt=\"Rec0m88 Logo\" class=\"hero-logo\" loading=\"lazy\">\n        <h1 class=\"hero-title\">Rec0m88<\/h1>\n        <p class=\"hero-subtitle\">\n            The Ultimate Retro Gaming Emulator with seamless Netplay and RetroAchievements.<br>\n            Auto-scan library, cover art, save states, and cross-platform multiplayer on \n            Windows, macOS, Linux, and <strong>Xbox Series X|S<\/strong>.\n        <\/p>\n        \n        <div class=\"hero-actions\">\n            <a href=\"#download\" id=\"main-download-btn\" class=\"btn-primary\">\n                <span class=\"icon icon-md\"><svg><use href=\"#icon-download\"><\/use><\/svg><\/span>\n                <span>Detecting your OS&#8230;<\/span>\n            <\/a>\n            <a href=\"https:\/\/rec0m88.com\/setup-rec0m88\" class=\"btn-secondary\">\n                <span class=\"icon icon-md\"><svg><use href=\"#icon-book\"><\/use><\/svg><\/span>\n                <span>View Setup Guide<\/span>\n            <\/a>\n        <\/div>\n    <\/section>\n\n    <!-- EMULATORJS CREDIT STRIP -->\n    <div class=\"ejs-credit-strip\">\n        <div class=\"ejs-credit-strip-inner\">\n            <svg viewBox=\"0 0 24 24\"><path d=\"M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5\"><\/path><\/svg>\n            <span>Emulation powered by <a href=\"https:\/\/emulatorjs.org\" target=\"_blank\" rel=\"noopener\">EmulatorJS<\/a> \u2014 by Ethan O&#8217;Brien<\/span>\n        <\/div>\n    <\/div>\n\n    <!-- RETROACHIEVEMENTS HIGHLIGHT (NEW) -->\n    <section class=\"ra-highlight\">\n        <h2>Fully Integrated <span class=\"accent\">RetroAchievements<\/span><\/h2>\n        <p class=\"ra-desc\">\n            Prove your skills and track your mastery of classic games. Rec0m88 natively integrates \n            with RetroAchievements featuring Hardcore mode, live leaderboards, offline queueing, \n            and a beautiful in-game overlay.\n        <\/p>\n        \n        <div class=\"ra-features-wrapper\">\n            <div class=\"ra-badge-item\">\n                <div class=\"ra-icon-circle\" style=\"border-color: #ff4466; color: #ff4466;\">\ud83d\udd25<\/div>\n                <h4>Hardcore Mode<\/h4>\n            <\/div>\n            <div class=\"ra-badge-item\">\n                <div class=\"ra-icon-circle\" style=\"border-color: var(--neon-yellow); color: var(--neon-yellow);\">\ud83c\udfc6<\/div>\n                <h4>Live Leaderboards<\/h4>\n            <\/div>\n            <div class=\"ra-badge-item\">\n                <div class=\"ra-icon-circle\" style=\"border-color: var(--neon-cyan); color: var(--neon-cyan);\">\ud83d\udcbb<\/div>\n                <h4>In-Game Overlay<\/h4>\n            <\/div>\n            <div class=\"ra-badge-item\">\n                <div class=\"ra-icon-circle\" style=\"border-color: #00ff88; color: #00ff88;\">\ud83d\udcf6<\/div>\n                <h4>Offline Sync<\/h4>\n            <\/div>\n        <\/div>\n\n        <div style=\"margin-top: 40px;\">\n            <a href=\"https:\/\/rec0m88.com\/setup-rec0m88#ra-hardcore\" class=\"btn-secondary\" style=\"background: var(--bg-card);\">\n                <span class=\"icon icon-md\"><svg><use href=\"#icon-book\"><\/use><\/svg><\/span>\n                <span>View Hardcore Mode Documentation<\/span>\n            <\/a>\n        <\/div>\n    <\/section>\n\n    <!-- CROSS-PLATFORM NETPLAY HIGHLIGHT -->\n    <section class=\"crossplay-highlight\">\n        <h2>True Cross-Platform <span class=\"accent\">Netplay<\/span><\/h2>\n        <p class=\"crossplay-desc\">\n            Play with friends no matter what hardware they own. Host a game on your PC, \n            and have your friends join instantly from their Xbox, Mac, or Linux machine.\n            One lobby, zero boundaries.\n        <\/p>\n        \n        <div class=\"cp-nodes-wrapper\">\n            <div class=\"cp-line\"><\/div>\n            <div class=\"cp-node\" title=\"Windows\"><span class=\"icon icon-lg icon-cyan\"><svg><use href=\"#icon-windows\"><\/use><\/svg><\/span><\/div>\n            <div class=\"cp-node\" title=\"macOS\"><span class=\"icon icon-lg icon-cyan\"><svg><use href=\"#icon-apple\"><\/use><\/svg><\/span><\/div>\n            <div class=\"cp-center\" title=\"Netplay Lobby\"><span class=\"icon icon-2xl\"><svg><use href=\"#icon-netplay\"><\/use><\/svg><\/span><\/div>\n            <div class=\"cp-node\" title=\"Linux\"><span class=\"icon icon-lg icon-cyan\"><svg><use href=\"#icon-linux\"><\/use><\/svg><\/span><\/div>\n            <div class=\"cp-node xbox\" title=\"Xbox Series X|S\"><span class=\"icon icon-lg icon-cyan\"><svg><use href=\"#icon-xbox\"><\/use><\/svg><\/span><\/div>\n        <\/div>\n    <\/section>\n\n    <!-- CLARITY SECTION: Hardware vs Systems -->\n    <section class=\"clarity-section\">\n        <div class=\"clarity-grid\">\n            <!-- Hardware \/ OS -->\n            <div class=\"clarity-box hardware\">\n                <h3><span class=\"icon icon-md icon-cyan\"><svg><use href=\"#icon-devices\"><\/use><\/svg><\/span> Play On<\/h3>\n                <div class=\"hardware-list\">\n                    <div class=\"hardware-item\"><span class=\"icon icon-md icon-cyan\"><svg><use href=\"#icon-windows\"><\/use><\/svg><\/span> Windows 10 &amp; 11<\/div>\n                    <div class=\"hardware-item\"><span class=\"icon icon-md icon-cyan\"><svg><use href=\"#icon-apple\"><\/use><\/svg><\/span> macOS (Intel &amp; Apple Silicon)<\/div>\n                    <div class=\"hardware-item\"><span class=\"icon icon-md icon-cyan\"><svg><use href=\"#icon-linux\"><\/use><\/svg><\/span> Linux (.Deb)<\/div>\n                    <div class=\"hardware-item xbox-highlight\"><span class=\"icon icon-md icon-cyan\"><svg><use href=\"#icon-xbox\"><\/use><\/svg><\/span> Xbox Series X|S (Dev Mode)<\/div>\n                <\/div>\n            <\/div>\n\n            <!-- Emulated Consoles -->\n            <div class=\"clarity-box consoles\">\n                <h3><span class=\"icon icon-md icon-yellow\"><svg><use href=\"#icon-controller\"><\/use><\/svg><\/span> Play Games From<\/h3>\n                <p style=\"color: var(--text-secondary); margin-top: -15px; margin-bottom: 20px; font-size: 0.95rem;\">\n                    18 classic consoles supported natively.\n                <\/p>\n                <div class=\"systems-cloud\">\n                    <span class=\"system-tag\">Atari 2600<\/span>\n                    <span class=\"system-tag\">Atari 7800<\/span>\n                    <span class=\"system-tag\">Atari Lynx<\/span>\n                    <span class=\"system-tag\">Game Boy<\/span>\n                    <span class=\"system-tag featured\">Game Boy Advance<\/span>\n                    <span class=\"system-tag\">Game Boy Color<\/span>\n                    <span class=\"system-tag featured\">NES<\/span>\n                    <span class=\"system-tag featured\">Nintendo 64<\/span>\n                    <span class=\"system-tag\">Nintendo DS<\/span>\n                    <span class=\"system-tag\">PC Engine<\/span>\n                    <span class=\"system-tag featured\">PlayStation<\/span>\n                    <span class=\"system-tag\">Sega 32X<\/span>\n                    <span class=\"system-tag\">Sega Game Gear<\/span>\n                    <span class=\"system-tag featured\">Sega Genesis<\/span>\n                    <span class=\"system-tag\">Sega Master System<\/span>\n                    <span class=\"system-tag featured\">Super Nintendo<\/span>\n                    <span class=\"system-tag\">Virtual Boy<\/span>\n                    <span class=\"system-tag\">WonderSwan<\/span>\n                <\/div>\n            <\/div>\n        <\/div>\n    <\/section>\n\n    <!-- FEATURES SECTION -->\n    <section class=\"features-section\">\n        <div class=\"features-grid\">\n            <article class=\"feature-card\">\n                <div class=\"feature-icon\"><svg><use href=\"#icon-netplay\"><\/use><\/svg><\/div>\n                <h3 class=\"feature-title\">Seamless Netplay<\/h3>\n                <p class=\"feature-description\">\n                    Connect with friends and relive your favorite multiplayer games online \n                    with our simple and secure netplay server.\n                <\/p>\n            <\/article>\n            \n            <article class=\"feature-card\">\n                <div class=\"feature-icon\"><span style=\"font-size:32px;\">\ud83c\udfc6<\/span><\/div>\n                <h3 class=\"feature-title\">RetroAchievements<\/h3>\n                <p class=\"feature-description\">\n                    Built-in hardcore mode, active leaderboards, offline queueing, and a beautiful overlay to track your game mastery.\n                <\/p>\n            <\/article>\n            \n            <article class=\"feature-card\">\n                <div class=\"feature-icon\"><svg><use href=\"#icon-devices\"><\/use><\/svg><\/div>\n                <h3 class=\"feature-title\">Zero-Config Setup<\/h3>\n                <p class=\"feature-description\">\n                    Point the app at your ROM folder and it builds your library automatically. \n                    Background scanning, auto cover art, native gamepad detection, and built-in cheats.\n                <\/p>\n            <\/article>\n        <\/div>\n    <\/section>\n\n    <!-- NETPLAY LOBBY SECTION -->\n    <section class=\"library-section netplay-lobby-section\">\n        <span class=\"library-badge netplay-badge\">Live Multiplayer<\/span>\n        <div class=\"library-title-wrapper\">\n            <span class=\"icon icon-xl icon-pink icon-glow-pink\"><svg><use href=\"#icon-netplay\"><\/use><\/svg><\/span>\n            <h2>Netplay Lobby<\/h2>\n        <\/div>\n        <p>\n            Rec0m88 features a fully integrated Netplay Lobby \u2014 browse and join active \n            multiplayer sessions live, right from the idle screen. See who&#8217;s playing, \n            what game, and jump in instantly. (Players must use identical ROM files).\n        <\/p>\n\n        <div class=\"library-features\">\n            <div class=\"library-feature\"><div class=\"library-feature-icon\"><svg><use href=\"#icon-netplay\"><\/use><\/svg><\/div><h4>Live Lobby<\/h4><p>See all active netplay sessions in real time<\/p><\/div>\n            <div class=\"library-feature\"><div class=\"library-feature-icon\"><svg><use href=\"#icon-star\"><\/use><\/svg><\/div><h4>One-Click Join<\/h4><p>Join any active game directly from the main menu<\/p><\/div>\n            <div class=\"library-feature\"><div class=\"library-feature-icon\"><svg><use href=\"#icon-image\"><\/use><\/svg><\/div><h4>Game Details<\/h4><p>See the game, platform, and host before joining<\/p><\/div>\n            <div class=\"library-feature\"><div class=\"library-feature-icon\"><svg><use href=\"#icon-devices\"><\/use><\/svg><\/div><h4>Cross-Play<\/h4><p>Play with PC, Mac, Linux, or Xbox players<\/p><\/div>\n        <\/div>\n\n        <a href=\"https:\/\/rec0m88.com\/netplay-lobby\/\" class=\"btn-secondary\">\n            <span class=\"icon icon-md\"><svg><use href=\"#icon-arrow-right\"><\/use><\/svg><\/span>\n            <span>View Netplay Lobby<\/span>\n        <\/a>\n    <\/section>\n\n    <!-- GAME LIBRARY SECTION -->\n    <section class=\"library-section\">\n        <span class=\"library-badge\">Library Manager<\/span>\n        <div class=\"library-title-wrapper\">\n            <span class=\"icon icon-xl icon-cyan icon-glow-cyan\"><svg><use href=\"#icon-library\"><\/use><\/svg><\/span>\n            <h2>Game Library Organizer<\/h2>\n        <\/div>\n        <p>\n            Manage your ROM library right inside Rec0m88! Set your ROM folder once and the app \n            scans everything in the background \u2014 subfolders included. Games are matched against \n            RAWG &amp; IGDB for cover art, ratings, and metadata automatically.\n        <\/p>\n        \n        <div class=\"library-features\">\n            <div class=\"library-feature\"><div class=\"library-feature-icon\"><svg><use href=\"#icon-search\"><\/use><\/svg><\/div><h4>Auto-Scan<\/h4><p>Background scanner finds all ROMs across subfolders<\/p><\/div>\n            <div class=\"library-feature\"><div class=\"library-feature-icon\"><svg><use href=\"#icon-image\"><\/use><\/svg><\/div><h4>Auto-Match<\/h4><p>Cover art &amp; metadata fetched from RAWG automatically<\/p><\/div>\n            <div class=\"library-feature\"><div class=\"library-feature-icon\"><svg><use href=\"#icon-organize\"><\/use><\/svg><\/div><h4>Organize ROMs<\/h4><p>Sort by system, genre, or favorites<\/p><\/div>\n            <div class=\"library-feature\"><div class=\"library-feature-icon\"><svg><use href=\"#icon-key\"><\/use><\/svg><\/div><h4>Key Import<\/h4><p>Import API keys from a file \u2014 no typing on controller<\/p><\/div>\n        <\/div>\n        \n        <a href=\"https:\/\/rec0m88.com\/game-library-organizer\/\" class=\"btn-secondary\">\n            <span class=\"icon icon-md\"><svg><use href=\"#icon-arrow-right\"><\/use><\/svg><\/span>\n            <span>ROM Library Organizer<\/span>\n        <\/a>\n    <\/section>\n\n    <!-- GALLERY SECTION -->\n    <section class=\"gallery-section\">\n        <div class=\"section-header\">\n            <h2 class=\"section-title\">\n                <span class=\"icon icon-lg icon-pink icon-glow-pink\"><svg><use href=\"#icon-image\"><\/use><\/svg><\/span>\n                See Rec0m88 <span class=\"accent\">in Action<\/span>\n            <\/h2>\n            <p class=\"section-subtitle\">Screenshots from the latest version<\/p>\n        <\/div>\n        <div class=\"gallery-grid\">\n            <!-- Existing Images -->\n            <div class=\"gallery-item\"><img decoding=\"async\" src=\"https:\/\/rec0m88.com\/wp-content\/uploads\/2026\/02\/rec0m88-idle.png\" alt=\"Rec0m88 Idle\" class=\"gallery-clickable-img\" loading=\"lazy\"><\/div>\n            <div class=\"gallery-item\"><img decoding=\"async\" src=\"https:\/\/rec0m88.com\/wp-content\/uploads\/2026\/02\/rec0m88-loaded.png\" alt=\"Playing a Game\" class=\"gallery-clickable-img\" loading=\"lazy\"><\/div>\n            <div class=\"gallery-item\"><img decoding=\"async\" src=\"https:\/\/rec0m88.com\/wp-content\/uploads\/2026\/02\/rec0m88-Library.png\" alt=\"Game Library\" class=\"gallery-clickable-img\" loading=\"lazy\"><\/div>\n            <div class=\"gallery-item\"><img decoding=\"async\" src=\"https:\/\/rec0m88.com\/wp-content\/uploads\/2026\/02\/rec0m88-idle-netplay.png\" alt=\"Rec0m88 Netplay Idle Screen\" class=\"gallery-clickable-img\" loading=\"lazy\"><\/div>\n            <div class=\"gallery-item\"><img decoding=\"async\" src=\"https:\/\/rec0m88.com\/wp-content\/uploads\/2026\/02\/rec0m88-Multiselect.png\" alt=\"Rec0m88 Multi-select Feature\" class=\"gallery-clickable-img\" loading=\"lazy\"><\/div>\n            <div class=\"gallery-item\"><img decoding=\"async\" src=\"https:\/\/rec0m88.com\/wp-content\/uploads\/2026\/02\/rec0m88-netplay.png\" alt=\"Netplay Action\" class=\"gallery-clickable-img\" loading=\"lazy\"><\/div>\n            <div class=\"gallery-item\"><img decoding=\"async\" src=\"https:\/\/rec0m88.com\/wp-content\/uploads\/2026\/02\/rec0m88-cheats.png\" alt=\"Cheats Menu\" class=\"gallery-clickable-img\" loading=\"lazy\"><\/div>\n            <div class=\"gallery-item\"><img decoding=\"async\" src=\"https:\/\/rec0m88.com\/wp-content\/uploads\/2026\/02\/rec0m88-settings-1.png\" alt=\"Settings Menu\" class=\"gallery-clickable-img\" loading=\"lazy\"><\/div>\n            <div class=\"gallery-item\"><img decoding=\"async\" src=\"https:\/\/rec0m88.com\/wp-content\/uploads\/2026\/02\/rec0m88-controls.png\" alt=\"Rec0m88 Controller Configuration\" class=\"gallery-clickable-img\" loading=\"lazy\"><\/div>\n            <div class=\"gallery-item\"><img decoding=\"async\" src=\"https:\/\/rec0m88.com\/wp-content\/uploads\/2026\/02\/rec0m88-APIs.png\" alt=\"Rec0m88 API Configuration\" class=\"gallery-clickable-img\" loading=\"lazy\"><\/div>\n            \n            <!-- 3 New RetroAchievement Images MOVED TO END -->\n            <div class=\"gallery-item\"><img decoding=\"async\" src=\"https:\/\/rec0m88.com\/wp-content\/uploads\/2026\/04\/RetroAchievement.png\" alt=\"RetroAchievements Integration\" class=\"gallery-clickable-img\" loading=\"lazy\"><\/div>\n            <div class=\"gallery-item\"><img decoding=\"async\" src=\"https:\/\/rec0m88.com\/wp-content\/uploads\/2026\/04\/RetroAchievements3.png\" alt=\"RetroAchievements UI Overlay\" class=\"gallery-clickable-img\" loading=\"lazy\"><\/div>\n            <div class=\"gallery-item\"><img decoding=\"async\" src=\"https:\/\/rec0m88.com\/wp-content\/uploads\/2026\/04\/RetroProgress.png\" alt=\"RetroAchievements Library Progress\" class=\"gallery-clickable-img\" loading=\"lazy\"><\/div>\n        <\/div>\n    <\/section>\n\n    <!-- DOWNLOAD SECTION -->\n    <section id=\"download\" class=\"download-section\">\n        <div class=\"download-header\">\n            <span class=\"icon icon-xl icon-cyan icon-glow-cyan\"><svg><use href=\"#icon-download\"><\/use><\/svg><\/span>\n            <h2>Download Rec0m88<\/h2>\n        <\/div>\n        <p>Completely free. Download the latest version for your hardware below.<\/p>\n        \n        <div class=\"download-buttons\">\n            <a href=\"#\" class=\"download-btn download-link\" data-os=\"windows\">\n                <span class=\"icon icon-lg icon-cyan\"><svg><use href=\"#icon-windows\"><\/use><\/svg><\/span>\n                <span>Download for Windows<\/span>\n            <\/a>\n            <a href=\"#\" class=\"download-btn download-link\" data-os=\"macos\">\n                <span class=\"icon icon-lg icon-cyan\"><svg><use href=\"#icon-apple\"><\/use><\/svg><\/span>\n                <span>Download for macOS<\/span>\n            <\/a>\n            <a href=\"#\" class=\"download-btn download-link\" data-os=\"linux\">\n                <span class=\"icon icon-lg icon-cyan\"><svg><use href=\"#icon-linux\"><\/use><\/svg><\/span>\n                <span>Download for Linux<\/span>\n            <\/a>\n            <a href=\"#\" class=\"download-btn download-link\" data-os=\"xbox\">\n                <span class=\"icon icon-lg icon-cyan\" style=\"color: var(--neon-green)\"><svg><use href=\"#icon-xbox\"><\/use><\/svg><\/span>\n                <span>Download for Xbox<\/span>\n            <\/a>\n        <\/div>\n        <div style=\"margin-top: 20px;\">\n            <a href=\"https:\/\/rec0m88.com\/setup-rec0m88\" class=\"btn-secondary\">\n                <span class=\"icon icon-md\"><svg><use href=\"#icon-book\"><\/use><\/svg><\/span>\n                <span>View Setup &amp; Instructions Guide<\/span>\n            <\/a>\n        <\/div>\n    <\/section>\n\n    <!-- CHANGELOG SECTION -->\n    <section class=\"changelog-section\" id=\"changelog\">\n        <div class=\"changelog-header\"><h2>Current Version<\/h2><\/div>\n        <div class=\"changelog-item latest\" id=\"changelog-latest\">\n            <div class=\"changelog-version\" id=\"changelog-version\">Loading\u2026<\/div>\n            <ul class=\"changelog-details\" id=\"changelog-details\"><\/ul>\n        <\/div>\n        <div style=\"text-align: center; margin-top: 30px;\">\n            <a href=\"https:\/\/rec0m88.com\/rec0m88-changelog\" class=\"btn-secondary\">View Full Changelog History<\/a>\n        <\/div>\n    <\/section>\n\n    <!-- STATS SECTION -->\n    <section class=\"stats-section\">\n        <div class=\"stats-header\">\n            <span class=\"icon icon-xl icon-yellow icon-glow-yellow\"><svg><use href=\"#icon-stats\"><\/use><\/svg><\/span>\n            <h2>Download Statistics<\/h2>\n        <\/div>\n        <div id=\"total-downloads\" class=\"stats-total\">Loading&#8230;<\/div>\n        <div class=\"stats-label\">Total Downloads<\/div>\n        \n        <div class=\"stats-grid\">\n            <div class=\"stat-item\"><span class=\"icon icon-lg icon-cyan\"><svg><use href=\"#icon-windows\"><\/use><\/svg><\/span><span id=\"windows-downloads\" class=\"stat-value\">&#8230;<\/span><span class=\"stat-os\">Windows<\/span><\/div>\n            <div class=\"stat-item\"><span class=\"icon icon-lg icon-cyan\"><svg><use href=\"#icon-apple\"><\/use><\/svg><\/span><span id=\"mac-downloads\" class=\"stat-value\">&#8230;<\/span><span class=\"stat-os\">macOS<\/span><\/div>\n            <div class=\"stat-item\"><span class=\"icon icon-lg icon-cyan\"><svg><use href=\"#icon-linux\"><\/use><\/svg><\/span><span id=\"linux-downloads\" class=\"stat-value\">&#8230;<\/span><span class=\"stat-os\">Linux<\/span><\/div>\n            <div class=\"stat-item\"><span class=\"icon icon-lg icon-cyan\" style=\"color:var(--neon-green);\"><svg><use href=\"#icon-xbox\"><\/use><\/svg><\/span><span id=\"xbox-downloads\" class=\"stat-value\" style=\"color:var(--neon-green);\">&#8230;<\/span><span class=\"stat-os\">Xbox<\/span><\/div>\n        <\/div>\n    <\/section>\n\n    <!-- EMULATORJS ATTRIBUTION SECTION -->\n    <section class=\"ejs-attribution-section\">\n        <div class=\"ejs-attribution-header\">\n            <svg viewBox=\"0 0 24 24\"><path d=\"M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5\"><\/path><\/svg>\n            <h2>Powered by EmulatorJS<\/h2>\n        <\/div>\n        <div class=\"ejs-attribution-content\">\n            <div class=\"ejs-attribution-badge\">\n                <svg viewBox=\"0 0 24 24\"><path d=\"M12 2L2 7l10 5 10-5-10-5zM2 17l10 5 10-5M2 12l10 5 10-5\"><\/path><\/svg>\n                <div class=\"ejs-badge-text\">\n                    <span class=\"ejs-badge-label\">Emulation Engine<\/span>\n                    <span class=\"ejs-badge-name\"><a href=\"https:\/\/emulatorjs.org\" target=\"_blank\" rel=\"noopener\">EmulatorJS<\/a><\/span>\n                <\/div>\n            <\/div>\n            <div class=\"ejs-attribution-divider\"><\/div>\n            <div class=\"ejs-attribution-details\">\n                <span><strong style=\"color: #fff;\">EmulatorJS: RetroArch on the web<\/strong><\/span>\n                <span>\u00a9 2022-2024 <strong style=\"color: #fff;\">Ethan O&#8217;Brien<\/strong><\/span>\n                <span>\n                    <a href=\"https:\/\/github.com\/EmulatorJS\/EmulatorJS\" target=\"_blank\" rel=\"noopener\">GitHub Repository<\/a>\n                    &nbsp;\u2022&nbsp;\n                    <a href=\"https:\/\/emulatorjs.org\" target=\"_blank\" rel=\"noopener\">emulatorjs.org<\/a>\n                <\/span>\n                <span style=\"color: var(--text-muted); font-size: 0.82rem;\">\n                    Rec0m88 desktop\/console adaptation, WebRTC Netplay &amp; Dynamic Cheats by \n                    <a href=\"https:\/\/github.com\/s-coding23\" target=\"_blank\" rel=\"noopener\" style=\"color: var(--text-secondary);\">@s-coding23<\/a>\n                    \u2014 an EmulatorJS contributor\n                <\/span>\n            <\/div>\n        <\/div>\n    <\/section>\n\n<\/div>\n\n<!-- Lightbox Modal -->\n<div id=\"lightbox\" class=\"lightbox\">\n    <span class=\"lightbox-close\">\u00d7<\/span>\n    <img class=\"lightbox-content\" id=\"lightbox-img\" alt=\"Enlarged screenshot\">\n<\/div>\n\n<script>\nif (document.querySelector('.Rec0m88-container')) {\n    document.addEventListener('DOMContentLoaded', () => {\n\n        \/\/ --- 0. CHANGELOG LOADER (release-notes.md) ---\n        const RELEASE_NOTES_PATH = '\/app-files\/release-notes.md';\n\n        function escapeHTML(str) {\n            return str.replace(\/[&<>\"']\/g, c => ({ '&': '&amp;', '<': '&lt;', '>': '&gt;', '\"': '&quot;', \"'\": '&#39;' }[c]));\n        }\n\n        function parseReleaseNotes(md) {\n            const lines = md.split(\/\\r?\\n\/);\n            let version = '';\n            let date = '';\n            const items = [];\n\n            for (let raw of lines) {\n                const line = raw.trim();\n                if (!line) continue;\n\n                \/\/ # What's New in v4.0.0\n                const versionMatch = line.match(\/^#\\s+.*?v?(\\d+(?:\\.\\d+)+)\/i);\n                if (versionMatch && !version) { version = versionMatch[1]; continue; }\n\n                \/\/ *Released: 4\/27\/2026*  or  _Released: ..._\n                const dateMatch = line.match(\/^[*_]\\s*Released:\\s*(.+?)\\s*[*_]\\s*$\/i);\n                if (dateMatch && !date) { date = dateMatch[1]; continue; }\n\n                \/\/ ## Sub-heading  -> rendered as bold prefix on next bullet, or its own bullet\n                const headingMatch = line.match(\/^#{2,}\\s+(.+?):?$\/);\n                if (headingMatch) { items.push({ type: 'heading', text: headingMatch[1].replace(\/:$\/, '') }); continue; }\n\n                \/\/ - bullet  or  * bullet\n                const bulletMatch = line.match(\/^[-*]\\s+(.+)$\/);\n                if (bulletMatch) { items.push({ type: 'bullet', text: bulletMatch[1] }); continue; }\n\n                \/\/ Plain paragraph line \u2014 treat as a bullet so nothing is lost\n                items.push({ type: 'bullet', text: line });\n            }\n\n            \/\/ Merge headings into the bullet that follows them (\"Heading: bullet text\")\n            const merged = [];\n            let pendingHeading = null;\n            for (const it of items) {\n                if (it.type === 'heading') { pendingHeading = it.text; continue; }\n                if (pendingHeading) {\n                    merged.push(`<strong>${escapeHTML(pendingHeading)}:<\/strong> ${escapeHTML(it.text)}`);\n                    pendingHeading = null;\n                } else {\n                    merged.push(escapeHTML(it.text));\n                }\n            }\n            if (pendingHeading) merged.push(`<strong>${escapeHTML(pendingHeading)}<\/strong>`);\n\n            return { version, date, items: merged };\n        }\n\n        async function loadChangelog() {\n            const versionEl = document.getElementById('changelog-version');\n            const detailsEl = document.getElementById('changelog-details');\n            if (!versionEl || !detailsEl) return;\n\n            try {\n                const res = await fetch(RELEASE_NOTES_PATH, { cache: 'no-cache' });\n                if (!res.ok) throw new Error('HTTP ' + res.status);\n                const md = await res.text();\n                const { version, date, items } = parseReleaseNotes(md);\n\n                if (version) {\n                    const dateHTML = date ? ` <span class=\"date\">Latest Release (${escapeHTML(date)})<\/span>` : '';\n                    versionEl.innerHTML = `v${escapeHTML(version)}${dateHTML}`;\n                } else {\n                    versionEl.textContent = 'Latest Release';\n                }\n\n                detailsEl.innerHTML = items.length\n                    ? items.map(t => `<li>${t}<\/li>`).join('')\n                    : '<li>See full changelog for details.<\/li>';\n            } catch (err) {\n                versionEl.textContent = 'Latest Release';\n                detailsEl.innerHTML = '<li>Could not load release notes. <a href=\"https:\/\/rec0m88.com\/rec0m88-changelog\" style=\"color: var(--neon-cyan);\">View full changelog<\/a>.<\/li>';\n                console.warn('Changelog load failed:', err);\n            }\n        }\n\n        loadChangelog();\n\n        \/\/ --- 1. OS & ARCHITECTURE DETECTION ---\n        const FALLBACK_VERSION = '3.4.4';\n        const DOWNLOADS_PATH = '\/downloads';\n        const XBOX_ZIP_NAME = 'Rec0m88-Xbox.zip';\n\n        function buildDownloadFiles(v) {\n            return {\n                windows: { x64: `${DOWNLOADS_PATH}\/Rec0m88 Setup ${v}.exe`, arm64: `${DOWNLOADS_PATH}\/Rec0m88 Setup ${v}.exe` },\n                macos: { x64: `${DOWNLOADS_PATH}\/Rec0m88-${v}.dmg`, arm64: `${DOWNLOADS_PATH}\/Rec0m88-${v}-arm64.dmg` },\n                linux: { x64: `${DOWNLOADS_PATH}\/Rec0m88_${v}_amd64.deb`, arm64: `${DOWNLOADS_PATH}\/Rec0m88_${v}_arm64.deb` },\n                xbox: { x64: `${DOWNLOADS_PATH}\/${XBOX_ZIP_NAME}`, arm64: `${DOWNLOADS_PATH}\/${XBOX_ZIP_NAME}` }\n            };\n        }\n\n        async function fetchVersionFromYml(ymlPath) {\n            try {\n                const resp = await fetch(ymlPath, { cache: 'no-store' });\n                if (!resp.ok) return null;\n                const text = await resp.text();\n                const match = text.match(\/^version:\\s*(.+)$\/m);\n                return match ? match[1].trim() : null;\n            } catch (e) { return null; }\n        }\n\n        async function resolveDownloadFiles() {\n            const ymlFiles =[`${DOWNLOADS_PATH}\/latest.yml`, `${DOWNLOADS_PATH}\/latest-mac.yml`, `${DOWNLOADS_PATH}\/latest-linux.yml`];\n            let version = null;\n            for (const yml of ymlFiles) {\n                version = await fetchVersionFromYml(yml);\n                if (version) break;\n            }\n            if (!version) version = FALLBACK_VERSION;\n            return buildDownloadFiles(version);\n        }\n\n        async function detectPlatform() {\n            const ua = navigator.userAgent;\n            let os = null; let arch = 'x64';\n            if (ua.includes('Xbox')) os = 'xbox';\n            else if (ua.includes('Win')) os = 'windows';\n            else if (ua.includes('Mac')) os = 'macos';\n            else if (ua.includes('Linux') && !ua.includes('Android')) os = 'linux';\n\n            if (ua.includes('aarch64') || ua.includes('arm64')) {\n                arch = 'arm64';\n            } else if (navigator.userAgentData?.getHighEntropyValues) {\n                try {\n                    const hints = await navigator.userAgentData.getHighEntropyValues(['architecture']);\n                    if (hints.architecture?.toLowerCase().includes('arm')) arch = 'arm64';\n                } catch (err) {}\n            }\n\n            if (os === 'macos' && arch === 'x64') {\n                try {\n                    const canvas = document.createElement('canvas');\n                    const gl = canvas.getContext('webgl') || canvas.getContext('experimental-webgl');\n                    if (gl) {\n                        const debugInfo = gl.getExtension('WEBGL_debug_renderer_info');\n                        if (debugInfo) {\n                            const renderer = gl.getParameter(debugInfo.UNMASKED_RENDERER_WEBGL).toLowerCase();\n                            if (renderer.includes('apple m') || renderer.includes('apple gpu')) arch = 'arm64';\n                        }\n                    }\n                } catch (e) {}\n            }\n            return { os, arch };\n        }\n\n        function getDownloadUrl(downloadFiles, os, arch) {\n            if (!downloadFiles[os]) return null;\n            return downloadFiles[os][arch] || downloadFiles[os]['x64'];\n        }\n\n        async function updateDownloadLinks() {\n            const [downloadFiles, platform] = await Promise.all([resolveDownloadFiles(), detectPlatform()]);\n            const { os: detectedOS, arch } = platform;\n\n            const mainBtn = document.getElementById('main-download-btn');\n            if (mainBtn) {\n                const iconHTML = mainBtn.querySelector('.icon')?.outerHTML || '';\n                if (detectedOS && downloadFiles[detectedOS]) {\n                    const friendlyNames = { windows: 'Windows', macos: 'macOS', linux: 'Linux', xbox: 'Xbox' };\n                    const archLabels = { windows: { x64: '', arm64: ' (ARM64)' }, macos: { x64: ' (Intel)', arm64: ' (Apple Silicon)' }, linux: { x64: ' (AMD64)', arm64: ' (ARM64)' }, xbox: { x64: ' Series X|S', arm64: ' Series X|S' } };\n                    const label = `Download for ${friendlyNames[detectedOS]}${archLabels[detectedOS]?.[arch] || ''}`;\n                    mainBtn.innerHTML = `${iconHTML}<span>${label}<\/span>`;\n                    mainBtn.href = getDownloadUrl(downloadFiles, detectedOS, arch);\n                    mainBtn.setAttribute('data-os', detectedOS);\n                } else {\n                    mainBtn.innerHTML = `${iconHTML}<span>View All Downloads<\/span>`;\n                    mainBtn.href = '#download';\n                }\n            }\n\n            document.querySelectorAll('.download-link[data-os]').forEach(button => {\n                const btnOS = button.dataset.os;\n                const url = getDownloadUrl(downloadFiles, btnOS, arch);\n                if (url) button.href = url;\n            });\n        }\n\n        \/\/ --- 2. DOWNLOAD COUNTER LOGIC ---\n        const API_BASE_URL = '\/wp-json\/rec0m88\/v1';\n        const totalEl = document.getElementById('total-downloads');\n        const windowsEl = document.getElementById('windows-downloads');\n        const macEl = document.getElementById('mac-downloads');\n        const linuxEl = document.getElementById('linux-downloads');\n        const xboxEl = document.getElementById('xbox-downloads');\n        let isFetching = false;\n\n        async function fetchAndUpdateCounts() {\n            if (isFetching) return;\n            isFetching = true;\n            try {\n                const response = await fetch(`${API_BASE_URL}\/downloads`, { cache: 'no-store' });\n                if (!response.ok) throw new Error();\n                const counts = await response.json();\n                updateCounts(counts);\n            } catch (error) {\n                if (totalEl) totalEl.textContent = 'Unavailable';\n            } finally {\n                isFetching = false;\n            }\n        }\n\n        async function incrementDownloadCount(os) {\n            try {\n                await fetch(`${API_BASE_URL}\/downloads\/${os}`, { method: 'POST', headers: { 'Content-Type': 'application\/json' }, cache: 'no-store' });\n            } catch (error) { console.warn('Failed to increment download count:', error); }\n        }\n\n        function updateCounts(counts) {\n            const total = (counts.windows || 0) + (counts.macOS || 0) + (counts.linux || 0) + (counts.xbox || 0);\n            const formatter = new Intl.NumberFormat('en-US');\n            if (totalEl) totalEl.textContent = formatter.format(total);\n            if (windowsEl) windowsEl.textContent = formatter.format(counts.windows || 0);\n            if (macEl) macEl.textContent = formatter.format(counts.macOS || 0);\n            if (linuxEl) linuxEl.textContent = formatter.format(counts.linux || 0);\n            if (xboxEl) xboxEl.textContent = formatter.format(counts.xbox || 0);\n        }\n\n        document.querySelectorAll('.download-link, #main-download-btn').forEach(link => {\n            link.addEventListener('click', (e) => {\n                const os = link.getAttribute('data-os');\n                if (os && link.href && !link.href.includes('#')) {\n                    incrementDownloadCount(os);\n                    setTimeout(fetchAndUpdateCounts, 1500);\n                }\n            });\n        });\n\n        \/\/ --- 3. LIGHTBOX LOGIC ---\n        const lightbox = document.getElementById('lightbox');\n        const lightboxImg = document.getElementById('lightbox-img');\n        const closeBtn = document.querySelector('.lightbox-close');\n\n        document.querySelectorAll('.gallery-clickable-img').forEach(img => {\n            img.addEventListener('click', () => {\n                if (lightbox && lightboxImg) { lightbox.style.display = 'flex'; lightboxImg.src = img.src; }\n            });\n        });\n\n        const closeModal = () => { if (lightbox) lightbox.style.display = 'none'; };\n        if (closeBtn) closeBtn.addEventListener('click', closeModal);\n        if (lightbox) lightbox.addEventListener('click', (e) => { if (e.target === lightbox) closeModal(); });\n        document.addEventListener('keydown', (e) => { if (e.key === 'Escape') closeModal(); });\n\n        \/\/ --- INIT ---\n        updateDownloadLinks().then(fetchAndUpdateCounts);\n        document.addEventListener('visibilitychange', () => { if (!document.hidden) fetchAndUpdateCounts(); });\n    });\n}\n<\/script>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Rec0m88 &#8211; The Ultimate Retro Gaming Emulator &#8211; With Netplay! Rec0m88 The Ultimate Retro Gaming Emulator with seamless Netplay and RetroAchievements. Auto-scan library, cover art, save states, and cross-platform multiplayer on Windows, macOS, Linux, and Xbox Series X|S. Detecting your OS&#8230; View Setup Guide Emulation powered by EmulatorJS \u2014 by Ethan O&#8217;Brien Fully Integrated RetroAchievements&#8230;<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"fullwidth","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"class_list":["post-13","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/rec0m88.com\/cs\/wp-json\/wp\/v2\/pages\/13","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rec0m88.com\/cs\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/rec0m88.com\/cs\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/rec0m88.com\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rec0m88.com\/cs\/wp-json\/wp\/v2\/comments?post=13"}],"version-history":[{"count":5,"href":"https:\/\/rec0m88.com\/cs\/wp-json\/wp\/v2\/pages\/13\/revisions"}],"predecessor-version":[{"id":10427,"href":"https:\/\/rec0m88.com\/cs\/wp-json\/wp\/v2\/pages\/13\/revisions\/10427"}],"wp:attachment":[{"href":"https:\/\/rec0m88.com\/cs\/wp-json\/wp\/v2\/media?parent=13"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}