PageSourceSearch

https://sol.vin/

html sol.vin collected 2026-10-09 21:58:18 UTC 597,154 bytes, 1,918 lines download raw bytes

1<!-- src/templates/layout.ecr -->
2<!DOCTYPE html>
3<html lang="en">
4<head>
5  <meta charset="UTF-8">
6  <meta name="viewport" content="width=device-width, initial-scale=1.0">
7  <title>SOL.VIN // Systems Architecture // Personal Journal</title>
8  
9  <meta name="description" content="Personal technical journal, systems engineering insights, DevOps automation, low-level security research, and projects by Ian Rash.">
10  <meta name="author" content="Ian Rash">
11  
12  
13    <meta name="keywords" content="DevOps, Systems Engineering, Linux Kernel, Crystal, Ruby, Python, Infrastructure as Code, OpenTofu, Terraform, Security Engineering, Reverse Engineering">
14  
15  <meta name="robots" content="index, follow">
16
17  
18  <link rel="canonical" href="https://sol.vin/">
19
20  <link rel="alternate" type="application/rss+xml" title="SOL.VIN Journal - Global RSS Feed" href="./rss.xml">
21  
22
23  <meta property="og:title" content="SOL.VIN // Systems Architecture // Personal Journal">
24  <meta property="og:description" content="Personal technical journal, systems engineering insights, DevOps automation, low-level security research, and projects by Ian Rash.">
25  <meta property="og:type" content="website">
26  <meta property="og:url" content="https://sol.vin/">
27  <meta property="og:image" content="https://sol.vin/images/logo.png">
28  <meta property="og:site_name" content="SOL.VIN">
29
30  <meta name="twitter:card" content="summary_large_image">
31  <meta name="twitter:title" content="SOL.VIN // Systems Architecture // Personal Journal">
32  <meta name="twitter:description" content="Personal technical journal, systems engineering insights, DevOps automation, low-level security research, and projects by Ian Rash.">
33  <meta name="twitter:image" content="https://sol.vin/images/logo.png">
34
35  
36  <link rel="apple-touch-icon" sizes="180x180" href="./apple-touch-icon.png">
37  <link rel="icon" type="image/png" sizes="32x32" href="./favicon-32x32.png">
38  <link rel="icon" type="image/png" sizes="16x16" href="./favicon-16x16.png">
39  <link rel="manifest" href="./site.webmanifest">
40  
40<script>
41    window.SITE_PALETTES = [{"id":"warm_paper","name":"Warm Paper (Default)","colors":{"bg_color":"#faf6ee","bg_window":"#faf6ee","text_color":"#1c1c1e","link_color":"#303030","text_dim":"#1c1c1e","border_color":"#1c1c1e","border_active":"#1c1c1e","accent_color":"#1c1c1e","shadow_color":"#1c1c1e","accent_secondary":"#3a3a3c","accent_tertiary":"#545458","accent_quaternary":"#303030","cube":"#1c1c1e","cube_hover":"#303030","resume_job_role":"#1c1c1e","resume_job_company":"#303030","resume_job_meta":"#545458","resume_skill_bg":"#1c1c1e","resume_skill_text":"#faf6ee","resume_badge_bg":"#1c1c1e","resume_badge_text":"#faf6ee","filter_start_color":"#1c1c1e","filter_end_color":"#faf6ee"},"palette_colors":{"cream":"#faf6ee","dark_charcoal":"#1c1c1e","charcoal":"#303030","dark_grey":"#3a3a3c","grey":"#545458"},"variables":{"bg_color":"cream","bg_window":"cream","text_color":"dark_charcoal","link_color":"charcoal","text_dim":"dark_charcoal","border_color":"dark_charcoal","border_active":"dark_charcoal","accent_color":"dark_charcoal","shadow_color":"dark_charcoal","accent_secondary":"dark_grey","accent_tertiary":"grey","accent_quaternary":"charcoal","cube":"dark_charcoal","cube_hover":"charcoal","resume_job_role":"dark_charcoal","resume_job_company":"charcoal","resume_job_meta":"grey","resume_skill_bg":"dark_charcoal","resume_skill_text":"cream","resume_badge_bg":"dark_charcoal","resume_badge_text":"cream","filter_start_color":"dark_charcoal","filter_end_color":"cream"}},{"id":"monochrome","name":"Monochrome","colors":{"bg_color":"#ffffff","bg_window":"#ffffff","text_color":"#000000","link_color":"#000000","text_dim":"#555555","border_color":"#000000","border_active":"#000000","accent_color":"#000000","shadow_color":"#000000","accent_secondary":"#333333","accent_tertiary":"#555555","accent_quaternary":"#777777","cube":"#000000","cube_hover":"#333333","resume_job_role":"#000000","resume_job_company":"#333333","resume_job_meta":"#555555","resume_skill_bg":"#000000","resume_skill_text":"#ffffff","resume_badge_bg":"#000000","resume_badge_text":"#ffffff","filter_start_color":"#000000","filter_end_color":"#ffffff"},"palette_colors":{"white":"#ffffff","black":"#000000","grey":"#555555","dark_grey":"#333333","light_grey":"#777777"},"variables":{"bg_color":"white","bg_window":"white","text_color":"black","link_color":"black","text_dim":"grey","border_color":"black","border_active":"black","accent_color":"black","shadow_color":"black","accent_secondary":"dark_grey","accent_tertiary":"grey","accent_quaternary":"light_grey","cube":"black","cube_hover":"dark_grey","resume_job_role":"black","resume_job_company":"dark_grey","resume_job_meta":"grey","resume_skill_bg":"black","resume_skill_text":"white","resume_badge_bg":"black","resume_badge_text":"white","filter_start_color":"black","filter_end_color":"white"}},{"id":"inversion","name":"Inversion","colors":{"bg_color":"#000000","bg_window":"#000000","text_color":"#ffffff","link_color":"#ffffff","text_dim":"#aaaaaa","border_color":"#ffffff","border_active":"#ffffff","accent_color":"#ffffff","shadow_color":"#ffffff","accent_secondary":"#dddddd","accent_tertiary":"#aaaaaa","accent_quaternary":"#888888","cube":"#ffffff","cube_hover":"#aaaaaa","resume_job_role":"#ffffff","resume_job_company":"#dddddd","resume_job_meta":"#aaaaaa","resume_skill_bg":"#ffffff","resume_skill_text":"#000000","resume_badge_bg":"#ffffff","resume_badge_text":"#000000","filter_start_color":"#000000","filter_end_color":"#ffffff"},"palette_colors":{"black":"#000000","white":"#ffffff","light_grey":"#aaaaaa","grey":"#dddddd","dark_grey":"#888888"},"variables":{"bg_color":"black","bg_window":"black","text_color":"white","link_color":"white","text_dim":"light_grey","border_color":"white","border_active":"white","accent_color":"white","shadow_color":"white","accent_secondary":"grey","accent_tertiary":"light_grey","accent_quaternary":"dark_grey","cube":"white","cube_hover":"light_grey","resume_job_role":"white","resume_job_company":"grey","resume_job_meta":"light_grey","resume_skill_bg":"white","resume_skill_text":"black","resume_badge_bg":"white","resume_badge_text":"black","filter_start_color":"black","filter_end_color":"white"}},{"id":"monokai","name":"Monokai","colors":{"bg_color":"#272822","bg_window":"#1e1f1c","text_color":"#f8f8f2","link_color":"#66d9ef","text_dim":"#75715e","border_color":"#f92672","border_active":"#a6e22e","accent_color":"#fd971f","shadow_color":"#141411","accent_secondary":"#a6e22e","accent_tertiary":"#66d9ef","accent_quaternary":"#f92672","cube":"#f8f8f2","cube_hover":"#f92672","resume_job_role":"#fd971f","resume_job_company":"#66d9ef","resume_job_meta":"#75715e","resume_skill_bg":"#f92672","resume_skill_text":"#ffffff","resume_badge_bg":"#a6e22e","resume_badge_text":"#272822","filter_start_color":"#272822","filter_end_color":"#f8f8f2"}
41,"palette_colors":{"charcoal":"#272822","dark_charcoal":"#1e1f1c","off_white":"#f8f8f2","grey":"#75715e","cyan":"#66d9ef","pink":"#f92672","green":"#a6e22e","orange":"#fd971f","black":"#141411","white":"#ffffff"},"variables":{"bg_color":"charcoal","bg_window":"dark_charcoal","text_color":"off_white","link_color":"cyan","text_dim":"grey","border_color":"pink","border_active":"green","accent_color":"orange","shadow_color":"black","accent_secondary":"green","accent_tertiary":"cyan","accent_quaternary":"pink","cube":"off_white","cube_hover":"pink","resume_job_role":"orange","resume_job_company":"cyan","resume_job_meta":"grey","resume_skill_bg":"pink","resume_skill_text":"white","resume_badge_bg":"green","resume_badge_text":"charcoal","filter_start_color":"charcoal","filter_end_color":"off_white"}},{"id":"candy","name":"Candy","colors":{"bg_color":"#fdf0f8","bg_window":"#ffffff","text_color":"#4a2c58","link_color":"#d84b9b","text_dim":"#8c6899","border_color":"#e5a8d8","border_active":"#d84b9b","accent_color":"#b8388c","shadow_color":"#d6b2dc","accent_secondary":"#d84b9b","accent_tertiary":"#b8388c","accent_quaternary":"#e5a8d8","cube":"#4a2c58","cube_hover":"#d84b9b","resume_job_role":"#b8388c","resume_job_company":"#d84b9b","resume_job_meta":"#8c6899","resume_skill_bg":"#d84b9b","resume_skill_text":"#ffffff","resume_badge_bg":"#b8388c","resume_badge_text":"#ffffff","filter_start_color":"#4a2c58","filter_end_color":"#fdf0f8"},"palette_colors":{"blush_pink":"#fdf0f8","white":"#ffffff","plum":"#4a2c58","mauve":"#8c6899","hot_pink":"#d84b9b","pastel_pink":"#e5a8d8","magenta":"#b8388c","lavender":"#d6b2dc"},"variables":{"bg_color":"blush_pink","bg_window":"white","text_color":"plum","link_color":"hot_pink","text_dim":"mauve","border_color":"pastel_pink","border_active":"hot_pink","accent_color":"magenta","shadow_color":"lavender","accent_secondary":"hot_pink","accent_tertiary":"magenta","accent_quaternary":"pastel_pink","cube":"plum","cube_hover":"hot_pink","resume_job_role":"magenta","resume_job_company":"hot_pink","resume_job_meta":"mauve","resume_skill_bg":"hot_pink","resume_skill_text":"white","resume_badge_bg":"magenta","resume_badge_text":"white","filter_start_color":"plum","filter_end_color":"blush_pink"}},{"id":"pastel","name":"Pastel","colors":{"bg_color":"#f7f5ff","bg_window":"#ffffff","text_color":"#2d2738","link_color":"#ff6b8b","text_dim":"#786b8e","border_color":"#a288e3","border_active":"#ff6b8b","accent_color":"#9b5de5","
41shadow_color":"#d0c4e8","accent_secondary":"#ff6b8b","accent_tertiary":"#9b5de5","accent_quaternary":"#a288e3","cube":"#2d2738","cube_hover":"#a288e3","resume_job_role":"#9b5de5","resume_job_company":"#ff6b8b","resume_job_meta":"#786b8e","resume_skill_bg":"#9b5de5","resume_skill_text":"#ffffff","resume_badge_bg":"#ff6b8b","resume_badge_text":"#ffffff","filter_start_color":"#2d2738","filter_end_color":"#f7f5ff"},"palette_colors":{"lavender_white":"#f7f5ff","white":"#ffffff","dark_purple":"#2d2738","muted_purple":"#786b8e","pink":"#ff6b8b","pastel_purple":"#a288e3","bright_purple":"#9b5de5","light_purple":"#d0c4e8"},"variables":{"bg_color":"lavender_white","bg_window":"white","text_color":"dark_purple","link_color":"pink","text_dim":"muted_purple","border_color":"pastel_purple","border_active":"pink","accent_color":"bright_purple","shadow_color":"light_purple","accent_secondary":"pink","accent_tertiary":"bright_purple","accent_quaternary":"pastel_purple","cube":"dark_purple","cube_hover":"pastel_purple","resume_job_role":"bright_purple","resume_job_company":"pink","resume_job_meta":"muted_purple","resume_skill_bg":"bright_purple","resume_skill_text":"white","resume_badge_bg":"pink","resume_badge_text":"white","filter_start_color":"dark_purple","filter_end_color":"lavender_white"}},{"id":"fos","name":"FOS","colors":{"bg_color":"#0000aa","bg_window":"#0000aa","text_color":"#ffffff","link_color":"#55ffff","text_dim":"#aaaaaa","border_color":"#ffffff","border_active":"#55ffff","accent_color":"#ffffff","shadow_color":"#000000","accent_secondary":"#55ffff","accent_tertiary":"#ffff55","accent_quaternary":"#aaaaaa","cube":"#ffffff","cube_hover":"#55ffff","resume_job_role":"#ffffff","resume_job_company":"#55ffff","resume_job_meta":"#aaaaaa","resume_skill_bg":"#ffffff","resume_skill_text":"#0000aa","resume_badge_bg":"#ffff55","resume_badge_text":"#000000","filter_start_color":"#0000aa","filter_end_color":"#ffffff"},"palette_colors":{"dos_blue":"#0000aa","dark_blue":"#000055","white":"#ffffff","light_grey":"#aaaaaa","dark_grey":"#555555","cyan":"#55ffff","yellow":"#ffff55","black":"#000000"},"variables":{"bg_color":"dos_blue","bg_window":"dos_blue","text_color":"white","link_color":"cyan","text_dim":"light_grey","border_color":"white","border_active":"cyan","accent_color":"white","shadow_color":"black","accent_secondary":"cyan","accent_tertiary":"yellow","accent_quaternary":"light_grey","cube":"white","cube_hover":"cyan","resume_job_role":"white","resume_job_company":"cyan","resume_job_meta":"light_grey","resume_skill_bg":"white","resume_skill_text":"dos_blue","resume_badge_bg":"yellow","resume_badge_text":"black","filter_start_color":"dos_blue","filter_end_color":"white"}},{"id":"a64_pal","name":"A64 PAL","colors":{"bg_color":"#40318d","bg_window":"#40318d","text_color":"#7869c4","link_color":"#94e089","text_dim":"#787878","border_color":"#8b3f96","border_active":"#7869c4","accent_color":"#bfce72","shadow_color":"#000000","accent_secondary":"#94e089","accent_tertiary":"#67b6bd","accent_quaternary":"#8b3f96","cube":"#7869c4","cube_hover":"#bfce72","resume_job_role":"#bfce72","resume_job_company":"#94e089","resume_job_meta":"#787878","resume_skill_bg":"#8b3f96","resume_skill_text":"#ffffff","resume_badge_bg":"#bfce72","resume_badge_text":"#000000","filter_start_color":"#8b3f96","filter_end_color":"#ffffff"},"palette_colors":{"black":"#000000","white":"#ffffff","red":"#883932","cyan":"#67b6bd","purple":"#8b3f96","green":"#55a049","blue":"#40318d","yellow":"#bfce72","orange":"#8b5429","brown":"#574200","light_red":"#b86962","dark_grey":"#505050","grey":"#787878","light_green":"#94e089","light_blue":"#7869c4","light_grey":"#9f9f9f"},"variables":{"bg_color":"blue","bg_window":"blue","text_color":"light_blue","link_color":"light_green","text_dim":"grey","border_color":"purple","border_active":"light_blue","accent_color":"yellow","shadow_color":"black","accent_secondary":"light_green","accent_tertiary":"cyan","accent_quaternary":"purple","cube":"light_blue","cube_hover":"yellow","resume_job_role":"yellow","resume_job_company":"light_green","resume_job_meta":"grey","resume_skill_bg":"purple","resume_skill_text":"white","resume_badge_bg":"yellow","resume_badge_text":"black","filter_start_color":"purple","filter_end_color":"white"}},{"id":"a64_ntsc","name":"A64 NTSC","colors":{"bg_color":"#0000aa","bg_window":"#0000aa","text_color":"#0088ff","link_color":"#aaff66","text_dim":"#777777","border_color":"#cc44cc","border_active":"#0088ff","accent_color":"#eeee7
417","shadow_color":"#000000","accent_secondary":"#aaff66","accent_tertiary":"#aaffee","accent_quaternary":"#cc44cc","cube":"#0088ff","cube_hover":"#eeee77","resume_job_role":"#eeee77","resume_job_company":"#aaff66","resume_job_meta":"#777777","resume_skill_bg":"#cc44cc","resume_skill_text":"#ffffff","resume_badge_bg":"#eeee77","resume_badge_text":"#000000","filter_start_color":"#cc44cc","filter_end_color":"#ffffff"},"palette_colors":{"black":"#000000","white":"#ffffff","red":"#880000","cyan":"#aaffee","purple":"#cc44cc","green":"#00cc55","blue":"#0000aa","yellow":"#eeee77","orange":"#dd8855","brown":"#664400","light_red":"#ff7777","dark_grey":"#333333","grey":"#777777","light_green":"#aaff66","light_blue":"#0088ff","light_grey":"#bbbbbb"},"variables":{"bg_color":"blue","bg_window":"blue","text_color":"light_blue","link_color":"light_green","text_dim":"grey","border_color":"purple","border_active":"light_blue","accent_color":"yellow","shadow_color":"black","accent_secondary":"light_green","accent_tertiary":"cyan","accent_quaternary":"purple","cube":"light_blue","cube_hover":"yellow","resume_job_role":"yellow","resume_job_company":"light_green","resume_job_meta":"grey","resume_skill_bg":"purple","resume_skill_text":"white","resume_badge_bg":"yellow","resume_badge_text":"black","filter_start_color":"purple","filter_end_color":"white"}},{"id":"amigo","name":"Amigo","colors":{"bg_color":"#0055aa","bg_window":"#0055aa","text_color":"#ffffff","link_color":"#ff5500","text_dim":"#aaaaaa","border_color":"#ffffff","border_active":"#ff5500","accent_color":"#ff9900","shadow_color":"#000000","accent_secondary":"#ff9900","accent_tertiary":"#ff5500","accent_quaternary":"#aaaaaa","cube":"#ffffff","cube_hover":"#ff5500","resume_job_role":"#ff9900","resume_job_company":"#ff5500","resume_job_meta":"#aaaaaa","resume_skill_bg":"#ff5500","resume_skill_text":"#ffffff","resume_badge_bg":"#ff9900","resume_badge_text":"#000000","filter_start_color":"#0055aa","filter_end_color":"#ffffff"},"palette_colors":{"blue":"#0055aa","white":"#ffffff","light_grey":"#aaaaaa","orange":"#ff5500","amber":"#ff9900","black":"#000000"},"variables":{"bg_color":"blue","bg_window":"blue","text_color":"white","link_color":"orange","text_dim":"light_grey","border_color":"white","border_active":"orange","accent_color":"amber","shadow_color":"black","accent_secondary":"amber","accent_tertiary":"orange","accent_quaternary":"light_grey","cube":"white","cube_hover":"orange","resume_job_role":"amber","resume_job_company":"orange","resume_job_meta":"light_grey","resume_skill_bg":"orange","resume_skill_text":"white","resume_badge_bg":"amber","resume_badge_text":"black","filter_start_color":"blue","filter_end_color":"white"}},{"id":"trash80","name":"Trash80","colors":{"bg_color":"#0a0d0a","bg_window":"#121612","text_color":"#33ff33","link_color":"#66ff66","text_dim":"#1e881e","border_color":"#33ff33","border_active":"#66ff66","accent_color":"#33ff33","shadow_color":"#000000","accent_secondary":"#66ff66","accent_tertiary":"#99ff99","accent_quaternary":"#00cc00","cube":"#33ff33","cube_hover":"#66ff66","resume_job_role":"#33ff33","resume_job_company":"#66ff66","resume_job_meta":"#1e881e","resume_skill_bg":"#33ff33","resume_skill_text":"#000000","resume_badge_bg":"#66ff66","resume_badge_text":"#000000","filter_start_color":"#0a0d0a","filter_end_color":"#33ff33"},"palette_colors":{"dark_charcoal":"#0a0d0a","slate":"#121612","neon_green":"#33ff33","forest_green":"#1e881e","mint_green":"#66ff66","pastel_green":"#99ff99","green":"#00cc00","black":"#000000"},"variables":{"bg_color":"dark_charcoal","bg_window":"slate","text_color":"neon_green","link_color":"mint_green","text_dim":"forest_green","border_color":"neon_green","border_active":"mint_green","accent_color":"neon_green","shadow_color":"black","accent_secondary":"mint_green","accent_tertiary":"pastel_green","accent_quaternary":"green","cube":"neon_green","cube_hover":"mint_green","resume_job_role":"neon_green","resume_job_company":"mint_green","resume_job_meta":"forest_green","resume_skill_bg":"neon_green","resume_skill_text":"black","resume_badge_bg":"mint_green","resume_badge_text":"black","filter_start_color":"dark_charcoal","filter_end_color":"neon_green"}},{"id":"classic_green","name":"Nuke","colors":{"bg_color":"#0a0a0a","bg_window":"#121212","text_color":"#33ff33","link_color":"#66ff66","text_dim":"#1e881e","border_color":"#00cc00","border_active":"#66ff66","accent_color":"#33ff33","shadow_color":"#0a0a0a","accent_secondary":"#66ff66","accent_tertiary":"#33ff33","accent_quaternary":"#1e881e","cube":"#33ff33","cube_hover":"#66ff66","resume_job_role":"#33ff33","resume_job_company":"#66ff66","resume_job_meta":"#1e881e","resume_skill_bg":"#00cc00","resume_skill_text":"#0a0a0a","resume_badge_bg":"#33ff33","resume_badge_text":"#0a0a0a","filter_start_color":"#0a0a0a","filter_end_color":"#33ff33"},"palette_colors":{"black":"#0a0a0a","dark_charcoal":"#121212","neon_green":"#33ff33","forest_green":"#1e881e","bright_green":"#66ff66","emerald":"#00cc00"},"variables":{"bg_color":"black","bg_window":"dark_charcoal","text_color":"neon_green","link_color":"bright_green","text_dim":"forest_green","border_color":"emerald","border_active":"bright_green","accent_color":"neon_green","shadow_color":"black","accent_secondary":"bright_green","accent_tertiary":"neon_green","accent_quaternary":"forest_green","cube":"neon_green","cube_hover":"bright_green","resume_job_role":"neon_green","resume_job_company":"bright_green","resume_job_meta":"forest_green","resume_skill_bg":"emerald","resume_skill_text":"black","resume_badge_bg":"neon_green","resume_badge_text":"black","filter_start_color":"black","filter_end_color":"neon_green"}},{"id":"aperture","name":"Aperture","colors":{"bg_color":"#1f232a","bg_window":"#262a33","text_color":"#ffee55","link_color":"#ff9900","text_dim":"#c4a63a","border_color":"#ffcc00","border_active":"#ff9100","accent_color":"#ffcc00","shadow_color":"#101216","accent_secondary":"#ff9900","accent_tertiary":"#ffee55","accent_quaternary":"#ff6600","cube":"#ffee55","cube_hover":"#ff9900","resume_job_role":"#ffcc00","resume_job_company":"#ff9900","resume_job_meta":"#c4a63a","resume_skill_bg":"#ffcc00","resume_skill_text":"#1f232a","resume_badge_bg":"#ffee55","resume_badge_text":"#1f232a","filter_start_color":"#1f232a","filter_end_color":"#ffee55"},"palette_colors":{"dark_grey":"#1f232a","slate":"#262a33","yellow":"#ffee55","amber":"#c4a63a","orange":"#ff9900","gold":"#ffcc00","dark_orange":"#ff9100","bright_orange":"#ff6600","black":"#101216"},"variables":{"bg_color":"dark_grey","bg_window":"slate","text_color":"yellow","link_color":"orange","text_dim":"amber","border_color":"gold","border_active":"dark_orange","accent_color":"gold","shadow_color":"black","accent_secondary":"orange","accent_tertiary":"yellow","accent_quaternary":"bright_orange","cube":"yellow","cube_hover":"orange","resume_job_role":"gold","resume_job_company":"orange","resume_job_meta":"amber","resume_skill_bg":"gold","resume_skill_text":"dark_grey","resume_badge_bg":"yellow","resume_badge_text":"dark_grey","filter_start_color":"dark_grey","filter_end_color":"yellow"}},{"id":"smile_os","name":"SmileOS","colors":{"bg_color":"#e6e6ea","bg_window":"#c0c0c0","text_color":"#000000","link_color":"#b30000","text_dim":"#444444","border_color":"#8b0000","border_active":"#c00000","accent_color":"#b30000","
41shadow_color":"#a0a0a8","accent_secondary":"#c00000","accent_tertiary":"#8b0000","accent_quaternary":"#b30000","cube":"#000000","cube_hover":"#b30000","resume_job_role":"#b30000","resume_job_company":"#8b0000","resume_job_meta":"#444444","resume_skill_bg":"#b30000","resume_skill_text":"#ffffff","resume_badge_bg":"#8b0000","resume_badge_text":"#ffffff","filter_start_color":"#000000","filter_end_color":"#e6e6ea"},"palette_colors":{"light_grey":"#e6e6ea","grey":"#c0c0c0","black":"#000000","dark_grey":"#444444","red":"#b30000","dark_red":"#8b0000","crimson":"#c00000","slate":"#a0a0a8","white":"#ffffff"},"variables":{"bg_color":"light_grey","bg_window":"grey","text_color":"black","link_color":"red","text_dim":"dark_grey","border_color":"dark_red","border_active":"crimson","accent_color":"red","shadow_color":"slate","accent_secondary":"crimson","accent_tertiary":"dark_red","accent_quaternary":"red","cube":"black","cube_hover":"red","resume_job_role":"red","resume_job_company":"dark_red","resume_job_meta":"dark_grey","resume_skill_bg":"red","resume_skill_text":"white","resume_badge_bg":"dark_red","resume_badge_text":"white","filter_start_color":"black","filter_end_color":"light_grey"}},{"id":"former_rain","name":"The Former Rain","colors":{"bg_color":"#1b1726","bg_window":"#261e34","text_color":"#e8ddf5","link_color":"#c77dff","text_dim":"#8a7b9c","border_color":"#a076c5","border_active":"#c77dff","accent_color":"#d896ff","shadow_color":"#100c19","accent_secondary":"#c77dff","accent_tertiary":"#d896ff","accent_quaternary":"#a076c5","cube":"#e8ddf5","cube_hover":"#c77dff","resume_job_role":"#d896ff","resume_job_company":"#c77dff","resume_job_meta":"#8a7b9c","resume_skill_bg":"#c77dff","resume_skill_text":"#1b1726","resume_badge_bg":"#d896ff","resume_badge_text":"#1b1726","filter_start_color":"#1b1726","filter_end_color":"#e8ddf5"},"palette_colors":{"dark_purple":"#1b1726","deep_purple":"#261e34","lavender":"#e8ddf5","muted_purple":"#8a7b9c","bright_violet":"#c77dff","violet":"#a076c5","light_violet":"#d896ff","black":"#100c19"},"variables":{"bg_color":"dark_purple","bg_window":"deep_purple","text_color":"lavender","link_color":"bright_violet","text_dim":"muted_purple","border_color":"violet","border_active":"bright_violet","accent_color":"light_violet","shadow_color":"black","accent_secondary":"bright_violet","accent_tertiary":"light_violet","accent_quaternary":"violet","cube":"lavender","cube_hover":"bright_violet","resume_job_role":"light_violet","resume_job_company":"bright_violet","resume_job_meta":"muted_purple","resume_skill_bg":"bright_violet","resume_skill_text":"dark_purple","resume_badge_bg":"light_violet","resume_badge_text":"dark_purple","filter_start_color":"dark_purple","filter_end_color":"lavender"}},{"id":"ranger","name":"Ranger","colors":{"bg_color":"#1f1914","bg_window":"#2c241d","text_color":"#d4c39e","link_color":"#e06d20","text_dim":"#8c7355","border_color":"#8c603b","border_active":"#e57c25","accent_color":"#e57c25","shadow_color":"#120e0b","accent_secondary":"#e06d20","accent_tertiary":"#e57c25","accent_quaternary":"#8c603b","cube":"#d4c39e","cube_hover":"#e57c25","resume_job_role":"#e57c25","resume_job_company":"#e06d20","resume_job_meta":"#8c7355","resume_skill_bg":"#e57c25","resume_skill_text":"#faf4e1","resume_badge_bg":"#8c603b","resume_badge_text":"#faf4e1","filter_start_color":"#1f1914","filter_end_color":"#d4c39e"},"palette_colors":{"dark_brown":"#1f1914","espresso":"#2c241d","sand":"#d4c39e","tan":"#8c7355","burnt_orange":"#e06d20","brown":"#8c603b","orange":"#e57c25","black":"#120e0b","cream":"#faf4e1"},"variables":{"bg_color":"dark_brown","bg_window":"espresso","text_color":"sand","link_color":"burnt_orange","text_dim":"tan","border_color":"brown","border_active":"orange","accent_color":"orange","shadow_color":"black","accent_secondary":"burnt_orange","accent_tertiary":"orange","accent_quaternary":"brown","cube":"sand","cube_hover":"orange","resume_job_role":"orange","resume_job_company":"burnt_orange","resume_job_meta":"tan","resume_skill_bg":"orange","resume_skill_text":"cream","resume_badge_bg":"brown","resume_badge_text":"cream","filter_start_color":"dark_brown","filter_end_color":"sand"}},{"id":"bring_me_hope","name":"Bluebie","colors":{"bg_color":"#002b55","bg_window":"#003a70","text_color":"#00c8ff","link_color":"#66e0ff","text_dim":"#3a7ca5","border_color":"#00a8e8","border_active":"#00e5ff","accent_color":"#00e5ff","shadow_color":"#00152b","accent_secondary":"#66e0ff","accent_tertiary":"#00e5ff","accent_quaternary":"#00a8e8","cube":"#00c8ff","cube_hover":"#00e5ff","resume_job_role":"#00e5ff","resume_job_company":"#00c8ff","resume_job_meta":"#3a7ca5","resume_skill_bg":"#00a8e8","resume_skill_text":"#002b55","resume_badge_bg":"#00e5ff","resume_badge_text":"#002b55","filter_start_color":"#002b55","filter_end_color":"#00c8ff"},"palette_colors":{"navy":"#002b55","deep_blue":"#003a70","cyan":"#00c8ff","steel_blue":"#3a7ca5","light_blue":"#66e0ff","blue":"#00a8e8","bright_cyan":"#00e5ff","dark_navy":"#001
4152b"},"variables":{"bg_color":"navy","bg_window":"deep_blue","text_color":"cyan","link_color":"light_blue","text_dim":"steel_blue","border_color":"blue","border_active":"bright_cyan","accent_color":"bright_cyan","shadow_color":"dark_navy","accent_secondary":"light_blue","accent_tertiary":"bright_cyan","accent_quaternary":"blue","cube":"cyan","cube_hover":"bright_cyan","resume_job_role":"bright_cyan","resume_job_company":"cyan","resume_job_meta":"steel_blue","resume_skill_bg":"blue","resume_skill_text":"navy","resume_badge_bg":"bright_cyan","resume_badge_text":"navy","filter_start_color":"navy","filter_end_color":"cyan"}},{"id":"disinherited","name":"Samuel","colors":{"bg_color":"#16120e","bg_window":"#281f18","text_color":"#faf4e1","link_color":"#f2a81d","text_dim":"#857458","border_color":"#d48815","border_active":"#c01111","accent_color":"#f2a81d","shadow_color":"#0c0906","accent_secondary":"#f2a81d","accent_tertiary":"#d48815","accent_quaternary":"#857458","cube":"#faf4e1","cube_hover":"#f2a81d","resume_job_role":"#f2a81d","resume_job_company":"#d48815","resume_job_meta":"#857458","resume_skill_bg":"#f2a81d","resume_skill_text":"#16120e","resume_badge_bg":"#c01111","resume_badge_text":"#ffffff","filter_start_color":"#16120e","filter_end_color":"#faf4e1"},"palette_colors":{"dark_brown":"#16120e","espresso":"#281f18","cream":"#faf4e1","sand":"#857458","amber":"#f2a81d","crimson":"#c01111","burnt_amber":"#d48815","black":"#0c0906","white":"#ffffff"},"variables":{"bg_color":"dark_brown","bg_window":"espresso","text_color":"cream","link_color":"amber","text_dim":"sand","border_color":"burnt_amber","border_active":"crimson","accent_color":"amber","shadow_color":"black","accent_secondary":"amber","accent_tertiary":"burnt_amber","accent_quaternary":"sand","cube":"cream","cube_hover":"amber","resume_job_role":"amber","resume_job_company":"burnt_amber","resume_job_meta":"sand","resume_skill_bg":"amber","resume_skill_text":"dark_brown","resume_badge_bg":"crimson","resume_badge_text":"white","filter_start_color":"dark_brown","filter_end_color":"cream"}},{"id":"game_station","name":"GameStation","colors":{"bg_color":"#d2d2d6","bg_window":"#e8e8ec","text_color":"#141418","link_color":"#0063be","text_dim":"#585860","border_color":"#df0024","border_active":"#00a88f","accent_color":"#c88e00","shadow_color":"#a0a0a8","accent_secondary":"#0063be","accent_tertiary":"#00a88f","accent_quaternary":"#df0024","cube":"#141418","cube_hover":"#df0024","resume_job_role":"#c88e00","resume_job_company":"#0063be","resume_job_meta":"#585860","resume_skill_bg":"#0063be","resume_skill_text":"#ffffff","resume_badge_bg":"#df0024","resume_badge_text":"#ffffff","filter_start_color":"#141418","filter_end_color":"#d2d2d6"},"palette_colors":{"light_grey":"#d2d2d6","grey_white":"#e8e8ec","black":"#141418","dark_grey":"#585860","blue":"#0063be","red":"#df0024","teal":"#00a88f","gold":"#c88e00","slate":"#a0a0a8","white":"#ffffff"},"variables":{"bg_color":"light_grey","bg_window":"grey_white","text_color":"black","link_color":"blue","text_dim":"dark_grey","border_color":"red","border_active":"teal","accent_color":"gold","shadow_color":"slate","accent_secondary":"blue","accent_tertiary":"teal","accent_quaternary":"red","cube":"black","cube_hover":"red","resume_job_role":"gold","resume_job_company":"blue","resume_job_meta":"dark_grey","resume_skill_bg":"blue","resume_skill_text":"white","resume_badge_bg":"red","resume_badge_text":"white","filter_start_color":"black","filter_end_color":"light_grey"}},{"id":"game_station_2","name":"GameStation2","colors":{"bg_color":"#090a10","bg_window":"#121520","text_color":"#e0e6f0","link_color":"#0088ff","text_dim":"#4a5870","border_color":"#00439c","border_active":"#00a2e8","accent_color":"#0072ce","shadow_color":"#040508","accent_secondary":"#0088ff","accent_tertiary":"#00a2e8","accent_quaternary":"#00439c","cube":"#e0e6f0","cube_hover":"#0088ff","resume_job_role":"#0072ce","resume_job_company":"#0088ff","resume_job_meta":"#4a5870","resume_skill_bg":"#0088ff","resume_skill_text":"#ffffff","resume_badge_bg":"#0072ce","resume_badge_text":"#ffffff","filter_start_color":"#090a10","filter_end_color":"#e0e6f0"},"palette_colors":{"black":"#090a10","dark_navy":"#121520","ice_blue":"#e0e6f0","slate_blue":"#4a5870","bright_blue":"#0088ff","navy":"#00439c","cyan_blue":"#00a2e8","royal_blue":"#0072ce","dark_black":"#040508","white":"#ffffff"},"variables":{"bg_color":"black","bg_window":"dark_navy","text_color":"ice_blue","link_color":"bright_blue","text_dim":"slate_blue","border_color":"navy","border_active":"cyan_blue","accent_color":"royal_blue","shadow_color":"dark_black","accent_secondary":"bright_blue","accent_tertiary":"
41cyan_blue","accent_quaternary":"navy","cube":"ice_blue","cube_hover":"bright_blue","resume_job_role":"royal_blue","resume_job_company":"bright_blue","resume_job_meta":"slate_blue","resume_skill_bg":"bright_blue","resume_skill_text":"white","resume_badge_bg":"royal_blue","resume_badge_text":"white","filter_start_color":"black","filter_end_color":"ice_blue"}},{"id":"digital_guy","name":"DigitalGuy","colors":{"bg_color":"#000000","bg_window":"#110000","text_color":"#ff0000","link_color":"#ff3333","text_dim":"#880000","border_color":"#ff0000","border_active":"#ff5555","accent_color":"#ff0000","shadow_color":"#330000","accent_secondary":"#ff3333","accent_tertiary":"#ff5555","accent_quaternary":"#880000","cube":"#ff0000","cube_hover":"#ff5555","resume_job_role":"#ff0000","resume_job_company":"#ff3333","resume_job_meta":"#880000","resume_skill_bg":"#ff0000","resume_skill_text":"#ffffff","resume_badge_bg":"#ff5555","resume_badge_text":"#ffffff","filter_start_color":"#000000","filter_end_color":"#ff0000"},"palette_colors":{"black":"#000000","dark_red":"#110000","red":"#ff0000","maroon":"#880000","light_red":"#ff3333","bright_red":"#ff5555","deep_red":"#330000","white":"#ffffff"},"variables":{"bg_color":"black","bg_window":"dark_red","text_color":"red","link_color":"light_red","text_dim":"maroon","border_color":"red","border_active":"bright_red","accent_color":"red","shadow_color":"deep_red","accent_secondary":"light_red","accent_tertiary":"bright_red","accent_quaternary":"maroon","cube":"red","cube_hover":"bright_red","resume_job_role":"red","resume_job_company":"light_red","resume_job_meta":"maroon","resume_skill_bg":"red","resume_skill_text":"white","resume_badge_bg":"bright_red","resume_badge_text":"white","filter_start_color":"black","filter_end_color":"red"}},{"id":"playtoy","name":"PlayToy","colors":{"bg_color":"#8bac0f","bg_window":"#9bbc0f","text_color":"#0f380f","link_color":"#0f380f","text_dim":"#1b3f1b","border_color":"#0f380f","border_active":"#306230","accent_color":"#0f380f","shadow_color":"#0f380f","accent_secondary":"#1b3f1b","accent_tertiary":"#306230","accent_quaternary":"#0f380f","cube":"#0f380f","cube_hover":"#306230","resume_job_role":"#0f380f","resume_job_company":"#0f380f","resume_job_meta":"#1b3f1b","resume_skill_bg":"#0f380f","resume_skill_text":"#9bbc0f","resume_badge_bg":"#306230","resume_badge_text":"#9bbc0f","filter_start_color":"#0f380f","filter_end_color":"#8bac0f"},"palette_colors":{"olive":"#8bac0f","light_olive":"#9bbc0f","dark_green":"#0f380f","forest_green":"#1b3f1b","green":"#306230"},"variables":{"bg_color":"olive","bg_window":"light_olive","text_color":"dark_green","link_color":"dark_green","text_dim":"forest_green","border_color":"dark_green","border_active":"green","accent_color":"dark_green","shadow_color":"dark_green","accent_secondary":"forest_green","accent_tertiary":"green","accent_quaternary":"dark_green","cube":"dark_green","cube_hover":"green","resume_job_role":"dark_green","resume_job_company":"dark_green","resume_job_meta":"forest_green","resume_skill_bg":"dark_green","resume_skill_text":"light_olive","resume_badge_bg":"green","resume_badge_text":"light_olive","filter_start_color":"dark_green","filter_end_color":"olive"}},{"id":"entertainment_system","name":"Entertainment System","colors":{"bg_color":"#e8e8ec","bg_window":"#d8d8dc","text_color":"#101012","link_color":"#c80018","text_dim":"#505055","border_color":"#202024","border_active":"#c80018","accent_color":"#c80018","shadow_color":"#a0a0a8","accent_secondary":"#c80018","accent_tertiary":"#202024","accent_quaternary":"#a0a0a8","cube":"#101012","cube_hover":"#c80018","resume_job_role":"#c80018","resume_job_company":"#c80018","resume_job_meta":"#505055","resume_skill_bg":"#c80018","resume_skill_text":"#ffffff","resume_badge_bg":"#202024","resume_badge_text":"#ffffff","filter_start_color":"#101012","filter_end_color":"#e8e8ec"},"palette_colors":{"light_grey":"#e8e8ec","grey":"#d8d8dc","black":"#101012","dark_grey":"#505055","crimson":"#c80018","charcoal":"#202024","slate":"#a0a0a8","white":"#ffffff"},"variables":{"bg_color":"light_grey","bg_window":"grey","text_color":"black","link_color":"crimson","text_dim":"dark_grey","border_color":"charcoal","border_active":"crimson","accent_color":"crimson","shadow_color":"slate","accent_secondary":"crimson","accent_tertiary":"
41charcoal","accent_quaternary":"slate","cube":"black","cube_hover":"crimson","resume_job_role":"crimson","resume_job_company":"crimson","resume_job_meta":"dark_grey","resume_skill_bg":"crimson","resume_skill_text":"white","resume_badge_bg":"charcoal","resume_badge_text":"white","filter_start_color":"black","filter_end_color":"light_grey"}},{"id":"super_es","name":"Super ES","colors":{"bg_color":"#f0f0f5","bg_window":"#e2e2ea","text_color":"#1b1924","link_color":"#5c439b","text_dim":"#605c70","border_color":"#4f3880","border_active":"#785dba","accent_color":"#4f3880","shadow_color":"#b0b0c0","accent_secondary":"#785dba","accent_tertiary":"#5c439b","accent_quaternary":"#605c70","cube":"#4f3880","cube_hover":"#5c439b","resume_job_role":"#4f3880","resume_job_company":"#785dba","resume_job_meta":"#605c70","resume_skill_bg":"#785dba","resume_skill_text":"#ffffff","resume_badge_bg":"#4f3880","resume_badge_text":"#ffffff","filter_start_color":"#1b1924","filter_end_color":"#f0f0f5"},"palette_colors":{"light_slate":"#f0f0f5","slate":"#e2e2ea","dark_charcoal":"#1b1924","muted_purple":"#605c70","purple":"#5c439b","deep_purple":"#4f3880","bright_purple":"#785dba","grey":"#b0b0c0","white":"#ffffff"},"variables":{"bg_color":"light_slate","bg_window":"slate","text_color":"dark_charcoal","link_color":"purple","text_dim":"muted_purple","border_color":"deep_purple","border_active":"bright_purple","accent_color":"deep_purple","shadow_color":"grey","accent_secondary":"bright_purple","accent_tertiary":"purple","accent_quaternary":"muted_purple","cube":"deep_purple","cube_hover":"purple","resume_job_role":"deep_purple","resume_job_company":"bright_purple","resume_job_meta":"muted_purple","resume_skill_bg":"bright_purple","resume_skill_text":"white","resume_badge_bg":"deep_purple","resume_badge_text":"white","filter_start_color":"dark_charcoal","filter_end_color":"light_slate"}},{"id":"m64","name":"M64","colors":{"bg_color":"#232328","bg_window":"#32323a","text_color":"#d0d0d8","link_color":"#1e68d8","text_dim":"#80808a","border_color":"#1e68d8","border_active":"#f0c018","accent_color":"#f0c018","shadow_color":"#121215","accent_secondary":"#24ac4c","accent_tertiary":"#e62828","accent_quaternary":"#f0c018","cube":"#f0c018","cube_hover":"#e62828","resume_job_role":"#f0c018","resume_job_company":"#24ac4c","resume_job_meta":"#e62828","resume_skill_bg":"#1e68d8","resume_skill_text":"#d0d0d8","resume_badge_bg":"#e62828","resume_badge_text":"#d0d0d8","filter_start_color":"#121215","filter_end_color":"#e62828"},"palette_colors":{"dark_grey":"#232328","slate":"#32323a","light_grey":"#d0d0d8","dpad_grey":"#80808a","start_red":"#e62828","a_blue":"#1e68d8","b_green":"#24ac4c","c_yellow":"#f0c018","black":"#121215"},"variables":{"bg_color":"dark_grey","bg_window":"slate","text_color":"light_grey","link_color":"a_blue","text_dim":"dpad_grey","border_color":"a_blue","border_active":"c_yellow","accent_color":"c_yellow","shadow_color":"black","accent_secondary":"b_green","accent_tertiary":"start_red","accent_quaternary":"c_yellow","cube":"c_yellow","cube_hover":"start_red","resume_job_role":"c_yellow","resume_job_company":"b_green","resume_job_meta":"start_red","resume_skill_bg":"a_blue","resume_skill_text":"light_grey","resume_badge_bg":"start_red","resume_badge_text":"light_grey","filter_start_color":"black","filter_end_color":"start_red"}},{"id":"playbox","name":"Playbox","colors":{"bg_color":"#2d224b","bg_window":"#563f91","text_color":"#ffffff","link_color":"#22c55e","text_dim":"#b0a4d0","border_color":"#8b75c8","border_active":"#22c55e","accent_color":"#ef4444","shadow_color":"#19122c","accent_secondary":"#22c55e","accent_tertiary":"#ef4444","accent_quaternary":"#8b75c8","cube":"#ffffff","cube_hover":"#22c55e","resume_job_role":"#ef4444","resume_job_company":"#22c55e","resume_job_meta":"#b0a4d0","resume_skill_bg":"#22c55e","resume_skill_text":"#2d224b","resume_badge_bg":"#ef4444","resume_badge_text":"#ffffff","filter_start_color":"#2d224b","filter_end_color":"#ffffff"},"palette_colors":{"dark_purple":"#2d224b","purple":"#563f91","white":"#ffffff","light_violet":"#b0a4d0","green":"#22c55e","violet":"#8b75c8","red":"#ef4444","deep_purple":"#19122c"},"variables":{"bg_color":"dark_purple","bg_window":"purple","text_color":"white","link_color":"green","text_dim":"light_violet","border_color":"violet","border_active":"green","accent_color":"red","shadow_color":"deep_purple","accent_secondary":"green","accent_tertiary":"red","accent_quaternary":"violet","cube":"white","cube_hover":"green","resume_job_role":"red","resume_job_company":"green","resume_job_meta":"light_violet","resume_skill_bg":"green","resume_skill_text":"dark_purple","resume_badge_bg":"red","resume_badge_text":"white","filter_start_color":"dark_purple","filter_end_color":"white"}},{"id":"oui","name":"Oui","colors":{"bg_color":"#e8ecef","bg_window":"#ffffff","text_color":"#2c3238","link_color":"#00a3e0","text_dim":"#788490","border_color":"#0095d0","border_active":"#00c3ff","accent_color":"#0095d0","shadow_color":"#c8d0d8","accent_secondary":"#00a3e0","accent_tertiary":"#00c3ff","accent_quaternary":"#788490","cube":"#2c3238","cube_hover":"#00a3e0","resume_job_role":"#0095d0","resume_job_company":"#00a3e0","resume_job_meta":"#788490","resume_skill_bg":"#00a3e0","resume_skill_text":"#ffffff","resume_badge_bg":"#0095d0","resume_badge_text":"#ffffff","filter_start_color":"#2c3238","filter_end_color":"#e8ecef"},"palette_colors":{"light_blue":"#e8ecef","white":"#ffffff","charcoal":"#2c3238","slate":"#788490","cyan":"#00a3e0","bright_cyan":"#00c3ff","blue":"#0095d0","grey":"#c8d0d8"},"variables":{"bg_color":"light_blue","bg_window":"white","text_color":"charcoal","link_color":"cyan","text_dim":"slate","border_color":"blue","border_active":"bright_cyan","accent_color":"blue","shadow_color":"grey","accent_secondary":"cyan","accent_tertiary":"bright_cyan","accent_quaternary":"slate","cube":"charcoal","cube_hover":"cyan","resume_job_role":"blue","resume_job_company":"cyan","resume_job_meta":"slate","resume_skill_bg":"cyan","resume_skill_text":"white","resume_badge_bg":"blue","resume_badge_text":"white","filter_start_color":"charcoal","filter_end_color":"light_blue"}},{"id":"cross_cube","name":"CrossCube","colors":{"bg_color":"#121412","bg_window":"#1a1d1a","text_color":"#e2ece2","link_color":"#107c41","text_dim":"#556855","border_color":"#107c41","border_active":"#00ff2b","accent_color":"#52b736","shadow_color":"#080a08","accent_secondary":"#00ff2b","accent_tertiary":"#52b736","accent_quaternary":"#107c41","cube":"#e2ece2","cube_hover":"#00ff2b","resume_job_role":"#52b736","resume_job_company":"#107c41","resume_job_meta":"#556855","resume_skill_bg":"#107c41","resume_skill_text":"#ffffff","resume_badge_bg":"#52b736","resume_badge_text":"#121412","filter_start_color":"#121412","filter_end_color":"#e2ece2"},"palette_colors":{"black":"#121412","dark_green":"#1a1d1a","light_green":"#e2ece2","forest_green":"#556855","green":"#107c41","neon_green":"#00ff2b","lime":"#52b736","deep_black":"#080a08","white":"#ffffff"},"variables":{"bg_color":"black","bg_window":"dark_green","text_color":"light_green","link_color":"green","text_dim":"forest_green","border_color":"green","border_active":"neon_green","accent_color":"lime","shadow_color":"deep_black","accent_secondary":"neon_green","accent_tertiary":"lime","accent_quaternary":"green","cube":"light_green","cube_hover":"neon_green","resume_job_role":"lime","resume_job_company":"green","resume_job_meta":"forest_green","resume_skill_bg":"green","resume_skill_text":"white","resume_badge_bg":"lime","resume_badge_text":"black","filter_start_color":"black","filter_end_color":"light_green"}}
41,{"id":"cross_cube_360","name":"CrossCube 360","colors":{"bg_color":"#e4e8ec","bg_window":"#ffffff","text_color":"#1e242b","link_color":"#107c41","text_dim":"#606d7a","border_color":"#107c41","border_active":"#7fba00","accent_color":"#7fba00","shadow_color":"#b8c0c8","accent_secondary":"#107c41","accent_tertiary":"#7fba00","accent_quaternary":"#606d7a","cube":"#1e242b","cube_hover":"#107c41","resume_job_role":"#7fba00","resume_job_company":"#107c41","resume_job_meta":"#606d7a","resume_skill_bg":"#107c41","resume_skill_text":"#ffffff","resume_badge_bg":"#7fba00","resume_badge_text":"#1e242b","filter_start_color":"#1e242b","filter_end_color":"#e4e8ec"},"palette_colors":{"light_grey":"#e4e8ec","white":"#ffffff","dark_slate":"#1e242b","slate":"#606d7a","green":"#107c41","lime":"#7fba00","grey":"#b8c0c8"},"variables":{"bg_color":"light_grey","bg_window":"white","text_color":"dark_slate","link_color":"green","text_dim":"slate","border_color":"green","border_active":"lime","accent_color":"lime","shadow_color":"grey","accent_secondary":"green","accent_tertiary":"lime","accent_quaternary":"slate","cube":"dark_slate","cube_hover":"green","resume_job_role":"lime","resume_job_company":"green","resume_job_meta":"slate","resume_skill_bg":"green","resume_skill_text":"white","resume_badge_bg":"lime","resume_badge_text":"dark_slate","filter_start_color":"dark_slate","filter_end_color":"light_grey"}},{"id":"creation","name":"Creation","colors":{"bg_color":"#141518","bg_window":"#1e2024","text_color":"#e8e8ed","link_color":"#d81b24","text_dim":"#7a7e85","border_color":"#c81018","border_active":"#e6222b","accent_color":"#d4af37","shadow_color":"#0a0b0d","accent_secondary":"#d81b24","accent_tertiary":"#e6222b","accent_quaternary":"#c81018","cube":"#e8e8ed","cube_hover":"#e6222b","resume_job_role":"#d4af37","resume_job_company":"#d81b24","resume_job_meta":"#7a7e85","resume_skill_bg":"#c81018","resume_skill_text":"#ffffff","resume_badge_bg":"#d4af37","resume_badge_text":"#141518","filter_start_color":"#141518","filter_end_color":"#e8e8ed"},"palette_colors":{"black":"#141518","dark_charcoal":"#1e2024","off_white":"#e8e8ed","grey":"#7a7e85","red":"#d81b24","dark_red":"#c81018","bright_red":"#e6222b","gold":"#d4af37","deep_black":"#0a0b0d","white":"#ffffff"},"variables":{"bg_color":"black","bg_window":"dark_charcoal","text_color":"off_white","link_color":"red","text_dim":"grey","border_color":"dark_red","border_active":"bright_red","accent_color":"gold","shadow_color":"deep_black","accent_secondary":"red","accent_tertiary":"bright_red","accent_quaternary":"dark_red","cube":"off_white","cube_hover":"bright_red","resume_job_role":"gold","resume_job_company":"red","resume_job_meta":"grey","resume_skill_bg":"dark_red","resume_skill_text":"white","resume_badge_bg":"gold","resume_badge_text":"black","filter_start_color":"black","filter_end_color":"off_white"}},{"id":"game_sprocket","name":"GameSprocket","colors":{"bg_color":"#1c1e22","bg_window":"#262930","text_color":"#f4f6fa","link_color":"#0088ff","text_dim":"#767e8c","border_color":"#e6001a","border_active":"#00c878","accent_color":"#0088ff","shadow_color":"#0a0c0e","accent_secondary":"#00c878","accent_tertiary":"#0088ff","accent_quaternary":"#e6001a","cube":"#f4f6fa","cube_hover":"#00c878","resume_job_role":"#00c878","resume_job_company":"#0088ff","resume_job_meta":"#767e8c","resume_skill_bg":"#e6001a","resume_skill_text":"#ffffff","resume_badge_bg":"#00c878","resume_badge_text":"#0a0c0e","filter_start_color":"#1c1e22","filter_end_color":"#f4f6fa"},"palette_colors":{"dark_charcoal":"#1c1e22","charcoal":"#262930","off_white":"#f4f6fa","grey":"#767e8c","blue":"#0088ff","red":"#e6001a","emerald":"#00c878","black":"#0a0c0e","white":"#ffffff"},"variables":{"bg_color":"dark_charcoal","bg_window":"charcoal","text_color":"off_white","link_color":"blue","text_dim":"grey","border_color":"red","border_active":"emerald","accent_color":"blue","shadow_color":"black","accent_secondary":"emerald","accent_tertiary":"blue","accent_quaternary":"red","cube":"off_white","cube_hover":"emerald","resume_job_role":"emerald","resume_job_company":"blue","resume_job_meta":"grey","resume_skill_bg":"red","resume_skill_text":"white","resume_badge_bg":"emerald","resume_badge_text":"black","filter_start_color":"dark_charcoal","filter_end_color":"off_white"}},{"id":"spaces_31","name":"Spaces 3.1","colors":{"bg_color":"#ffffff","bg_window":"#c0c0c0","text_color":"#000000","link_color":"#000080","text_dim":"#404040","border_color":"#000080","border_active":"#008080","accent_color":"#000080","shadow_color":"#004040","accent_secondary":"#008080","accent_tertiary":"#004080","accent_quaternary":"#000080","cube":"#000000","cube_hover":"#004080","resume_job_role":"#000080","resume_job_company":"#004080","resume_job_meta":"#404040","resume_skill_bg":"#000080","resume_skill_text":"#ffffff","resume_badge_bg":"#008080","resume_badge_text":"#ffffff","filter_start_color":"#000000","filter_end_color":"#ffffff"},"palette_colors":{"white":"#ffffff","grey":"#c0c0c0","black":"#000000","dark_grey":"#404040","navy":"#000080","teal":"#008080","blue":"#004080","dark_teal":"#004040"},"variables":{"bg_color":"white","bg_window":"grey","text_color":"black","link_color":"navy","text_dim":"dark_grey","border_color":"navy","border_active":"teal","accent_color":"navy","shadow_color":"dark_teal","accent_secondary":"teal","accent_tertiary":"blue","accent_quaternary":"navy","cube":"black","cube_hover":"blue","resume_job_role":"navy","resume_job_company":"blue","resume_job_meta":"dark_grey","resume_skill_bg":"navy","resume_skill_text":"white","resume_badge_bg":"teal","resume_badge_text":"white","filter_start_color":"black","filter_end_color":"white"}},{"id":"spaces_95","name":"Spaces 95","colors":{"bg_color":"#f0f4f4","bg_window":"#c0c0c0","text_color":"#000000","link_color":"#000080","text_dim":"#333333","border_color":"#000080","border_active":"#104e8b","accent_color":"#000080","shadow_color":"#004040","accent_secondary":"#104e8b","accent_tertiary":"#008080","accent_quaternary":"#000080","cube":"#000000","cube_hover":"#000080","resume_job_role":"#000080","resume_job_company":"#104e8b","resume_job_meta":"#333333","resume_skill_bg":"#000080","resume_skill_text":"#ffffff","resume_badge_bg":"#008080","resume_badge_text":"#ffffff","filter_start_color":"#000000","filter_end_color":"#f0f4f4"},"palette_colors":{"light_grey":"#f0f4f4","grey":"#c0c0c0","black":"#000000","dark_grey":"#333333","navy":"#000080","blue":"#104e8b","teal":"#008080","dark_teal":"#004040","white":"#ffffff"},"variables":{"bg_color":"light_grey","bg_window":"grey","text_color":"black","link_color":"navy","text_dim":"dark_grey","border_color":"navy","border_active":"blue","accent_color":"navy","shadow_color":"dark_teal","accent_secondary":"blue","accent_tertiary":"teal","accent_quaternary":"navy","cube":"black","cube_hover":"navy","resume_job_role":"navy","resume_job_company":"blue","resume_job_meta":"dark_grey","resume_skill_bg":"navy","resume_skill_text":"white","resume_badge_bg":"teal","resume_badge_text":"white","filter_start_color":"black","filter_end_color":"light_grey"}},{"id":"spaces_97","name":"Spaces 97","colors":{"bg_color":"#f0f4f8","bg_window":"#d4d0c8","text_color":"#000000","link_color":"#000080","text_dim":"#333333","border_color":"#2b579a","border_active":"#1084d0","accent_color":"#000080","shadow_color":"#1a385c","accent_secondary":"#1084d0","accent_tertiary":"#2b579a","accent_quaternary":"#000080","cube":"#000000","cube_hover":"#000080","resume_job_role":"#000080","resume_job_company":"#2b579a","resume_job_meta":"#333333","resume_skill_bg":"#2b579a","resume_skill_text":"#ffffff","resume_badge_bg":"#1084d0","resume_badge_text":"#ffffff","filter_start_color":"#000000","filter_end_color":"#f0f4f8"},"palette_colors":{"light_blue":"#f0f4f8","grey":"#d4d0c8","black":"#000000","dark_grey":"#333333","navy":"#000080","blue":"#1084d0","steel_blue":"#2b579a","dark_navy":"#1a385c","white":"#ffffff"},"variables":{"bg_color":"light_blue","bg_window":"grey","text_color":"black","link_color":"navy","text_dim":"dark_grey","border_color":"steel_blue","border_active":"blue","accent_color":"navy","shadow_color":"dark_navy","accent_secondary":"blue","accent_tertiary":"steel_blue","accent_quaternary":"navy","cube":"black","cube_hover":"navy","resume_job_role":"navy","resume_job_company":"steel_blue","resume_job_meta":"dark_grey","resume_skill_bg":"steel_blue","resume_skill_text":"white","resume_badge_bg":"blue","resume_badge_text":"white","filter_start_color":"black","filter_end_color":"light_blue"}},{"id":"spaces_98","name":"Spaces 98","colors":{"bg_color":"#f0f4f4","bg_window":"#c0c0c0","text_color":"#000000","link_color":"#000080","text_dim":"#444444","border_color":"#000080","border_active":"#10549c","accent_color":"#000080","shadow_color":"#004040","accent_secondary":"#10549c","accent_tertiary":"#008080","accent_quaternary":"#000080","cube":"#000000","cube_hover":"#10549c","resume_job_role":"#000080","resume_job_company":"#10549c","resume_job_meta":"#444444","resume_skill_bg":"#000080","resume_skill_text":"#ffffff","resume_badge_bg":"#008080","resume_badge_text":"#ffffff","filter_start_color":"#000000","filter_end_color":"#f0f4f4"},"palette_colors":{"light_grey":"#f0f4f4","grey":"#c0c0c0","black":"#000000","dark_grey":"#444444","navy":"#000080","blue":"#10549c","teal":"#008080","dark_teal":"#004040","white":"#ffffff"},"variables":{"bg_color":"light_grey","bg_window":"grey","text_color":"black","link_color":"navy","text_dim":"dark_grey","border_color":"navy","border_active":"blue","accent_color":"navy","shadow_color":"dark_teal","accent_secondary":"blue","accent_tertiary":"teal","accent_quaternary":"navy","cube":"black","cube_hover":"blue","resume_job_role":"navy","resume_job_company":"blue","resume_job_meta":"dark_grey","resume_skill_bg":"navy","resume_skill_text":"white","resume_badge_bg":"teal","resume_badge_text":"white","filter_start_color":"black","filter_end_color":"light_grey"}},{"id":"spaces_2000","name":"Spaces 2000","colors":{"bg_color":"#f0f4f8","bg_window":"#d4d0c8","text_color":"#000000","link_color":"#0a246a","text_dim":"#404040","border_color":"#2c5aa0","border_active":"#18429c","accent_color":"#0a246a","shadow_color":"#203858","accent_secondary":"#18429c","accent_tertiary":"#5b7b9a","accent_quaternary":"#0a246a","cube":"#000000","cube_hover":"#18429c","resume_job_role":"#0a246a","resume_job_company":"#18429c","resume_job_meta":"#404040","resume_skill_bg":"#2c5aa0","resume_skill_text":"#ffffff","resume_badge_bg":"#2c5aa0","resume_badge_text":"#ffffff","filter_start_color":"#000000","filter_end_color":"#f0f4f8"},"palette_colors":{"light_grey":"#f0f4f8","grey":"#d4d0c8","black":"#000000","dark_grey":"#404040","navy":"#0a246a","blue":"#18429c","steel_blue":"#5b7b9a","dark_navy":"#203858","royal_blue":"#2c5aa0","white":"#ffffff"},"variables":{"bg_color":"light_grey","bg_window":"grey","text_color":"black","link_color":"navy","text_dim":"dark_grey","border_color":"royal_blue","border_active":"blue","accent_color":"navy","shadow_color":"dark_navy","accent_secondary":"blue","accent_tertiary":"steel_blue","accent_quaternary":"navy","cube":"black","cube_hover":"blue","resume_job_role":"navy","resume_job_company":"blue","resume_job_meta":"dark_grey","resume_skill_bg":"royal_blue","resume_skill_text":"white","resume_badge_bg":"royal_blue","resume_badge_text":"white","filter_start_color":"black","filter_end_color":"light_grey"}},{"id":"spaces_xp","name":"Spaces XP","colors":{"bg_color":"#e2ebf4","bg_window":"#ffffff","text_color":"#0f2545","link_color":"#0055ea","text_dim":"#4e6580","border_color":"#0055ea","border_active":"#2e7d32","accent_color":"#0055ea","shadow_color":"#a0b4cc","accent_secondary":"#2e7d32","accent_tertiary":"#d84315","accent_quaternary":"#0055ea","cube":"#0f2545","cube_hover":"#d84315","resume_job_role":"#0055ea","resume_job_company":"#2e7d32","resume_job_meta":"#4e6580","resume_skill_bg":"#0055ea","resume_skill_text":"#ffffff","resume_badge_bg":"#2e7d32","resume_badge_text":"#ffffff","filter_start_color":"#0f2545","filter_end_color":"#e2ebf4"},"palette_colors":{"light_blue":"#e2ebf4","white":"#ffffff","navy":"#0f2545","steel_blue":"#4e6580","blue":"#0055ea","green":"#2e7d32","orange":"#d84315","grey":"#a0b4cc"},"variables":{"bg_color":"light_blue","bg_window":"white","text_color":"navy","link_color":"blue","text_dim":"steel_blue","border_color":"blue","border_active":"green","accent_color":"blue","shadow_color":"grey","accent_secondary":"green","accent_tertiary":"orange","accent_quaternary":"blue","cube":"navy","cube_hover":"orange","resume_job_role":"blue","resume_job_company":"green","resume_job_meta":"steel_blue","resume_skill_bg":"blue","resume_skill_text":"white","resume_badge_bg":"green","resume_badge_text":"white","filter_start_color":"navy","filter_end_color":"light_blue"}},{"id":"spaces_xp_royale","name":"Spaces XP Royale","colors":{"bg_color":"#141820","bg_window":"#1f2430","text_color":"#f0f4f9","link_color":"#4090ff","text_dim":"#7b8c9e","border_color":"#1f5ac8","border_active":"#4090ff","accent_color":"#4090ff","shadow_color":"#0a0d12","accent_secondary":"#10b981","accent_tertiary":"#4090ff","accent_quaternary":"#1f5ac8","cube":"#f0f4f9","cube_hover":"#4090ff","resume_job_role":"#4090ff","resume_job_company":"#10b981","resume_job_meta":"#7b8c9e","resume_skill_bg":"#1f5ac8","resume_skill_text":"#ffffff","resume_badge_bg":"#10b981","resume_badge_text":"#0f172a","filter_start_color":"#141820","filter_end_color":"#f0f4f9"},"palette_colors":{"dark_navy":"#141820","navy":"#1f2430","ice_blue":"#f0f4f9","slate":"#7b8c9e","bright_blue":"#4090ff","blue":"#1f5ac8","emerald":"#10b981","black":"#0a0d12","
41white":"#ffffff","dark_slate":"#0f172a"},"variables":{"bg_color":"dark_navy","bg_window":"navy","text_color":"ice_blue","link_color":"bright_blue","text_dim":"slate","border_color":"blue","border_active":"bright_blue","accent_color":"bright_blue","shadow_color":"black","accent_secondary":"emerald","accent_tertiary":"bright_blue","accent_quaternary":"blue","cube":"ice_blue","cube_hover":"bright_blue","resume_job_role":"bright_blue","resume_job_company":"emerald","resume_job_meta":"slate","resume_skill_bg":"blue","resume_skill_text":"white","resume_badge_bg":"emerald","resume_badge_text":"dark_slate","filter_start_color":"dark_navy","filter_end_color":"ice_blue"}},{"id":"spaces_vista","name":"Spaces Vista","colors":{"bg_color":"#141c24","bg_window":"#1f2b37","text_color":"#f0f4f8","link_color":"#00c3ff","text_dim":"#7890a8","border_color":"#0084b4","border_active":"#00c3ff","accent_color":"#00c3ff","shadow_color":"#080d12","accent_secondary":"#34d399","accent_tertiary":"#00c3ff","accent_quaternary":"#0084b4","cube":"#f0f4f8","cube_hover":"#00c3ff","resume_job_role":"#00c3ff","resume_job_company":"#34d399","resume_job_meta":"#7890a8","resume_skill_bg":"#0084b4","resume_skill_text":"#ffffff","resume_badge_bg":"#34d399","resume_badge_text":"#0f172a","filter_start_color":"#141c24","filter_end_color":"#f0f4f8"},"palette_colors":{"dark_navy":"#141c24","navy":"#1f2b37","ice_blue":"#f0f4f8","slate":"#7890a8","cyan":"#00c3ff","blue":"#0084b4","emerald":"#34d399","black":"#080d12","white":"#ffffff","dark_slate":"#0f172a"},"variables":{"bg_color":"dark_navy","bg_window":"navy","text_color":"ice_blue","link_color":"cyan","text_dim":"slate","border_color":"blue","border_active":"cyan","accent_color":"cyan","shadow_color":"black","accent_secondary":"emerald","accent_tertiary":"cyan","accent_quaternary":"blue","cube":"ice_blue","cube_hover":"cyan","resume_job_role":"cyan","resume_job_company":"emerald","resume_job_meta":"slate","resume_skill_bg":"blue","resume_skill_text":"white","resume_badge_bg":"emerald","resume_badge_text":"dark_slate","filter_start_color":"dark_navy","filter_end_color":"ice_blue"}},{"id":"spaces_7","name":"Spaces 7","colors":{"bg_color":"#dce8f5","bg_window":"#ffffff","text_color":"#1a2b3c","link_color":"#0066cc","text_dim":"#5a7086","border_color":"#3385d6","border_active":"#00a0e9","accent_color":"#0066cc","shadow_color":"#abcced","accent_secondary":"#00a0e9","accent_tertiary":"#3385d6","accent_quaternary":"#0066cc","cube":"#1a2b3c","cube_hover":"#00a0e9","resume_job_role":"#0066cc","resume_job_company":"#00a0e9","resume_job_meta":"#5a7086","resume_skill_bg":"#0066cc","resume_skill_text":"#ffffff","resume_badge_bg":"#3385d6","resume_badge_text":"#ffffff","filter_start_color":"#1a2b3c","filter_end_color":"#dce8f5"},"palette_colors":{"light_blue":"#dce8f5","white":"#ffffff","navy":"#1a2b3c","steel_blue":"#5a7086","blue":"#0066cc","royal_blue":"#3385d6","bright_blue":"#00a0e9","grey_blue":"#abcced"},"variables":{"bg_color":"light_blue","bg_window":"white","text_color":"navy","link_color":"blue","text_dim":"steel_blue","border_color":"royal_blue","border_active":"bright_blue","accent_color":"blue","shadow_color":"grey_blue","accent_secondary":"bright_blue","accent_tertiary":"royal_blue","accent_quaternary":"blue","cube":"navy","cube_hover":"bright_blue","resume_job_role":"blue","resume_job_company":"bright_blue","resume_job_meta":"steel_blue","resume_skill_bg":"blue","resume_skill_text":"white","resume_badge_bg":"royal_blue","resume_badge_text":"white","filter_start_color":"navy","filter_end_color":"light_blue"}},{"id":"spaces_8","name":"Spaces 8","colors":{"bg_color":"#eff3f8","bg_window":"#ffffff","text_color":"#1e1e1e","link_color":"#0078d7","text_dim":"#555555","border_color":"#2b579a","border_active":"#00a300","accent_color":"#0078d7","shadow_color":"#d0d7e0","accent_secondary":"#00a300","accent_tertiary":"#9f00a7","accent_quaternary":"#2b579a","cube":"#1e1e1e","cube_hover":"#00a300","resume_job_role":"#0078d7","resume_job_company":"#00a300","resume_job_meta":"#555555","resume_skill_bg":"#0078d7","resume_skill_text":"#ffffff","resume_badge_bg":"#9f00a7","resume_badge_text":"#ffffff","filter_start_color":"#1e1e1e","filter_end_color":"#eff3f8"},"palette_colors":{"light_grey":"#eff3f8","white":"#ffffff","charcoal":"#1e1e1e","dark_grey":"#555555","blue":"#0078d7","navy":"#2b579a","green":"#00a300","purple":"#9f00a7","grey":"#d0d7e0"},"variables":{"bg_color":"light_grey","bg_window":"white","text_color":"charcoal","link_color":"blue","text_dim":"dark_grey","border_color":"navy","border_active":"green","accent_color":"blue","shadow_color":"grey","accent_secondary":"green","accent_tertiary":"purple","accent_quaternary":"navy","cube":"charcoal","cube_hover":"green","resume_job_role":"blue","resume_job_company":"green","resume_job_meta":"dark_grey","resume_skill_bg":"blue","resume_skill_text":"white","resume_badge_bg":"purple","resume_badge_text":"white","filter_start_color":"charcoal","filter_end_color":"light_grey"}},{"id":"spaces_10","name":"Spaces 10","colors":{"bg_color":"#1f1f1f","bg_window":"#2c2c2c","text_color":"#f3f3f3","link_color":"#26b5ff","text_dim":"#9e9e9e","border_color":"#0078d4","border_active":"#26b5ff","accent_color":"#26b5ff","shadow_color":"#121212","accent_secondary":"#26b5ff","accent_tertiary":"#0078d4","accent_quaternary":"#9e9e9e","cube":"#f3f3f3","cube_hover":"#26b5ff","resume_job_role":"#26b5ff","resume_job_company":"#0078d4","resume_job_meta":"#9e9e9e","resume_skill_bg":"#0078d4","resume_skill_text":"#ffffff","resume_badge_bg":"#26b5ff","resume_badge_text":"#121212","filter_start_color":"#1f1f1f","filter_end_color":"#f3f3f3"},"palette_colors":{"dark_charcoal":"#1f1f1f","charcoal":"#2c2c2c","white":"#f3f3f3","grey":"#9e9e9e","cyan":"#26b5ff","blue":"#0078d4","black":"#121212","pure_white":"#ffffff"},"variables":{"bg_color":"dark_charcoal","bg_window":"charcoal","text_color":"white","link_color":"cyan","text_dim":"grey","border_color":"blue","border_active":"cyan","accent_color":"cyan","shadow_color":"black","accent_secondary":"cyan","accent_tertiary":"blue","accent_quaternary":"grey","cube":"white","cube_hover":"cyan","resume_job_role":"cyan","resume_job_company":"blue","resume_job_meta":"grey","resume_skill_bg":"blue","resume_skill_text":"pure_white","resume_badge_bg":"cyan","resume_badge_text":"black","filter_start_color":"dark_charcoal","filter_end_color":"white"}},{"id":"spaces_11","name":"Spaces 11","colors":{"bg_color":"#18191c","bg_window":"#24272c","text_color":"#f8f9fa","link_color":"#4cc2ff","text_dim":"#8e96a0","border_color":"#383d44","border_active":"#60cdff","accent_color":"#4cc2ff","shadow_color":"#0d0e10","accent_secondary":"#60cdff","accent_tertiary":"#4cc2ff","accent_quaternary":"#383d44","cube":"#f8f9fa","cube_hover":"#60cdff","resume_job_role":"#4cc2ff","resume_job_company":"#60cdff","resume_job_meta":"#8e96a0","resume_skill_bg":"#005fb8","resume_skill_text":"#ffffff","resume_badge_bg":"#4cc2ff","resume_badge_text":"#0d0e10","filter_start_color":"#18191c","filter_end_color":"#f8f9fa"},"palette_colors":{"dark_charcoal":"#18191c","charcoal":"#24272c","white":"#f8f9fa","grey":"#8e96a0","cyan":"#4cc2ff","slate":"#383d44","light_cyan":"#60cdff","black":"#0d0e10","blue":"#005fb8","pure_white":"#ffffff"},"variables":{"bg_color":"dark_charcoal","bg_window":"charcoal","text_color":"white","link_color":"cyan","text_dim":"grey","border_color":"slate","border_active":"light_cyan","accent_color":"cyan","shadow_color":"black","accent_secondary":"light_cyan","accent_tertiary":"
41cyan","accent_quaternary":"slate","cube":"white","cube_hover":"light_cyan","resume_job_role":"cyan","resume_job_company":"light_cyan","resume_job_meta":"grey","resume_skill_bg":"blue","resume_skill_text":"pure_white","resume_badge_bg":"cyan","resume_badge_text":"black","filter_start_color":"dark_charcoal","filter_end_color":"white"}},{"id":"fruit_os","name":"Fruit OS","colors":{"bg_color":"#d6d6d6","bg_window":"#ffffff","text_color":"#000000","link_color":"#0000aa","text_dim":"#555555","border_color":"#000000","border_active":"#3333cc","accent_color":"#0000aa","shadow_color":"#888888","accent_secondary":"#3333cc","accent_tertiary":"#0000aa","accent_quaternary":"#555555","cube":"#000000","cube_hover":"#3333cc","resume_job_role":"#0000aa","resume_job_company":"#3333cc","resume_job_meta":"#555555","resume_skill_bg":"#0000aa","resume_skill_text":"#ffffff","resume_badge_bg":"#3333cc","resume_badge_text":"#ffffff","filter_start_color":"#000000","filter_end_color":"#d6d6d6"},"palette_colors":{"light_grey":"#d6d6d6","white":"#ffffff","black":"#000000","dark_grey":"#555555","blue":"#0000aa","royal_blue":"#3333cc","grey":"#888888"},"variables":{"bg_color":"light_grey","bg_window":"white","text_color":"black","link_color":"blue","text_dim":"dark_grey","border_color":"black","border_active":"royal_blue","accent_color":"blue","shadow_color":"grey","accent_secondary":"royal_blue","accent_tertiary":"blue","accent_quaternary":"dark_grey","cube":"black","cube_hover":"royal_blue","resume_job_role":"blue","resume_job_company":"royal_blue","resume_job_meta":"dark_grey","resume_skill_bg":"blue","resume_skill_text":"white","resume_badge_bg":"royal_blue","resume_badge_text":"white","filter_start_color":"black","filter_end_color":"light_grey"}},{"id":"fruit_osx","name":"Fruit OSX","colors":{"bg_color":"#e8ecef","bg_window":"#ffffff","text_color":"#1d1d1f","link_color":"#007aff","text_dim":"#6e6e73","border_color":"#007aff","border_active":"#34c759","accent_color":"#007aff","shadow_color":"#c0c8d0","accent_secondary":"#34c759","accent_tertiary":"#ff9500","accent_quaternary":"#ff3b30","cube":"#1d1d1f","cube_hover":"#ff3b30","resume_job_role":"#007aff","resume_job_company":"#34c759","resume_job_meta":"#6e6e73","resume_skill_bg":"#007aff","resume_skill_text":"#ffffff","resume_badge_bg":"#34c759","resume_badge_text":"#ffffff","filter_start_color":"#1d1d1f","filter_end_color":"#e8ecef"},"palette_colors":{"light_grey":"#e8ecef","white":"#ffffff","charcoal":"#1d1d1f","slate":"#6e6e73","blue":"#007aff","green":"#34c759","orange":"#ff9500","red":"#ff3b30","grey":"#c0c8d0"},"variables":{"bg_color":"light_grey","bg_window":"white","text_color":"charcoal","link_color":"blue","text_dim":"slate","border_color":"blue","border_active":"green","accent_color":"blue","shadow_color":"grey","accent_secondary":"green","accent_tertiary":"orange","accent_quaternary":"red","cube":"charcoal","cube_hover":"red","resume_job_role":"blue","resume_job_company":"green","resume_job_meta":"slate","resume_skill_bg":"blue","resume_skill_text":"white","resume_badge_bg":"green","resume_badge_text":"white","filter_start_color":"charcoal","filter_end_color":"light_grey"}},{"id":"community","name":"Community","colors":{"bg_color":"#2c001e","bg_window":"#380c2a","text_color":"#f7f7f7","link_color":"#ff6331","text_dim":"#aea79f","border_color":"#e95420","border_active":"#ff6331","accent_color":"#ff6331","shadow_color":"#180010","accent_secondary":"#ff6331","accent_tertiary":"#e95420","accent_quaternary":"#aea79f","cube":"#f7f7f7","cube_hover":"#ff6331","resume_job_role":"#ff6331","resume_job_company":"#e95420","resume_job_meta":"#aea79f","resume_skill_bg":"#e95420","resume_skill_text":"#ffffff","resume_badge_bg":"#77216f","resume_badge_text":"#ffffff","filter_start_color":"#2c001e","filter_end_color":"#f7f7f7"},"palette_colors":{"dark_aubergine":"#2c001e","aubergine":"#380c2a","white":"#f7f7f7","grey":"#aea79f","orange":"#ff6331","ubuntu_orange":"#e95420","black":"#180010","pure_white":"#ffffff","purple":"#77216f"},"variables":{"bg_color":"dark_aubergine","bg_window":"aubergine","text_color":"white","link_color":"orange","text_dim":"grey","border_color":"ubuntu_orange","border_active":"orange","accent_color":"orange","shadow_color":"black","accent_secondary":"orange","accent_tertiary":"ubuntu_orange","accent_quaternary":"grey","cube":"white","cube_hover":"orange","resume_job_role":"orange","resume_job_company":"ubuntu_orange","resume_job_meta":"grey","resume_skill_bg":"ubuntu_orange","resume_skill_text":"pure_white","resume_badge_bg":"purple","resume_badge_text":"pure_white","filter_start_color":"dark_aubergine","filter_end_color":"white"}},{"id":"pico_8","name":"Pico-8","colors":{"bg_color":"#1d2b53","bg_window":"#1d2b53","text_color":"#fff1e8","link_color":"#29adff","text_dim":"#83769c","border_color":"#83769c","border_active":"#29adff","accent_color":"#ffff27","shadow_color":"#000000","accent_secondary":"#00e436","accent_tertiary":"#ff004d","accent_quaternary":"#ffa300","cube":"#29adff","cube_hover":"#ffff27","resume_job_role":"#ffff27","resume_job_company":"#00e436","resume_job_meta":"#83769c","resume_skill_bg":"#7e2553","resume_skill_text":"#fff1e8","resume_badge_bg":"#ff004d","resume_badge_text":"#fff1e8","filter_start_color":"#1d2b53","filter_end_color":"#fff1e8"}
41,"palette_colors":{"black":"#000000","dark_blue":"#1d2b53","dark_purple":"#7e2553","dark_green":"#008751","brown":"#ab5236","dark_grey":"#5f574f","light_grey":"#c2c3c7","white":"#fff1e8","red":"#ff004d","orange":"#ffa300","yellow":"#ffff27","green":"#00e436","blue":"#29adff","indigo":"#83769c","pink":"#ff77a8","peach":"#ffccaa"},"variables":{"bg_color":"dark_blue","bg_window":"dark_blue","text_color":"white","link_color":"blue","text_dim":"indigo","border_color":"indigo","border_active":"blue","accent_color":"yellow","shadow_color":"black","accent_secondary":"green","accent_tertiary":"red","accent_quaternary":"orange","cube":"blue","cube_hover":"yellow","resume_job_role":"yellow","resume_job_company":"green","resume_job_meta":"indigo","resume_skill_bg":"dark_purple","resume_skill_text":"white","resume_badge_bg":"red","resume_badge_text":"white","filter_start_color":"dark_blue","filter_end_color":"white"}},{"id":"playdate","name":"Playdate","colors":{"bg_color":"#ffc72c","bg_window":"#ffc72c","text_color":"#111110","link_color":"#111110","text_dim":"#3a3a36","border_color":"#111110","border_active":"#111110","accent_color":"#111110","shadow_color":"#111110","accent_secondary":"#20201d","accent_tertiary":"#3a3a36","accent_quaternary":"#111110","cube":"#111110","cube_hover":"#20201d","resume_job_role":"#111110","resume_job_company":"#20201d","resume_job_meta":"#3a3a36","resume_skill_bg":"#111110","resume_skill_text":"#ffc72c","resume_badge_bg":"#111110","resume_badge_text":"#ffc72c","filter_start_color":"#111110","filter_end_color":"#ffc72c"},"palette_colors":{"signal_yellow":"#ffc72c","lcd_charcoal":"#20201d","dpad_black":"#111110","dark_grey":"#3a3a36"},"variables":{"bg_color":"signal_yellow","bg_window":"signal_yellow","text_color":"dpad_black","link_color":"dpad_black","text_dim":"dark_grey","border_color":"dpad_black","border_active":"dpad_black","accent_color":"dpad_black","shadow_color":"dpad_black","accent_secondary":"lcd_charcoal","accent_tertiary":"dark_grey","accent_quaternary":"dpad_black","cube":"dpad_black","cube_hover":"lcd_charcoal","resume_job_role":"dpad_black","resume_job_company":"lcd_charcoal","resume_job_meta":"dark_grey","resume_skill_bg":"dpad_black","resume_skill_text":"signal_yellow","resume_badge_bg":"dpad_black","resume_badge_text":"signal_yellow","filter_start_color":"dpad_black","filter_end_color":"signal_yellow"}},{"id":"sweetie_80","name":"Sweetie 80","colors":{"bg_color":"#1a1c2c","bg_window":"#333c57","text_color":"#f4f4f4","link_color":"#41a6f6","text_dim":"#94b0c2","border_color":"#3b5dc9","border_active":"#73eff7","accent_color":"#ffcd75","shadow_color":"#1a1c2c","accent_secondary":"#38b764","accent_tertiary":"#ef7d57","accent_quaternary":"#a7f070","cube":"#41a6f6","cube_hover":"#73eff7","resume_job_role":"#ffcd75","resume_job_company":"#a7f070","resume_job_meta":"#94b0c2","resume_skill_bg":"#5d275d","resume_skill_text":"#f4f4f4","resume_badge_bg":"#b13e53","resume_badge_text":"#f4f4f4","filter_start_color":"#1a1c2c","filter_end_color":"#f4f4f4"},"palette_colors":{"deep_void":"#1a1c2c","plum":"#5d275d","wine":"#b13e53","coral":"#ef7d57","peach":"#ffcd75","lime":"#a7f070","emerald":"#38b764","teal":"#257179","midnight":"#29366f","royal_blue":"#3b5dc9","sky_blue":"#41a6f6","aqua":"#73eff7","ghost_white":"#f4f4f4","ice_grey":"#94b0c2","slate":"#566c86","dark_slate":"#333c57"},"variables":{"bg_color":"deep_void","bg_window":"dark_slate","text_color":"ghost_white","link_color":"sky_blue","text_dim":"ice_grey","border_color":"royal_blue","border_active":"aqua","accent_color":"peach","shadow_color":"deep_void","accent_secondary":"emerald","accent_tertiary":"coral","accent_quaternary":"lime","cube":"sky_blue","cube_hover":"aqua","resume_job_role":"peach","resume_job_company":"lime","resume_job_meta":"ice_grey","resume_skill_bg":"plum","resume_skill_text":"ghost_white","resume_badge_bg":"wine","resume_badge_text":"ghost_white","filter_start_color":"deep_void","filter_end_color":"ghost_white"}},{"id":"oled_micro","name":"OLED Micro","colors":{"bg_color":"#05080c","bg_window":"#05080c","text_color":"#00f0ff","link_color":"#ffffff","text_dim":"#0099aa","border_color":"#00f0ff","border_active":"#ffffff","accent_color":"#f59e0b","shadow_color":"#1f2937","accent_secondary":"#ffffff","accent_tertiary":"#f59e0b","accent_quaternary":"#0099aa","cube":"#00f0ff","cube_hover":"#ffffff","resume_job_role":"#f59e0b","resume_job_company":"#ffffff","resume_job_meta":"#0099aa","resume_skill_bg":"#1f2937","resume_skill_text":"#00f0ff","resume_badge_bg":"#f59e0b","resume_badge_text":"#05080c","filter_start_color":"#05080c","filter_end_color":"#00f0ff"},"palette_colors":{"oled_black":"#05080c","oled_cyan":"#00f0ff","oled_white":"#ffffff","solder_slate":"#1f2937","circuit_gold":"#f59e0b","dim_cyan":"#0099aa"},"variables":{"bg_color":"oled_black","bg_window":"oled_black","text_color":"oled_cyan","link_color":"oled_white","text_dim":"dim_cyan","border_color":"oled_cyan","border_active":"oled_white","accent_color":"circuit_gold","shadow_color":"solder_slate","accent_secondary":"oled_white","accent_tertiary":"
41circuit_gold","accent_quaternary":"dim_cyan","cube":"oled_cyan","cube_hover":"oled_white","resume_job_role":"circuit_gold","resume_job_company":"oled_white","resume_job_meta":"dim_cyan","resume_skill_bg":"solder_slate","resume_skill_text":"oled_cyan","resume_badge_bg":"circuit_gold","resume_badge_text":"oled_black","filter_start_color":"oled_black","filter_end_color":"oled_cyan"}},{"id":"dreamcast","name":"Spiral 128","colors":{"bg_color":"#ececec","bg_window":"#dcdcdc","text_color":"#232328","link_color":"#ff6600","text_dim":"#55555c","border_color":"#232328","border_active":"#ff6600","accent_color":"#ff6600","shadow_color":"#232328","accent_secondary":"#0055a5","accent_tertiary":"#6dc5b8","accent_quaternary":"#232328","cube":"#232328","cube_hover":"#ff6600","resume_job_role":"#ff6600","resume_job_company":"#0055a5","resume_job_meta":"#55555c","resume_skill_bg":"#232328","resume_skill_text":"#ececec","resume_badge_bg":"#ff6600","resume_badge_text":"#ececec","filter_start_color":"#232328","filter_end_color":"#ececec"},"palette_colors":{"console_grey":"#ececec","deep_grey":"#dcdcdc","charcoal":"#232328","swirl_orange":"#ff6600","swirl_blue":"#0055a5","vmu_teal":"#6dc5b8","dim_charcoal":"#55555c"},"variables":{"bg_color":"console_grey","bg_window":"deep_grey","text_color":"charcoal","link_color":"swirl_orange","text_dim":"dim_charcoal","border_color":"charcoal","border_active":"swirl_orange","accent_color":"swirl_orange","shadow_color":"charcoal","accent_secondary":"swirl_blue","accent_tertiary":"vmu_teal","accent_quaternary":"charcoal","cube":"charcoal","cube_hover":"swirl_orange","resume_job_role":"swirl_orange","resume_job_company":"swirl_blue","resume_job_meta":"dim_charcoal","resume_skill_bg":"charcoal","resume_skill_text":"console_grey","resume_badge_bg":"swirl_orange","resume_badge_text":"console_grey","filter_start_color":"charcoal","filter_end_color":"console_grey"}},{"id":"saturn","name":"Saturn","colors":{"bg_color":"#dcdde1","bg_window":"#cbccd1","text_color":"#22252a","link_color":"#192a56","text_dim":"#555f6d","border_color":"#192a56","border_active":"#0f1830","accent_color":"#192a56","shadow_color":"#192a56","accent_secondary":"#192a56","accent_tertiary":"#0f1830","accent_quaternary":"#555f6d","cube":"#192a56","cube_hover":"#0f1830","resume_job_role":"#192a56","resume_job_company":"#0f1830","resume_job_meta":"#555f6d","resume_skill_bg":"#192a56","resume_skill_text":"#dcdde1","resume_badge_bg":"#e1b12c","resume_badge_text":"#192a56","filter_start_color":"#192a56","filter_end_color":"#dcdde1"},"palette_colors":{"mist_grey":"#dcdde1","slate_card":"#cbccd1","midnight_blue":"#192a56","saturn_gold":"#e1b12c","dark_charcoal":"#22252a","slate_dim":"#555f6d","deep_navy":"#0f1830"},"variables":{"bg_color":"mist_grey","bg_window":"slate_card","text_color":"dark_charcoal","link_color":"midnight_blue","text_dim":"slate_dim","border_color":"midnight_blue","border_active":"deep_navy","accent_color":"midnight_blue","shadow_color":"midnight_blue","accent_secondary":"midnight_blue","accent_tertiary":"deep_navy","accent_quaternary":"slate_dim","cube":"midnight_blue","cube_hover":"deep_navy","resume_job_role":"midnight_blue","resume_job_company":"deep_navy","resume_job_meta":"slate_dim","resume_skill_bg":"midnight_blue","resume_skill_text":"mist_grey","resume_badge_bg":"saturn_gold","resume_badge_text":"midnight_blue","filter_start_color":"midnight_blue","filter_end_color":"mist_grey"}},{"id":"atomic_purple","name":"Atomic Purple","colors":{"bg_color":"#4b3869","bg_window":"#6a528f","text_color":"#e8e0f5","link_color":"#ad9cc1","text_dim":"#bdaece","border_color":"#7e68a0","border_active":"#c83e74","accent_color":"#c83e74","shadow_color":"#261b36","accent_secondary":"#ad9cc1","accent_tertiary":"#2d572c","accent_quaternary":"#bdaece","cube":"#e8e0f5","cube_hover":"#c83e74","resume_job_role":"#ad9cc1","resume_job_company":"#c83e74","resume_job_meta":"#bdaece","resume_skill_bg":"#c83e74","resume_skill_text":"#e8e0f5","resume_badge_bg":"#2d572c","resume_badge_text":"#e8e0f5","filter_start_color":"#261b36","filter_end_color":"#e8e0f5"},"palette_colors":{"resin_purple":"#4b3869","resin_light":"#6a528f","resin_border":"#7e68a0","lilac_text":"#e8e0f5","lilac_dim":"#bdaece","pcb_green":"#2d572c","button_magenta":"#c83e74","specular_lilac":"#ad9cc1","void_black":"#261b36"},"variables":{"bg_color":"resin_purple","bg_window":"resin_light","text_color":"lilac_text","link_color":"specular_lilac","text_dim":"lilac_dim","border_color":"resin_border","border_active":"button_magenta","accent_color":"button_magenta","shadow_color":"void_black","accent_secondary":"specular_lilac","accent_tertiary":"pcb_green","accent_quaternary":"lilac_dim","cube":"lilac_text","cube_hover":"button_magenta","resume_job_role":"specular_lilac","resume_job_company":"button_magenta","resume_job_meta":"lilac_dim","resume_skill_bg":"button_magenta","resume_skill_text":"lilac_text","resume_badge_bg":"pcb_green","resume_badge_text":"lilac_text","filter_start_color":"void_black","filter_end_color":"lilac_text"}},{"id":"pocket_advance","name":"Pocket Advance","colors":{"bg_color":"#3f427b","bg_window":"#282a52","text_color":"#e0e4f0","link_color":"#39ff14","text_dim":"#9fa5b5","border_color":"#9fa5b5","border_active":"#39ff14","accent_color":"#39ff14","shadow_color":"#1a1b36","accent_secondary":"#ff5500","accent_tertiary":"#9fa5b5","accent_quaternary":"#39ff14","cube":"#e0e4f0","cube_hover":"#39ff14","resume_job_role":"#39ff14","resume_job_company":"#ff5500","resume_job_meta":"#9fa5b5","resume_skill_bg":"#282a52","resume_skill_text":"#e0e4f0","resume_badge_bg":"#39ff14","resume_badge_text":"#282a52","filter_start_color":"#1a1b36","filter_end_color":"#e0e4f0"},"palette_colors":{"gba_indigo":"#3f427b","gba_dark":"#282a52","white_lettering":"#e0e4f0","slate_grey":"#9fa5b5","power_green":"#39ff14","battery_amber":"#ff5500","shadow_indigo":"#1a1b36"},"variables":{"bg_color":"gba_indigo","bg_window":"gba_dark","text_color":"white_lettering","link_color":"power_green","text_dim":"slate_grey","border_color":"slate_grey","border_active":"power_green","accent_color":"power_green","shadow_color":"shadow_indigo","accent_secondary":"battery_amber","accent_tertiary":"slate_grey","accent_quaternary":"power_green","cube":"white_lettering","cube_hover":"power_green","resume_job_role":"power_green","resume_job_company":"battery_amber","resume_job_meta":"slate_grey","resume_skill_bg":"gba_dark","resume_skill_text":"white_lettering","resume_badge_bg":"power_green","resume_badge_text":"gba_dark","filter_start_color":"shadow_indigo","filter_end_color":"white_lettering"}},{"id":"indiglo_light","name":"Indiglo Light","colors":{"bg_color":"#124742","bg_window":"#092623","text_color":"#66fcd4","link_color":"#2de2b6","text_dim":"#258575","border_color":"#2de2b6","border_active":"#66fcd4","accent_color":"#66fcd4","shadow_color":"#041210","accent_secondary":"#2de2b6","accent_tertiary":"#258575","accent_quaternary":"#66fcd4","cube":"#66fcd4","cube_hover":"#2de2b6","resume_job_role":"#66fcd4","resume_job_company":"#2de2b6","resume_job_meta":"#258575","resume_skill_bg":"#041210","resume_skill_text":"#66fcd4","resume_badge_bg":"#2de2b6","resume_badge_text":"#041210","filter_start_color":"#041210","filter_end_color":"#66fcd4"},"palette_colors":{"el_backlit":"#124742","el_dark":"#092623","lcd_mint":"#66fcd4","lcd_glow":"#2de2b6","lcd_ink":"#041210","dim_mint":"#258575"},"variables":{"bg_color":"el_backlit","bg_window":"el_dark","text_color":"lcd_mint","link_color":"lcd_glow","text_dim":"dim_mint","border_color":"lcd_glow","border_active":"lcd_mint","accent_color":"lcd_mint","shadow_color":"lcd_ink","accent_secondary":"lcd_glow","accent_tertiary":"dim_mint","accent_quaternary":"lcd_mint","cube":"lcd_mint","cube_hover":"lcd_glow","resume_job_role":"lcd_mint","resume_job_company":"lcd_glow","resume_job_meta":"dim_mint","resume_skill_bg":"lcd_ink","resume_skill_text":"lcd_mint","resume_badge_bg":"lcd_glow","resume_badge_text":"lcd_ink","filter_start_color":"lcd_ink","filter_end_color":"lcd_mint"}},{"id":"gamestation_portable","name":"GameStationPortable","colors":{"bg_color":"#0c0d10","bg_window":"#181b22","text_color":"#e0f7fa","link_color":"#29b6f6","text_dim":"#758294","border_color":"#c8d1dc","border_active":"#29b6f6","accent_color":"#29b6f6","shadow_color":"#050607","accent_secondary":"#c8d1dc","accent_tertiary":"#e0f7fa","accent_quaternary":"#758294","cube":"#c8d1dc","cube_hover":"#29b6f6","resume_job_role":"#29b6f6","resume_job_company":"#c8d1dc","resume_job_meta":"#758294","resume_skill_bg":"#181b22","resume_skill_text":"#29b6f6","resume_badge_bg":"#29b6f6","resume_badge_text":"#050607","filter_start_color":"#050607","filter_end_color":"#e0f7fa"},"palette_colors":{"piano_black":"#0c0d10","bezel_dark":"#181b22","xmb_cyan":"#29b6f6","chrome_silver":"#c8d1dc","white_glow":"#e0f7fa","dim_silver":"#758294","deep_black":"#050607"},"variables":{"bg_color":"piano_black","bg_window":"bezel_dark","text_color":"white_glow","link_color":"xmb_cyan","text_dim":"dim_silver","border_color":"chrome_silver","border_active":"xmb_cyan","accent_color":"xmb_cyan","shadow_color":"deep_black","accent_secondary":"chrome_silver","accent_tertiary":"white_glow","accent_quaternary":"dim_silver","cube":"chrome_silver","cube_hover":"xmb_cyan","resume_job_role":"xmb_cyan","resume_job_company":"chrome_silver","resume_job_meta":"dim_silver","resume_skill_bg":"bezel_dark","resume_skill_text":"xmb_cyan","resume_badge_bg":"xmb_cyan","resume_badge_text":"deep_black","filter_start_color":"deep_black","filter_end_color":"white_glow"}},{"id":"gamestation_3","name":"GameStation 3","colors":{"bg_color":"#0e0f14","bg_window":"#191b22","text_color":"#d4dae2","link_color":"#ff1744","text_dim":"#8a95a5","border_color":"#d4dae2","border_active":"#00e676","accent_color":"#ff1744","shadow_color":"#060709","accent_secondary":"#00e676","accent_tertiary":"#d4dae2","accent_quaternary":"#8a95a5","cube":"#d4dae2","cube_hover":"#ff1744","resume_job_role":"#ff1744","resume_job_company":"#00e676","resume_job_meta":"#8a95a5","resume_skill_bg":"#191b22","resume_skill_text":"#d4dae2","resume_badge_bg":"#ff1744","resume_badge_text":"#0e0f14","filter_start_color":"#060709","filter_end_color":"#d4dae2"},"palette_colors":{"gloss_black":"#0e0f14","slot_dark":"#191b22","chrome_trim":"#d4dae2","standby_red":"#ff1744","power_green":"#00e676","titanium_grey":"#8a95a5","void_black":"#060709"},"variables":{"bg_color":"gloss_black","bg_window":"slot_dark","text_color":"chrome_trim","link_color":"standby_red","text_dim":"titanium_grey","border_color":"chrome_trim","border_active":"power_green","accent_color":"standby_red","shadow_color":"void_black","accent_secondary":"power_green","accent_tertiary":"
41chrome_trim","accent_quaternary":"titanium_grey","cube":"chrome_trim","cube_hover":"standby_red","resume_job_role":"standby_red","resume_job_company":"power_green","resume_job_meta":"titanium_grey","resume_skill_bg":"slot_dark","resume_skill_text":"chrome_trim","resume_badge_bg":"standby_red","resume_badge_text":"gloss_black","filter_start_color":"void_black","filter_end_color":"chrome_trim"}},{"id":"nds_aqua","name":"NDS Aqua","colors":{"bg_color":"#008b9e","bg_window":"#005d6b","text_color":"#ffffff","link_color":"#80deea","text_dim":"#80deea","border_color":"#ffffff","border_active":"#80deea","accent_color":"#80deea","shadow_color":"#0f1318","accent_secondary":"#ffffff","accent_tertiary":"#80deea","accent_quaternary":"#266973","cube":"#ffffff","cube_hover":"#80deea","resume_job_role":"#80deea","resume_job_company":"#ffffff","resume_job_meta":"#80deea","resume_skill_bg":"#0f1318","resume_skill_text":"#80deea","resume_badge_bg":"#80deea","resume_badge_text":"#0f1318","filter_start_color":"#0f1318","filter_end_color":"#ffffff"},"palette_colors":{"metallic_aqua":"#008b9e","abyss_cyan":"#005d6b","bezel_black":"#0f1318","pure_white":"#ffffff","glint_cyan":"#80deea","dim_cyan":"#266973"},"variables":{"bg_color":"metallic_aqua","bg_window":"abyss_cyan","text_color":"pure_white","link_color":"glint_cyan","text_dim":"glint_cyan","border_color":"pure_white","border_active":"glint_cyan","accent_color":"glint_cyan","shadow_color":"bezel_black","accent_secondary":"pure_white","accent_tertiary":"glint_cyan","accent_quaternary":"dim_cyan","cube":"pure_white","cube_hover":"glint_cyan","resume_job_role":"glint_cyan","resume_job_company":"pure_white","resume_job_meta":"glint_cyan","resume_skill_bg":"bezel_black","resume_skill_text":"glint_cyan","resume_badge_bg":"glint_cyan","resume_badge_text":"bezel_black","filter_start_color":"bezel_black","filter_end_color":"pure_white"}},{"id":"atarl","name":"AtarL","colors":{"bg_color":"#1a1a1a","bg_window":"#5c3a21","text_color":"#f0e6d2","link_color":"#ff4500","text_dim":"#997a54","border_color":"#b0b0b0","border_active":"#ff4500","accent_color":"#ff4500","shadow_color":"#111111","accent_secondary":"#b0b0b0","accent_tertiary":"#5c3a21","accent_quaternary":"#997a54","cube":"#f0e6d2","cube_hover":"#ff4500","resume_job_role":"#ff4500","resume_job_company":"#b0b0b0","resume_job_meta":"#997a54","resume_skill_bg":"#1a1a1a","resume_skill_text":"#f0e6d2","resume_badge_bg":"#ff4500","resume_badge_text":"#1a1a1a","filter_start_color":"#1a1a1a","filter_end_color":"#f0e6d2"},"palette_colors":{"ribbed_black":"#1a1a1a","ribbed_shadow":"#111111","walnut_veneer":"#5c3a21","joystick_fire":"#ff4500","lever_silver":"#b0b0b0","vintage_ivory":"#f0e6d2","dim_amber":"#997a54"},"variables":{"bg_color":"ribbed_black","bg_window":"walnut_veneer","text_color":"vintage_ivory","link_color":"joystick_fire","text_dim":"dim_amber","border_color":"lever_silver","border_active":"joystick_fire","accent_color":"joystick_fire","shadow_color":"ribbed_shadow","accent_secondary":"lever_silver","accent_tertiary":"walnut_veneer","accent_quaternary":"dim_amber","cube":"vintage_ivory","cube_hover":"joystick_fire","resume_job_role":"joystick_fire","resume_job_company":"lever_silver","resume_job_meta":"dim_amber","resume_skill_bg":"ribbed_black","resume_skill_text":"vintage_ivory","resume_badge_bg":"joystick_fire","resume_badge_text":"ribbed_black","filter_start_color":"ribbed_black","filter_end_color":"vintage_ivory"}},{"id":"mega_shock","name":"Mega Shock","colors":{"bg_color":"#141416","bg_window":"#222329","text_color":"#f5f5f5","link_color":"#d4af37","text_dim":"#8f7524","border_color":"#d4af37","border_active":"#e53935","accent_color":"#e53935","shadow_color":"#141416","accent_secondary":"#1e88e5","accent_tertiary":"#fbc02d","accent_quaternary":"#43a047","cube":"#d4af37","cube_hover":"#e53935","resume_job_role":"#d4af37","resume_job_company":"#1e88e5","resume_job_meta":"#8f7524","resume_skill_bg":"#141416","resume_skill_text":"#d4af37","resume_badge_bg":"#e53935","resume_badge_text":"#f5f5f5","filter_start_color":"#141416","filter_end_color":"#f5f5f5"},"palette_colors":{"arcade_black":"#141416","cabinet_slate":"#222329","neo_gold":"#d4af37","button_red":"#e53935","button_yellow":"#fbc02d","button_green":"#43a047","button_blue":"#1e88e5","text_white":"#f5f5f5","dim_gold":"#8f7524"},"variables":{"bg_color":"arcade_black","bg_window":"cabinet_slate","text_color":"text_white","link_color":"neo_gold","text_dim":"dim_gold","border_color":"neo_gold","border_active":"button_red","accent_color":"button_red","shadow_color":"arcade_black","accent_secondary":"button_blue","accent_tertiary":"button_yellow","accent_quaternary":"button_green","cube":"neo_gold","cube_hover":"button_red","resume_job_role":"neo_gold","resume_job_company":"button_blue","resume_job_meta":"dim_gold","resume_skill_bg":"arcade_black","resume_skill_text":"neo_gold","resume_badge_bg":"button_red","resume_badge_text":"text_white","filter_start_color":"arcade_black","filter_end_color":"text_white"}}
41,{"id":"engine_16","name":"Engine 16","colors":{"bg_color":"#f2f4f7","bg_window":"#e4e7eb","text_color":"#33373d","link_color":"#ff3b30","text_dim":"#8e95a0","border_color":"#33373d","border_active":"#ff3b30","accent_color":"#ff3b30","shadow_color":"#33373d","accent_secondary":"#007aff","accent_tertiary":"#8e95a0","accent_quaternary":"#33373d","cube":"#33373d","cube_hover":"#ff3b30","resume_job_role":"#ff3b30","resume_job_company":"#007aff","resume_job_meta":"#8e95a0","resume_skill_bg":"#33373d","resume_skill_text":"#f2f4f7","resume_badge_bg":"#ff3b30","resume_badge_text":"#f2f4f7","filter_start_color":"#33373d","filter_end_color":"#f2f4f7"},"palette_colors":{"pce_white":"#f2f4f7","pce_card":"#e4e7eb","pad_charcoal":"#33373d","hucard_red":"#ff3b30","nec_blue":"#007aff","switch_grey":"#8e95a0","dark_black":"#1a1a1c"},"variables":{"bg_color":"pce_white","bg_window":"pce_card","text_color":"pad_charcoal","link_color":"hucard_red","text_dim":"switch_grey","border_color":"pad_charcoal","border_active":"hucard_red","accent_color":"hucard_red","shadow_color":"pad_charcoal","accent_secondary":"nec_blue","accent_tertiary":"switch_grey","accent_quaternary":"pad_charcoal","cube":"pad_charcoal","cube_hover":"hucard_red","resume_job_role":"hucard_red","resume_job_company":"nec_blue","resume_job_meta":"switch_grey","resume_skill_bg":"pad_charcoal","resume_skill_text":"pce_white","resume_badge_bg":"hucard_red","resume_badge_text":"pce_white","filter_start_color":"pad_charcoal","filter_end_color":"pce_white"}},{"id":"phosphor_vector","name":"Phosphor Vector","colors":{"bg_color":"#070709","bg_window":"#070709","text_color":"#39ff14","link_color":"#00e5ff","text_dim":"#1a660a","border_color":"#39ff14","border_active":"#ffffff","accent_color":"#ffffff","shadow_color":"#070709","accent_secondary":"#00e5ff","accent_tertiary":"#ff007f","accent_quaternary":"#1a660a","cube":"#39ff14","cube_hover":"#ffffff","resume_job_role":"#ffffff","resume_job_company":"#00e5ff","resume_job_meta":"#1a660a","resume_skill_bg":"#121217","resume_skill_text":"#39ff14","resume_badge_bg":"#ff007f","resume_badge_text":"#ffffff","filter_start_color":"#070709","filter_end_color":"#39ff14"},"palette_colors":{"crt_pitch":"#070709","crt_mesh":"#121217","laser_green":"#39ff14","vector_cyan":"#00e5ff","overlay_pink":"#ff007f","beam_white":"#ffffff","dim_green":"#1a660a"},"variables":{"bg_color":"crt_pitch","bg_window":"crt_pitch","text_color":"laser_green","link_color":"vector_cyan","text_dim":"dim_green","border_color":"laser_green","border_active":"beam_white","accent_color":"beam_white","shadow_color":"crt_pitch","accent_secondary":"vector_cyan","accent_tertiary":"overlay_pink","accent_quaternary":"dim_green","cube":"laser_green","cube_hover":"beam_white","resume_job_role":"beam_white","resume_job_company":"vector_cyan","resume_job_meta":"dim_green","resume_skill_bg":"crt_mesh","resume_skill_text":"laser_green","resume_badge_bg":"overlay_pink","resume_badge_text":"beam_white","filter_start_color":"crt_pitch","filter_end_color":"laser_green"}},{"id":"deck_handheld","name":"Deck Handheld","colors":{"bg_color":"#17191e","bg_window":"#0f1013","text_color":"#f1f3f6","link_color":"#1a9fff","text_dim":"#667085","border_color":"#1a9fff","border_active":"#ff7700","accent_color":"#1a9fff","shadow_color":"#0f1013","accent_secondary":"#ff7700","accent_tertiary":"#1a9fff","accent_quaternary":"#667085","cube":"#f1f3f6","cube_hover":"#1a9fff","resume_job_role":"#1a9fff","resume_job_company":"#ff7700","resume_job_meta":"#667085","resume_skill_bg":"#0f1013","resume_skill_text":"#f1f3f6","resume_badge_bg":"#1a9fff","resume_badge_text":"#0f1013","filter_start_color":"#0f1013","filter_end_color":"#f1f3f6"},"palette_colors":{"matte_slate":"#17191e","grip_black":"#0f1013","steam_blue":"#1a9fff","thumb_amber":"#ff7700","font_white":"#f1f3f6","dim_slate":"#667085"},"variables":{"bg_color":"matte_slate","bg_window":"grip_black","text_color":"font_white","link_color":"steam_blue","text_dim":"dim_slate","border_color":"steam_blue","border_active":"thumb_amber","accent_color":"steam_blue","shadow_color":"grip_black","accent_secondary":"thumb_amber","accent_tertiary":"steam_blue","accent_quaternary":"dim_slate","cube":"font_white","cube_hover":"steam_blue","resume_job_role":"steam_blue","resume_job_company":"thumb_amber","resume_job_meta":"dim_slate","resume_skill_bg":"grip_black","resume_skill_text":"font_white","resume_badge_bg":"steam_blue","resume_badge_text":"grip_black","filter_start_color":"grip_black","filter_end_color":"font_white"}},{"id":"orchard_2","name":"Orchard II","colors":{"bg_color":"#e3d8be","bg_window":"#e3d8be","text_color":"#4a3728","link_color":"#61bb46","text_dim":"#735945","border_color":"#4a3728","border_active":"#61bb46","accent_color":"#e03a3e","shadow_color":"#4a3728","accent_secondary":"#fdb827","accent_tertiary":"#009ddc","accent_quaternary":"#963d97","cube":"#4a3728","cube_hover":"#61bb46","resume_job_role":"#e03a3e","resume_job_company":"#61bb46","resume_job_meta":"#735945","resume_skill_bg":"#4a3728","resume_skill_text":"#e3d8be","resume_badge_bg":"#fdb827","resume_badge_text":"#4a3728","filter_start_color":"#4a3728","filter_end_color":"#e3d8be"},"palette_colors":{"putty_case":"#e3d8be","dark_umber":"#4a3728","crt_green":"#33ff33","apple_green":"#61bb46","apple_yellow":"#fdb827","apple_orange":"#f58220","apple_red":"#e03a3e","apple_purple":"#963d97","apple_blue":"#009ddc","dim_umber":"#735945"},"variables":{"bg_color":"putty_case","bg_window":"putty_case","text_color":"dark_umber","link_color":"apple_green","text_dim":"dim_umber","border_color":"dark_umber","border_active":"apple_green","accent_color":"apple_red","
41shadow_color":"dark_umber","accent_secondary":"apple_yellow","accent_tertiary":"apple_blue","accent_quaternary":"apple_purple","cube":"dark_umber","cube_hover":"apple_green","resume_job_role":"apple_red","resume_job_company":"apple_green","resume_job_meta":"dim_umber","resume_skill_bg":"dark_umber","resume_skill_text":"putty_case","resume_badge_bg":"apple_yellow","resume_badge_text":"dark_umber","filter_start_color":"dark_umber","filter_end_color":"putty_case"}},{"id":"snow_white","name":"Snow White","colors":{"bg_color":"#ded7c4","bg_window":"#ffffff","text_color":"#000000","link_color":"#34312d","text_dim":"#888888","border_color":"#000000","border_active":"#34312d","accent_color":"#000000","shadow_color":"#34312d","accent_secondary":"#34312d","accent_tertiary":"#888888","accent_quaternary":"#000000","cube":"#000000","cube_hover":"#34312d","resume_job_role":"#000000","resume_job_company":"#34312d","resume_job_meta":"#888888","resume_skill_bg":"#000000","resume_skill_text":"#ffffff","resume_badge_bg":"#34312d","resume_badge_text":"#ffffff","filter_start_color":"#000000","filter_end_color":"#ded7c4"},"palette_colors":{"vintage_beige":"#ded7c4","chassis_card":"#cfc8b4","recessed_vent":"#34312d","gui_ink":"#000000","paper_white":"#ffffff","dither_grey":"#888888"},"variables":{"bg_color":"vintage_beige","bg_window":"paper_white","text_color":"gui_ink","link_color":"recessed_vent","text_dim":"dither_grey","border_color":"gui_ink","border_active":"recessed_vent","accent_color":"gui_ink","shadow_color":"recessed_vent","accent_secondary":"recessed_vent","accent_tertiary":"dither_grey","accent_quaternary":"gui_ink","cube":"gui_ink","cube_hover":"recessed_vent","resume_job_role":"gui_ink","resume_job_company":"recessed_vent","resume_job_meta":"dither_grey","resume_skill_bg":"gui_ink","resume_skill_text":"paper_white","resume_badge_bg":"recessed_vent","resume_badge_text":"paper_white","filter_start_color":"gui_ink","filter_end_color":"vintage_beige"}},{"id":"black_cube","name":"Black Cube","colors":{"bg_color":"#121214","bg_window":"#1c1c20","text_color":"#ffffff","link_color":"#f9e01e","text_dim":"#7d7f85","border_color":"#7d7f85","border_active":"#35b34b","accent_color":"#f32736","shadow_color":"#121214","accent_secondary":"#35b34b","accent_tertiary":"#e52d7e","accent_quaternary":"#f9e01e","cube":"#ffffff","cube_hover":"#35b34b","resume_job_role":"#f9e01e","resume_job_company":"#35b34b","resume_job_meta":"#7d7f85","resume_skill_bg":"#e52d7e","resume_skill_text":"#ffffff","resume_badge_bg":"#f32736","resume_badge_text":"#ffffff","filter_start_color":"#121214","filter_end_color":"#ffffff"},"palette_colors":{"magnesium_black":"#121214","cube_dark":"#1c1c20","pure_white":"#ffffff","titanium_grey":"#7d7f85","rand_vermilion":"#f32736","rand_cerise":"#e52d7e","rand_green":"#35b34b","rand_yellow":"#f9e01e"},"variables":{"bg_color":"magnesium_black","bg_window":"cube_dark","text_color":"pure_white","link_color":"rand_yellow","text_dim":"titanium_grey","border_color":"titanium_grey","border_active":"rand_green","accent_color":"rand_vermilion","shadow_color":"magnesium_black","accent_secondary":"rand_green","accent_tertiary":"rand_cerise","accent_quaternary":"rand_yellow","cube":"pure_white","cube_hover":"rand_green","resume_job_role":"rand_yellow","resume_job_company":"rand_green","resume_job_meta":"titanium_grey","resume_skill_bg":"rand_cerise","resume_skill_text":"pure_white","resume_badge_bg":"rand_vermilion","resume_badge_text":"pure_white","filter_start_color":"magnesium_black","filter_end_color":"pure_white"}},{"id":"yellow_tab","name":"YellowTab","colors":{"bg_color":"#dcdfe3","bg_window":"#eef0f3","text_color":"#141416","link_color":"#c40000","text_dim":"#36414e","border_color":"#234b75","border_active":"#ffc400","accent_color":"#234b75","shadow_color":"#234b75","accent_secondary":"#ffc400","accent_tertiary":"#c40000","accent_quaternary":"#36414e","cube":"#234b75","cube_hover":"#c40000","resume_job_role":"#c40000","resume_job_company":"#234b75","resume_job_meta":"#36414e","resume_skill_bg":"#ffc400","resume_skill_text":"#141416","resume_badge_bg":"#c40000","resume_badge_text":"#ffffff","filter_start_color":"#234b75","filter_end_color":"#dcdfe3"},"palette_colors":{"gui_grey":"#dcdfe3","gui_window":"#eef0f3","steel_blue":"#234b75","bold_yellow":"#ffc400","border_black":"#141416","be_red":"#c40000","dark_slate":"#36414e","pure_white":"#ffffff"},"variables":{"bg_color":"gui_grey","bg_window":"gui_window","text_color":"border_black","link_color":"be_red","text_dim":"dark_slate","border_color":"steel_blue","border_active":"bold_yellow","accent_color":"steel_blue","shadow_color":"steel_blue","accent_secondary":"bold_yellow","accent_tertiary":"be_red","accent_quaternary":"dark_slate","cube":"steel_blue","cube_hover":"be_red","resume_job_role":"be_red","resume_job_company":"steel_blue","resume_job_meta":"dark_slate","resume_skill_bg":"bold_yellow","resume_skill_text":"border_black","resume_badge_bg":"be_red","resume_badge_text":"pure_white","filter_start_color":"steel_blue","filter_end_color":"gui_grey"}},{"id":"silicon_indigo","name":"Silicon Indigo","colors":{"bg_color":"#1e3a8a","bg_window":"#14285e","text_color":"#ffffff","link_color":"#00f0ff","text_dim":"#c7d2fe","border_color":"#00f0ff","border_active":"#e91e63","accent_color":"#00f0ff","shadow_color":"#14285e","accent_secondary":"#e91e63","accent_tertiary":"#005952","accent_quaternary":"#5eead4","cube":"#00f0ff","cube_hover":"#e91e63","resume_job_role":"#00f0ff","resume_job_company":"#e91e63","resume_job_meta":"#c7d2fe","resume_skill_bg":"#005952","resume_skill_text":"#ffffff","resume_badge_bg":"#e91e63","resume_badge_text":"#ffffff","filter_start_color":"#14285e","filter_end_color":"#ffffff"},"palette_colors":{"sgi_blue":"#1e3a8a","sgi_dark":"#14285e","indy_teal":"#005952","silicon_cyan":"#00f0ff","wireframe_magenta":"#e91e63","text_white":"#ffffff","window_grey":"#c7d2fe","dim_cyan":"#5eead4"},"variables":{"bg_color":"sgi_blue","bg_window":"sgi_dark","text_color":"text_white","link_color":"silicon_cyan","text_dim":"window_grey","border_color":"silicon_cyan","border_active":"wireframe_magenta","accent_color":"silicon_cyan","shadow_color":"sgi_dark","accent_secondary":"wireframe_magenta","accent_tertiary":"indy_teal","accent_quaternary":"dim_cyan","cube":"silicon_cyan","cube_hover":"wireframe_magenta","resume_job_role":"silicon_cyan","resume_job_company":"wireframe_magenta","resume_job_meta":"window_grey","resume_skill_bg":"indy_teal","resume_skill_text":"text_white","resume_badge_bg":"wireframe_magenta","resume_badge_text":"text_white","filter_start_color":"sgi_dark","filter_end_color":"text_white"}},{"id":"bento_pad","name":"Bento Pad","colors":{"bg_color":"#141416","bg_window":"#1e1e24","text_color":"#e6e6e6","link_color":"#e00000","text_dim":"#737373","border_color":"#e00000","border_active":"#0066cc","accent_color":"#e00000","shadow_color":"#141416","accent_secondary":"#0066cc","accent_tertiary":"#43a047","accent_quaternary":"#737373","cube":"#e6e6e6","cube_hover":"#e00000","resume_job_role":"#e00000","resume_job_company":"#0066cc","resume_job_meta":"#737373","resume_skill_bg":"#0066cc","resume_skill_text":"#e6e6e6","resume_badge_bg":"#e00000","resume_badge_text":"#e6e6e6","filter_start_color":"#141416","filter_end_color":"#e6e6e6"},"palette_colors":{"raven_black":"#141416","raven_panel":"#1e1e24","trackpoint_red":"#e00000","enter_blue":"#0066cc","key_white":"#e6e6e6","led_green":"#43a047","dim_grey":"#737373"},"variables":{"bg_color":"raven_black","bg_window":"raven_panel","text_color":"key_white","link_color":"trackpoint_red","text_dim":"dim_grey","border_color":"trackpoint_red","border_active":"enter_blue","accent_color":"trackpoint_red","
41shadow_color":"raven_black","accent_secondary":"enter_blue","accent_tertiary":"led_green","accent_quaternary":"dim_grey","cube":"key_white","cube_hover":"trackpoint_red","resume_job_role":"trackpoint_red","resume_job_company":"enter_blue","resume_job_meta":"dim_grey","resume_skill_bg":"enter_blue","resume_skill_text":"key_white","resume_badge_bg":"trackpoint_red","resume_badge_text":"key_white","filter_start_color":"raven_black","filter_end_color":"key_white"}},{"id":"speccy_48k","name":"Speccy 48K","colors":{"bg_color":"#000000","bg_window":"#141414","text_color":"#ffffff","link_color":"#00d8d8","text_dim":"#666666","border_color":"#00d8d8","border_active":"#d8d800","accent_color":"#d80000","shadow_color":"#000000","accent_secondary":"#00d800","accent_tertiary":"#d8d800","accent_quaternary":"#00d8d8","cube":"#00d8d8","cube_hover":"#d8d800","resume_job_role":"#d8d800","resume_job_company":"#00d800","resume_job_meta":"#666666","resume_skill_bg":"#d80000","resume_skill_text":"#ffffff","resume_badge_bg":"#00d8d8","resume_badge_text":"#000000","filter_start_color":"#000000","filter_end_color":"#ffffff"},"palette_colors":{"speccy_black":"#000000","speccy_card":"#141414","chiclet_grey":"#d8d8d8","rainbow_red":"#d80000","rainbow_yellow":"#d8d800","rainbow_green":"#00d800","rainbow_cyan":"#00d8d8","bright_white":"#ffffff","dim_grey":"#666666"},"variables":{"bg_color":"speccy_black","bg_window":"speccy_card","text_color":"bright_white","link_color":"rainbow_cyan","text_dim":"dim_grey","border_color":"rainbow_cyan","border_active":"rainbow_yellow","accent_color":"rainbow_red","shadow_color":"speccy_black","accent_secondary":"rainbow_green","accent_tertiary":"rainbow_yellow","accent_quaternary":"rainbow_cyan","cube":"rainbow_cyan","cube_hover":"rainbow_yellow","resume_job_role":"rainbow_yellow","resume_job_company":"rainbow_green","resume_job_meta":"dim_grey","resume_skill_bg":"rainbow_red","resume_skill_text":"bright_white","resume_badge_bg":"rainbow_cyan","resume_badge_text":"speccy_black","filter_start_color":"speccy_black","filter_end_color":"bright_white"}},{"id":"acorn_bbc","name":"Acorn BBC","colors":{"bg_color":"#ded6c4","bg_window":"#ded6c4","text_color":"#2b221a","link_color":"#e62b1e","text_dim":"#6b5847","border_color":"#2b221a","border_active":"#e62b1e","accent_color":"#e62b1e","shadow_color":"#2b221a","accent_secondary":"#00e676","accent_tertiary":"#e62b1e","accent_quaternary":"#6b5847","cube":"#2b221a","cube_hover":"#e62b1e","resume_job_role":"#e62b1e","resume_job_company":"#00e676","resume_job_meta":"#6b5847","resume_skill_bg":"#2b221a","resume_skill_text":"#ded6c4","resume_badge_bg":"#e62b1e","resume_badge_text":"#f7f4ec","filter_start_color":"#2b221a","filter_end_color":"#ded6c4"},"palette_colors":{"biscuit_cream":"#ded6c4","chassis_panel":"#cfc5af","umber_dark":"#2b221a","function_red":"#e62b1e","crt_green":"#00e676","dim_umber":"#6b5847","light_ivory":"#f7f4ec"},"variables":{"bg_color":"biscuit_cream","bg_window":"biscuit_cream","text_color":"umber_dark","link_color":"function_red","text_dim":"dim_umber","border_color":"umber_dark","border_active":"function_red","accent_color":"function_red","shadow_color":"umber_dark","accent_secondary":"crt_green","accent_tertiary":"function_red","accent_quaternary":"dim_umber","cube":"umber_dark","cube_hover":"function_red","resume_job_role":"function_red","resume_job_company":"crt_green","resume_job_meta":"dim_umber","resume_skill_bg":"umber_dark","resume_skill_text":"biscuit_cream","resume_badge_bg":"function_red","resume_badge_text":"light_ivory","filter_start_color":"umber_dark","filter_end_color":"biscuit_cream"}},{"id":"twin_tower","name":"Twin Tower","colors":{"bg_color":"#191b20","bg_window":"#0f1013","text_color":"#e8ebf0","link_color":"#00ff88","text_dim":"#5c6370","border_color":"#00ff88","border_active":"#ff9900","accent_color":"#ff9900","shadow_color":"#0f1013","accent_secondary":"#00ff88","accent_tertiary":"#ff9900","accent_quaternary":"#5c6370","cube":"#e8ebf0","cube_hover":"#00ff88","resume_job_role":"#ff9900","resume_job_company":"#00ff88","resume_job_meta":"#5c6370","resume_skill_bg":"#0f1013","resume_skill_text":"#00ff88","resume_badge_bg":"#ff9900","resume_badge_text":"#0f1013","filter_start_color":"#0f1013","filter_end_color":"#e8ebf0"},"palette_colors":{"graphite_black":"#191b20","shadow_black":"#0f1013","drive_green":"#00ff88","eject_amber":"#ff9900","human_white":"#e8ebf0","dim_graphite":"#5c6370"},"variables":{"bg_color":"graphite_black","bg_window":"shadow_black","text_color":"human_white","link_color":"drive_green","text_dim":"dim_graphite","border_color":"drive_green","border_active":"eject_amber","accent_color":"eject_amber","shadow_color":"shadow_black","accent_secondary":"drive_green","accent_tertiary":"eject_amber","accent_quaternary":"dim_graphite","cube":"human_white","cube_hover":"drive_green","resume_job_role":"eject_amber","resume_job_company":"drive_green","resume_job_meta":"dim_graphite","resume_skill_bg":"shadow_black","resume_skill_text":"drive_green","resume_badge_bg":"eject_amber","resume_badge_text":"shadow_black","filter_start_color":"shadow_black","filter_end_color":"human_white"}},{"id":"datacorder_464","name":"Datacorder 464","colors":{"bg_color":"#26282e","bg_window":"#1c1d22","text_color":"#f4f4f7","link_color":"#27ae60","text_dim":"#6c727d","border_color":"#c0392b","border_active":"#27ae60","accent_color":"#c0392b","shadow_color":"#1c1d22","accent_secondary":"#27ae60","accent_tertiary":"#2980b9","accent_quaternary":"#f39c12","cube":"#f4f4f7","cube_hover":"#27ae60","resume_job_role":"#f39c12","resume_job_company":"#27ae60","resume_job_meta":"#6c727d","resume_skill_bg":"#c0392b","resume_skill_text":"#f4f4f7","resume_badge_bg":"#2980b9","resume_badge_text":"#f4f4f7","filter_start_color":"#1c1d22","filter_end_color":"#f4f4f7"},"palette_colors":{"cpc_charcoal":"#26282e","cpc_panel":"#1c1d22","text_white":"#f4f4f7","rec_red":"#c0392b","play_green":"#27ae60","pause_blue":"#2980b9","stop_yellow":"#f39c12","dim_cpc":"#6c727d"},"variables":{"bg_color":"cpc_charcoal","bg_window":"cpc_panel","text_color":"text_white","link_color":"play_green","text_dim":"dim_cpc","border_color":"rec_red","border_active":"play_green","accent_color":"rec_red","shadow_color":"cpc_panel","accent_secondary":"play_green","accent_tertiary":"pause_blue","accent_quaternary":"stop_yellow","cube":"text_white","cube_hover":"play_green","resume_job_role":"stop_yellow","resume_job_company":"play_green","resume_job_meta":"dim_cpc","resume_skill_bg":"rec_red","resume_skill_text":"text_white","resume_badge_bg":"pause_blue","resume_badge_text":"text_white","filter_start_color":"cpc_panel","filter_end_color":"text_white"}},{"id":"rhythm_808","name":"Rhythm 808","colors":{"bg_color":"#18191d","bg_window":"#23252b","text_color":"#f5f0e1","link_color":"#ff7700","text_dim":"#7a7e88","border_color":"#ff7700","border_active":"#f5c400","accent_color":"#e02828","shadow_color":"#18191d","accent_secondary":"#f5c400","accent_tertiary":"#e02828","accent_quaternary":"#ede9de","cube":"#ff7700","cube_hover":"#f5c400","resume_job_role":"#f5c400","resume_job_company":"#ff7700","resume_job_meta":"#7a7e88","resume_skill_bg":"#e02828","resume_skill_text":"#f5f0e1","resume_badge_bg":"#ff7700","resume_badge_text":"#18191d","filter_start_color":"#18191d","filter_end_color":"#ff7700"},"palette_colors":{"chassis_black":"#18191d","chassis_slate":"#23252b","cream_print":"#f5f0e1","step_red":"#e02828","step_orange":"#ff7700","step_yellow":"#f5c400","step_white":"#ede9de","dim_grey":"#7a7e88"},"variables":{"bg_color":"chassis_black","bg_window":"chassis_slate","text_color":"cream_print","link_color":"step_orange","text_dim":"dim_grey","border_color":"step_orange","border_active":"step_yellow","accent_color":"step_red","shadow_color":"chassis_black","accent_secondary":"step_yellow","accent_tertiary":"step_red","accent_quaternary":"step_white","cube":"step_orange","cube_hover":"step_yellow","resume_job_role":"step_yellow","resume_job_company":"step_orange","resume_job_meta":"dim_grey","resume_skill_bg":"step_red","resume_skill_text":"cream_print","resume_badge_bg":"step_orange","resume_badge_text":"chassis_black","filter_start_color":"chassis_black","filter_end_color":"step_orange"}},{"id":"acid_303","name":"Acid 303","colors":{"bg_color":"#c2c7cc","bg_window":"#c2c7cc","text_color":"#26282d","link_color":"#ff0033","text_dim":"#50555e","border_color":"#26282d","border_active":"#ff0033","accent_color":"#ff0033","shadow_color":"#26282d","accent_secondary":"#a6ff00","accent_tertiary":"#ff0033","accent_quaternary":"#50555e","cube":"#26282d","cube_hover":"#ff0033","resume_job_role":"#ff0033","resume_job_company":"#26282d","resume_job_meta":"#50555e","resume_skill_bg":"#26282d","resume_skill_text":"#c2c7cc","resume_badge_bg":"#ff0033","resume_badge_text":"#c2c7cc","filter_start_color":"#26282d","filter_end_color":"#c2c7cc"},"palette_colors":{"silver_metallic":"#c2c7cc","chassis_card":"#adb5bd","knob_charcoal":"#26282d","ruby_led":"#ff0033","acid_neon":"#a6ff00","deep_cut":"#0e1014","dim_charcoal":"#50555e"},"variables":{"bg_color":"silver_metallic","bg_window":"silver_metallic","text_color":"knob_charcoal","link_color":"ruby_led","text_dim":"dim_charcoal","border_color":"knob_charcoal","border_active":"ruby_led","accent_color":"ruby_led","shadow_color":"knob_charcoal","accent_secondary":"acid_neon","accent_tertiary":"ruby_led","accent_quaternary":"dim_charcoal","cube":"knob_charcoal","cube_hover":"ruby_led","resume_job_role":"ruby_led","resume_job_company":"knob_charcoal","resume_job_meta":"dim_charcoal","resume_skill_bg":"knob_charcoal","resume_skill_text":"silver_metallic","resume_badge_bg":"ruby_led","resume_badge_text":"silver_metallic","filter_start_color":"knob_charcoal","filter_end_color":"silver_metallic"}},{"id":"operator_1","name":"Operator 1","colors":{"bg_color":"#e2e4e2","bg_window":"#f0f2f0","text_color":"#1c1d20","link_color":"#1658b4","text_dim":"#4e5158","border_color":"#1c1d20","border_active":"#d96500","accent_color":"#d96500","shadow_color":"#1c1d20","accent_secondary":"#198c4f","accent_tertiary":"#1658b4","accent_quaternary":"#d96500","cube":"#1c1d20","cube_hover":"#d96500","resume_job_role":"#d96500","resume_job_company":"#1658b4","resume_job_meta":"#4e5158","resume_skill_bg":"#1c1d20","resume_skill_text":"#ffffff","resume_badge_bg":"#1658b4","resume_badge_text":"#ffffff","filter_start_color":"#1c1d20","filter_end_color":"#e2e4e2"},"palette_colors":{"cnc_aluminum":"#e2e4e2","aluminum_window":"#f0f2f0","oled_charcoal":"#1c1d20","key_white":"#ffffff","dial_blue":"#1658b4","dial_green":"#198c4f","dial_orange":"#d96500","dim_charcoal":"#4e5158"},"variables":{"bg_color":"cnc_aluminum","bg_window":"aluminum_window","text_color":"oled_charcoal","link_color":"dial_blue","text_dim":"dim_charcoal","border_color":"oled_charcoal","border_active":"dial_orange","accent_color":"dial_orange","shadow_color":"oled_charcoal","accent_secondary":"dial_green","accent_tertiary":"dial_blue","accent_quaternary":"dial_orange","cube":"oled_charcoal","cube_hover":"dial_orange","resume_job_role":"dial_orange","resume_job_company":"dial_blue","resume_job_meta":"dim_charcoal","resume_skill_bg":"oled_charcoal","resume_skill_text":"key_white","resume_badge_bg":"dial_blue","resume_badge_text":"key_white","filter_start_color":"oled_charcoal","filter_end_color":"cnc_aluminum"}},{"id":"boom_bap_16","name":"Boom Bap 16","colors":{"bg_color":"#d4cfc7","bg_window":"#d4cfc7","text_color":"#212328","link_color":"#d32f2f","text_dim":"#69717d","border_color":"#43484f","border_active":"#d32f2f","accent_color":"#d32f2f","shadow_color":"#43484f","accent_secondary":"#7ca4cc","accent_tertiary":"#43484f","accent_quaternary":"#69717d","cube":"#43484f","cube_hover":"#d32f2f","resume_job_role":"#d32f2f","resume_job_company":"#43484f","resume_job_meta":"#69717d","resume_skill_bg":"#43484f","resume_skill_text":"#d4cfc7","resume_badge_bg":"#7ca4cc","resume_badge_text":"#212328","filter_start_color":"#212328","filter_end_color":"#d4cfc7"},"palette_colors":{"putty_grey":"#d4cfc7","housing_panel":"#c4beba","pad_slate":"#43484f","lcd_blue":"#7ca4cc","record_red":"#d32f2f","ink_charcoal":"#212328","dim_slate":"#69717d"},"variables":{"bg_color":"putty_grey","bg_window":"putty_grey","text_color":"ink_charcoal","link_color":"record_red","text_dim":"dim_slate","border_color":"pad_slate","border_active":"record_red","accent_color":"record_red","shadow_color":"pad_slate","accent_secondary":"lcd_blue","accent_tertiary":"pad_slate","accent_quaternary":"dim_slate","cube":"pad_slate","cube_hover":"record_red","resume_job_role":"record_red","resume_job_company":"pad_slate","resume_job_meta":"dim_slate","resume_skill_bg":"pad_slate","resume_skill_text":"putty_grey","resume_badge_bg":"lcd_blue","resume_badge_text":"ink_charcoal","filter_start_color":"ink_charcoal","filter_end_color":"putty_grey"}}
41,{"id":"blue_cassette","name":"Blue Cassette","colors":{"bg_color":"#1e4d8c","bg_window":"#133563","text_color":"#ffffff","link_color":"#ff6f00","text_dim":"#c8d1d9","border_color":"#c8d1d9","border_active":"#ff6f00","accent_color":"#ff6f00","shadow_color":"#222629","accent_secondary":"#c8d1d9","accent_tertiary":"#ff6f00","accent_quaternary":"#8fa0b3","cube":"#c8d1d9","cube_hover":"#ff6f00","resume_job_role":"#ff6f00","resume_job_company":"#c8d1d9","resume_job_meta":"#8fa0b3","resume_skill_bg":"#c8d1d9","resume_skill_text":"#1e4d8c","resume_badge_bg":"#ff6f00","resume_badge_text":"#ffffff","filter_start_color":"#222629","filter_end_color":"#ffffff"},"palette_colors":{"walkman_blue":"#1e4d8c","deep_blue":"#133563","brushed_silver":"#c8d1d9","hotline_orange":"#ff6f00","leather_black":"#222629","pure_white":"#ffffff","dim_silver":"#8fa0b3"},"variables":{"bg_color":"walkman_blue","bg_window":"deep_blue","text_color":"pure_white","link_color":"hotline_orange","text_dim":"brushed_silver","border_color":"brushed_silver","border_active":"hotline_orange","accent_color":"hotline_orange","shadow_color":"leather_black","accent_secondary":"brushed_silver","accent_tertiary":"hotline_orange","accent_quaternary":"dim_silver","cube":"brushed_silver","cube_hover":"hotline_orange","resume_job_role":"hotline_orange","resume_job_company":"brushed_silver","resume_job_meta":"dim_silver","resume_skill_bg":"brushed_silver","resume_skill_text":"walkman_blue","resume_badge_bg":"hotline_orange","resume_badge_text":"pure_white","filter_start_color":"leather_black","filter_end_color":"pure_white"}},{"id":"functionalist","name":"Functionalist","colors":{"bg_color":"#212121","bg_window":"#363636","text_color":"#ffffff","link_color":"#ff6d00","text_dim":"#7d7d7d","border_color":"#ffffff","border_active":"#ff6d00","accent_color":"#ff6d00","shadow_color":"#212121","accent_secondary":"#556b2f","accent_tertiary":"#ff6d00","accent_quaternary":"#7d7d7d","cube":"#ffffff","cube_hover":"#ff6d00","resume_job_role":"#ff6d00","resume_job_company":"#556b2f","resume_job_meta":"#7d7d7d","resume_skill_bg":"#363636","resume_skill_text":"#ffffff","resume_badge_bg":"#ff6d00","resume_badge_text":"#212121","filter_start_color":"#212121","filter_end_color":"#ffffff"},"palette_colors":{"pebble_dark":"#212121","key_grey":"#363636","rams_orange":"#ff6d00","olive_green":"#556b2f","pure_white":"#ffffff","dim_grey":"#7d7d7d"},"variables":{"bg_color":"pebble_dark","bg_window":"key_grey","text_color":"pure_white","link_color":"rams_orange","text_dim":"dim_grey","border_color":"pure_white","border_active":"rams_orange","accent_color":"rams_orange","shadow_color":"pebble_dark","accent_secondary":"olive_green","accent_tertiary":"rams_orange","accent_quaternary":"dim_grey","cube":"pure_white","cube_hover":"rams_orange","resume_job_role":"rams_orange","resume_job_company":"olive_green","resume_job_meta":"dim_grey","resume_skill_bg":"key_grey","resume_skill_text":"pure_white","resume_badge_bg":"rams_orange","resume_badge_text":"pebble_dark","filter_start_color":"pebble_dark","filter_end_color":"pure_white"}},{"id":"resin_91","name":"Resin 91","colors":{"bg_color":"#18191c","bg_window":"#9eaa90","text_color":"#1b241a","link_color":"#0088ff","text_dim":"#595e69","border_color":"#d4af37","border_active":"#39ff14","accent_color":"#d4af37","shadow_color":"#18191c","accent_secondary":"#0088ff","accent_tertiary":"#39ff14","accent_quaternary":"#595e69","cube":"#d4af37","cube_hover":"#39ff14","resume_job_role":"#d4af37","resume_job_company":"#0088ff","resume_job_meta":"#595e69","resume_skill_bg":"#18191c","resume_skill_text":"#9eaa90","resume_badge_bg":"#d4af37","resume_badge_text":"#18191c","filter_start_color":"#18191c","filter_end_color":"#9eaa90"},"palette_colors":{"resin_black":"#18191c","resin_bezel":"#222429","lcd_grey":"#9eaa90","lcd_segment":"#1b241a","resist_gold":"#d4af37","stripe_blue":"#0088ff","nightlight_green":"#39ff14","dim_resin":"#595e69"},"variables":{"bg_color":"resin_black","bg_window":"lcd_grey","text_color":"lcd_segment","link_color":"stripe_blue","text_dim":"dim_resin","border_color":"resist_gold","border_active":"nightlight_green","accent_color":"resist_gold","shadow_color":"resin_black","accent_secondary":"stripe_blue","accent_tertiary":"nightlight_green","accent_quaternary":"dim_resin","cube":"resist_gold","cube_hover":"nightlight_green","resume_job_role":"resist_gold","resume_job_company":"stripe_blue","resume_job_meta":"dim_resin","resume_skill_bg":"resin_black","resume_skill_text":"lcd_grey","resume_badge_bg":"resist_gold","resume_badge_text":"resin_black","filter_start_color":"resin_black","filter_end_color":"lcd_grey"}},{"id":"night_city","name":"Night City","colors":{"bg_color":"#0d0d11","bg_window":"#15151c","text_color":"#ffffff","link_color":"#fcee0a","text_dim":"#5e5073","border_color":"#fcee0a","border_active":"#00f0ff","accent_color":"#fcee0a","shadow_color":"#ff0055","accent_secondary":"#00f0ff","accent_tertiary":"#ff0055","accent_quaternary":"#5e5073","cube":"#fcee0a","cube_hover":"#00f0ff","resume_job_role":"#fcee0a","resume_job_company":"#00f0ff","resume_job_meta":"#5e5073","resume_skill_bg":"#ff0055","resume_skill_text":"#ffffff","resume_badge_bg":"#fcee0a","resume_badge_text":"#0d0d11","filter_start_color":"#0d0d11","filter_end_color":"#ffffff"},"palette_colors":{"netrunner_black":"#0d0d11","cyber_panel":"#15151c","cyber_yellow":"#fcee0a","neon_cyan":"#00f0ff","hot_magenta":"#ff0055","pure_white":"#ffffff","dim_purple":"#5e5073"},"variables":{"bg_color":"netrunner_black","bg_window":"cyber_panel","text_color":"pure_white","link_color":"cyber_yellow","text_dim":"dim_purple","border_color":"cyber_yellow","border_active":"neon_cyan","accent_color":"cyber_yellow","shadow_color":"hot_magenta","accent_secondary":"neon_cyan","accent_tertiary":"hot_magenta","accent_quaternary":"dim_purple","cube":"cyber_yellow","cube_hover":"neon_cyan","resume_job_role":"cyber_yellow","resume_job_company":"neon_cyan","resume_job_meta":"dim_purple","resume_skill_bg":"hot_magenta","resume_skill_text":"pure_white","resume_badge_bg":"cyber_yellow","resume_badge_text":"netrunner_black","filter_start_color":"netrunner_black","filter_end_color":"pure_white"}},{"id":"they_fear","name":"They Fear","colors":{"bg_color":"#101014","bg_window":"#1c1c24","text_color":"#ffffff","link_color":"#f5a623","text_dim":"#78879e","border_color":"#3b7dd8","border_active":"#f5a623","accent_color":"#f5a623","shadow_color":"#101014","accent_secondary":"#3b7dd8","accent_tertiary":"#b71c1c","accent_quaternary":"#e
4165100","cube":"#f5a623","cube_hover":"#3b7dd8","resume_job_role":"#f5a623","resume_job_company":"#3b7dd8","resume_job_meta":"#78879e","resume_skill_bg":"#3b7dd8","resume_skill_text":"#ffffff","resume_badge_bg":"#b71c1c","resume_badge_text":"#ffffff","filter_start_color":"#101014","filter_end_color":"#f5a623"},"palette_colors":{"slag_black":"#101014","furnace_dark":"#1c1c24","logo_blue":"#3b7dd8","logo_cyan":"#68a9f4","logo_gold":"#f5a623","logo_orange":"#e65100","logo_red":"#b71c1c","armor_white":"#ffffff","dim_steel":"#78879e"},"variables":{"bg_color":"slag_black","bg_window":"furnace_dark","text_color":"armor_white","link_color":"logo_gold","text_dim":"dim_steel","border_color":"logo_blue","border_active":"logo_gold","accent_color":"logo_gold","shadow_color":"slag_black","accent_secondary":"logo_blue","accent_tertiary":"logo_red","accent_quaternary":"logo_orange","cube":"logo_gold","cube_hover":"logo_blue","resume_job_role":"logo_gold","resume_job_company":"logo_blue","resume_job_meta":"dim_steel","resume_skill_bg":"logo_blue","resume_skill_text":"armor_white","resume_badge_bg":"logo_red","resume_badge_text":"armor_white","filter_start_color":"slag_black","filter_end_color":"logo_gold"}},{"id":"hero_of_time","name":"Hero of Time","colors":{"bg_color":"#0e2417","bg_window":"#163824","text_color":"#f5f0db","link_color":"#ffd700","text_dim":"#527a63","border_color":"#ffd700","border_active":"#00e5ff","accent_color":"#ffd700","shadow_color":"#0e2417","accent_secondary":"#00e5ff","accent_tertiary":"#1565c0","accent_quaternary":"#527a63","cube":"#f5f0db","cube_hover":"#ffd700","resume_job_role":"#ffd700","resume_job_company":"#00e5ff","resume_job_meta":"#527a63","resume_skill_bg":"#1565c0","resume_skill_text":"#f5f0db","resume_badge_bg":"#ffd700","resume_badge_text":"#0e2417","filter_start_color":"#0e2417","filter_end_color":"#f5f0db"},"palette_colors":{"woods_green":"#0e2417","kokiri_dark":"#163824","triforce_gold":"#ffd700","master_blue":"#1565c0","sheikah_cyan":"#00e5ff","parchment_cream":"#f5f0db","dim_sage":"#527a63"},"variables":{"bg_color":"woods_green","bg_window":"kokiri_dark","text_color":"parchment_cream","link_color":"triforce_gold","text_dim":"dim_sage","border_color":"triforce_gold","border_active":"sheikah_cyan","accent_color":"triforce_gold","shadow_color":"woods_green","accent_secondary":"sheikah_cyan","accent_tertiary":"master_blue","accent_quaternary":"dim_sage","cube":"parchment_cream","cube_hover":"triforce_gold","resume_job_role":"triforce_gold","resume_job_company":"sheikah_cyan","resume_job_meta":"dim_sage","resume_skill_bg":"master_blue","resume_skill_text":"parchment_cream","resume_badge_bg":"triforce_gold","resume_badge_text":"woods_green","filter_start_color":"woods_green","filter_end_color":"parchment_cream"}},{"id":"kanto_red","name":"Kanto Red","colors":{"bg_color":"#b71c1c","bg_window":"#c62828","text_color":"#f8f9fa","link_color":"#ffeb3b","text_dim":"#e0d8d8","border_color":"#f8f9fa","border_active":"#ffeb3b","accent_color":"#ffeb3b","shadow_color":"#500b0b","accent_secondary":"#1565c0","accent_tertiary":"#5e35b1","accent_quaternary":"#e0d8d8","cube":"#f8f9fa","cube_hover":"#ffeb3b","resume_job_role":"#ffeb3b","resume_job_company":"#1565c0","resume_job_meta":"#e0d8d8","resume_skill_bg":"#1565c0","resume_skill_text":"#f8f9fa","resume_badge_bg":"#ffeb3b","resume_badge_text":"#500b0b","filter_start_color":"#500b0b","filter_end_color":"#f8f9fa"},"palette_colors":{"pokeball_red":"#b71c1c","scarlet_panel":"#c62828","cerulean_blue":"#1565c0","pikachu_yellow":"#ffeb3b","pure_white":"#f8f9fa","freak_purple":"#5e35b1","dim_cream":"#e0d8d8","shadow_dark":"#500b0b"},"variables":{"bg_color":"pokeball_red","bg_window":"scarlet_panel","text_color":"pure_white","link_color":"pikachu_yellow","text_dim":"dim_cream","border_color":"pure_white","border_active":"pikachu_yellow","accent_color":"pikachu_yellow","shadow_color":"shadow_dark","accent_secondary":"cerulean_blue","accent_tertiary":"freak_purple","accent_quaternary":"dim_cream","cube":"pure_white","cube_hover":"pikachu_yellow","resume_job_role":"pikachu_yellow","resume_job_company":"cerulean_blue","resume_job_meta":"dim_cream","resume_skill_bg":"cerulean_blue","resume_skill_text":"pure_white","resume_badge_bg":"pikachu_yellow","resume_badge_text":"shadow_dar
41k","filter_start_color":"shadow_dark","filter_end_color":"pure_white"}},{"id":"hazard_suit","name":"Hazard Suit","colors":{"bg_color":"#1f2127","bg_window":"#14151a","text_color":"#e0e0e0","link_color":"#ff6f00","text_dim":"#607d8b","border_color":"#ff6f00","border_active":"#76ff03","accent_color":"#ff6f00","shadow_color":"#14151a","accent_secondary":"#76ff03","accent_tertiary":"#d32f2f","accent_quaternary":"#607d8b","cube":"#e0e0e0","cube_hover":"#ff6f00","resume_job_role":"#ff6f00","resume_job_company":"#76ff03","resume_job_meta":"#607d8b","resume_skill_bg":"#14151a","resume_skill_text":"#ff6f00","resume_badge_bg":"#ff6f00","resume_badge_text":"#14151a","filter_start_color":"#14151a","filter_end_color":"#e0e0e0"},"palette_colors":{"research_slate":"#1f2127","facility_black":"#14151a","hazard_orange":"#ff6f00","xen_green":"#76ff03","crowbar_red":"#d32f2f","alloy_grey":"#e0e0e0","dim_steel":"#607d8b"},"variables":{"bg_color":"research_slate","bg_window":"facility_black","text_color":"alloy_grey","link_color":"hazard_orange","text_dim":"dim_steel","border_color":"hazard_orange","border_active":"xen_green","accent_color":"hazard_orange","shadow_color":"facility_black","accent_secondary":"xen_green","accent_tertiary":"crowbar_red","accent_quaternary":"dim_steel","cube":"alloy_grey","cube_hover":"hazard_orange","resume_job_role":"hazard_orange","resume_job_company":"xen_green","resume_job_meta":"dim_steel","resume_skill_bg":"facility_black","resume_skill_text":"hazard_orange","resume_badge_bg":"hazard_orange","resume_badge_text":"facility_black","filter_start_color":"facility_black","filter_end_color":"alloy_grey"}},{"id":"vault_101","name":"Vault 101","colors":{"bg_color":"#0c2340","bg_window":"#071526","text_color":"#ffcc00","link_color":"#f5f5f5","text_dim":"#a88700","border_color":"#ffcc00","border_active":"#ffb000","accent_color":"#ffcc00","shadow_color":"#071526","accent_secondary":"#1eff00","accent_tertiary":"#ffb000","accent_quaternary":"#a88700","cube":"#ffcc00","cube_hover":"#f5f5f5","resume_job_role":"#ffcc00","resume_job_company":"#1eff00","resume_job_meta":"#a88700","resume_skill_bg":"#071526","resume_skill_text":"#ffcc00","resume_badge_bg":"#ffcc00","resume_badge_text":"#071526","filter_start_color":"#071526","filter_end_color":"#ffcc00"},"palette_colors":{"vault_navy":"#0c2340","jumpsuit_dark":"#071526","vault_gold":"#ffcc00","pip_amber":"#ffb000","pip_green":"#1eff00","pure_white":"#f5f5f5","dim_gold":"#a88700"},"variables":{"bg_color":"vault_navy","bg_window":"jumpsuit_dark","text_color":"vault_gold","link_color":"pure_white","text_dim":"dim_gold","border_color":"vault_gold","border_active":"pip_amber","accent_color":"vault_gold","shadow_color":"jumpsuit_dark","accent_secondary":"pip_green","accent_tertiary":"pip_amber","accent_quaternary":"dim_gold","cube":"vault_gold","cube_hover":"pure_white","resume_job_role":"vault_gold","resume_job_company":"pip_green","resume_job_meta":"dim_gold","resume_skill_bg":"jumpsuit_dark","resume_skill_text":"vault_gold","resume_badge_bg":"vault_gold","resume_badge_text":"jumpsuit_dark","filter_start_color":"jumpsuit_dark","filter_end_color":"vault_gold"}},{"id":"overworld_85","name":"Overworld 85","colors":{"bg_color":"#5c94fc","bg_window":"#3f78e0","text_color":"#ffffff","link_color":"#fcd116","text_dim":"#ffffff","border_color":"#ffffff","border_active":"#fcd116","accent_color":"#fcd116","shadow_color":"#28509e","accent_secondary":"#e52521","accent_tertiary":"#00a800","accent_quaternary":"#b84418","cube":"#ffffff","cube_hover":"#fcd116","resume_job_role":"#fcd116","resume_job_company":"#00a800","resume_job_meta":"#ffffff","resume_skill_bg":"#e52521","resume_skill_text":"#ffffff","resume_badge_bg":"#fcd116","resume_badge_text":"#b84418","filter_start_color":"#28509e","filter_end_color":"#ffffff"},"palette_colors":{"sky_blue":"#5c94fc","deep_sky":"#3f78e0","mario_red":"#e52521","block_gold":"#fcd116","pipe_green":"#00a800","cloud_white":"#ffffff","brick_brown":"#b84418","shadow_blue":"#28509e"},"variables":{"bg_color":"sky_blue","bg_window":"deep_sky","text_color":"cloud_white","link_color":"block_gold","text_dim":"cloud_white","border_color":"cloud_white","border_active":"block_gold","accent_color":"block_gold","shadow_color":"shadow_blue","accent_secondary":"mario_red","accent_tertiary":"pipe_green","accent_quaternary":"brick_brown","cube":"cloud_white","cube_hover":"block_gold","resume_job_role":"block_gold","resume_job_company":"pipe_green","resume_job_meta":"cloud_white","resume_skill_bg":"mario_red","resume_skill_text":"cloud_white","resume_badge_bg":"block_gold","resume_badge_text":"brick_brown","filter_start_color":"shadow_blue","filter_end_color":"cloud_white"}},{"id":"mineshaft","name":"Mineshaft","colors":{"bg_color":"#141316","bg_window":"#1e1e24","text_color":"#f0f2f5","link_color":"#38e6d2","text_dim":"#9aa0a6","border_color":"#38e6d2","border_active":"#f5a623","accent_color":"#38e6d2","shadow_color":"#0b0a0d","accent_secondary":"#ff3333","accent_tertiary":"#f5a623","accent_quaternary":"#5b8731","cube":"#f0f2f5","cube_hover":"#38e6d2","resume_job_role":"#f5a623","resume_job_company":"#38e6d2","resume_job_meta":"#9aa0a6","resume_skill_bg":"#1e1e24","resume_skill_text":"#38e6d2","resume_badge_bg":"#ff3333","resume_badge_text":"#f0f2f5","filter_start_color":"#0b0a0d","filter_end_color":"#f0f2f5"},"palette_colors":{"deepslate":"#141316","cobblestone_dark":"#1e1e24","quartz_white":"#f0f2f5","diamond_cyan":"#38e6d2","redstone_red":"#ff3333","grass_green":"#5b8731","torch_gold":"#f5a623","stone_dim":"#9aa0a6","void_black":"#0b0a0d"},"variables":{"bg_color":"deepslate","bg_window":"cobblestone_dark","text_color":"quartz_white","link_color":"diamond_cyan","text_dim":"stone_dim","border_color":"diamond_cyan","border_active":"torch_gold","accent_color":"diamond_cyan","shadow_color":"void_black","accent_secondary":"redstone_red","accent_tertiary":"torch_gold","accent_quaternary":"grass_green","cube":"quartz_white","cube_hover":"diamond_cyan","resume_job_role":"torch_gold","resume_job_company":"diamond_cyan","resume_job_meta":"stone_dim","resume_skill_bg":"cobblestone_dark","resume_skill_text":"diamond_cyan","resume_badge_bg":"redstone_red","resume_badge_text":"quartz_white","filter_start_color":"void_black","filter_end_color":"quartz_white"}},{"id":"master","name":"Master","colors":{"bg_color":"#3d4528","bg_window":"#2a301b","text_color":"#eef2e6","link_color":"#e5a823","text_dim":"#707b53","border_color":"#e5a823","border_active":"#00e5ff","accent_color":"#e5a823","shadow_color":"#2a301b","accent_secondary":"#00e5ff","accent_tertiary":"#7b1fa2","accent_quaternary":"#707b53","cube":"#eef2e6","cube_hover":"#e5a823","resume_job_role":"#e5a823","resume_job_company":"#00e5ff","resume_job_meta":"#707b53","resume_skill_bg":"#2a301b","resume_skill_text":"#eef2e6","resume_badge_bg":"#e5a823","resume_badge_text":"#2a301b","filter_start_color":"#2a301b","filter_end_color":"#eef2e6"},"palette_colors":{"mjolnir_olive":"#3d4528","armor_dark":"#2a301b","visor_gold":"#e5a823","cortana_cyan":"#00e5ff","plasma_purple":"#7b1fa2","armor_white":"#eef2e6","dim_olive":"#707b53"},"variables":{"bg_color":"mjolnir_olive","bg_window":"armor_dark","text_color":"armor_white","link_color":"visor_gold","text_dim":"dim_olive","border_color":"visor_gold","border_active":"cortana_cyan","accent_color":"visor_gold","shadow_color":"armor_dark","accent_secondary":"cortana_cyan","accent_tertiary":"plasma_purple","accent_quaternary":"dim_olive","cube":"armor_white","cube_hover":"visor_gold","resume_job_role":"visor_gold","resume_job_company":"cortana_cyan","resume_job_meta":"dim_olive","resume_skill_bg":"armor_dark","resume_skill_text":"armor_white","resume_badge_bg":"visor_gold","resume_badge_text":"armor_dark","filter_start_color":"armor_dark","filter_end_color":"armor_white"}},{"id":"faith","name":"Faith","colors":{"bg_color":"#f8f9fa","bg_window":"#f8f9fa","text_color":"#212529","link_color":"#e60000","text_dim":"#6c757d","border_color":"#212529","border_active":"#e60000","accent_color":"#e60000","shadow_color":"#212529","accent_secondary":"#00b4d8","accent_tertiary":"#ffcc00","accent_quaternary":"#6c757d","cube":"#212529","cube_hover":"#e60000","resume_job_role":"#e60000","resume_job_company":"#00b4d8","resume_job_meta":"#6c757d","resume_skill_bg":"#212529","resume_skill_text":"#f8f9fa","resume_badge_bg":"#e60000","resume_badge_text":"#f8f9fa","filter_start_color":"#212529","filter_end_color":"#f8f9fa"},"palette_colors":{"sterile_white":"#f8f9fa","panel_card":"#eceef1","runner_crimson":"#e60000","skyline_cyan":"#00b4d8","concrete_black":"#212529","hazard_yellow":"#ffcc00","dim_concrete":"#6c757d"},"variables":{"bg_color":"sterile_white","bg_window":"sterile_white","text_color":"concrete_black","link_color":"runner_crimson","text_dim":"dim_concrete","border_color":"concrete_black","border_active":"runner_crimson","accent_color":"runner_crimson","shadow_color":"concrete_black","accent_secondary":"skyline_cyan","accent_tertiary":"hazard_yellow","accent_quaternary":"dim_concrete","cube":"concrete_black","cube_hover":"runner_crimson","resume_job_role":"runner_crimson","resume_job_company":"skyline_cyan","resume_job_meta":"dim_concrete","resume_skill_bg":"concrete_black","resume_skill_text":"sterile_white","resume_badge_bg":"runner_crimson","resume_badge_text":"sterile_white","filter_start_color":"concrete_black","filter_end_color":"sterile_white"}},{"id":"ash_of_ember","name":"Ash of Ember","colors":{"bg_color":"#121214","bg_window":"#1e1e24","text_color":"#f5f5f5","link_color":"#d84315","text_dim":"#78909c","border_color":"#d84315","border_active":"#ffb300","accent_color":"#d84315","shadow_color":"#121214","accent_secondary":"#ffb300","accent_tertiary":"#546e7a","accent_quaternary":"#78909c","cube":"#f5f5f5","cube_hover":"#d84315","resume_job_role":"#d84315","resume_job_company":"#ffb300","resume_job_meta":"#78909c","resume_skill_bg":"#1e1e24","resume_skill_text":"#f5f5f5","resume_badge_bg":"#d84315","resume_badge_text":"#121214","filter_start_color":"#121214","filter_end_color":"#f5f5f5"},"palette_colors":{"abyssal_black":"#121214","ash_dark":"#1e1e24","ember_orange":"#d84315","estus_gold":"#ffb300","sword_grey":"#546e7a","pure_white":"#f5f5f5","dim_ash":"#78909c"},"variables":{"bg_color":"abyssal_black","bg_window":"ash_dark","text_color":"pure_white","link_color":"ember_orange","text_dim":"dim_ash","border_color":"ember_orange","border_active":"estus_gold","accent_color":"ember_orange","shadow_color":"abyssal_black","accent_secondary":"estus_gold","accent_tertiary":"sword_grey","accent_quaternary":"dim_ash","cube":"pure_white","cube_hover":"ember_orange","resume_job_role":"ember_orange","resume_job_company":"estus_gold","resume_job_meta":"dim_ash","resume_skill_bg":"ash_dark","resume_skill_text":"pure_white","resume_badge_bg":"ember_orange","resume_badge_text":"abyssal_black","filter_start_color":"abyssal_black","filter_end_color":"pure_white"}},{"id":"disturbing_the_peace","name":"Disturbing The Peace","colors":{"bg_color":"#0a0a0c","bg_window":"#16161c","text_color":"#ffffff","link_color":"#e60012","text_dim":"#6e6e78","border_color":"#e60012","border_active":"#ffe600","accent_color":"#e60012","shadow_color":"#0a0a0c","accent_secondary":"#ffe600","accent_tertiary":"#ffffff","accent_quaternary":"#6e6e78","cube":"#ffffff","cube_hover":"#e60012","resume_job_role":"#e60012","resume_job_company":"#ffe600","resume_job_meta":"#6e6e78","resume_skill_bg":"#e60012","resume_skill_text":"#ffffff","resume_badge_bg":"#ffe600","resume_badge_text":"#0a0a0c","filter_start_color":"#0a0a0c","filter_end_color":"#ffffff"},"palette_colors":{"underground_black":"#0a0a0c","rebel_panel":"#16161c","rebel_red":"#e60012","star_yellow":"#ffe600","comic_white":"#ffffff","shadow_grey":"#3a3a40","dim_slate":"#6e6e78"},"variables":{"bg_color":"underground_black","bg_window":"rebel_panel","text_color":"comic_white","link_color":"rebel_red","text_dim":"dim_slate","border_color":"rebel_red","border_active":"star_yellow","accent_color":"rebel_red","
41shadow_color":"underground_black","accent_secondary":"star_yellow","accent_tertiary":"comic_white","accent_quaternary":"dim_slate","cube":"comic_white","cube_hover":"rebel_red","resume_job_role":"rebel_red","resume_job_company":"star_yellow","resume_job_meta":"dim_slate","resume_skill_bg":"rebel_red","resume_skill_text":"comic_white","resume_badge_bg":"star_yellow","resume_badge_text":"underground_black","filter_start_color":"underground_black","filter_end_color":"comic_white"}},{"id":"iwasbornintheusa","name":"IWASBORNINTHEUSA","colors":{"bg_color":"#0c0714","bg_window":"#180f26","text_color":"#ffffff","link_color":"#00ffff","text_dim":"#5e3a8c","border_color":"#ff1493","border_active":"#00ffff","accent_color":"#ff1493","shadow_color":"#0c0714","accent_secondary":"#00ffff","accent_tertiary":"#ffe600","accent_quaternary":"#5e3a8c","cube":"#ffffff","cube_hover":"#ff1493","resume_job_role":"#ffe600","resume_job_company":"#00ffff","resume_job_meta":"#5e3a8c","resume_skill_bg":"#ff1493","resume_skill_text":"#ffffff","resume_badge_bg":"#00ffff","resume_badge_text":"#0c0714","filter_start_color":"#0c0714","filter_end_color":"#ffffff"},"palette_colors":{"midnight_horizon":"#0c0714","dusk_panel":"#180f26","neon_pink":"#ff1493","laser_cyan":"#00ffff","sunset_violet":"#7928ca","neon_yellow":"#ffe600","pure_white":"#ffffff","dim_purple":"#5e3a8c"},"variables":{"bg_color":"midnight_horizon","bg_window":"dusk_panel","text_color":"pure_white","link_color":"laser_cyan","text_dim":"dim_purple","border_color":"neon_pink","border_active":"laser_cyan","accent_color":"neon_pink","shadow_color":"midnight_horizon","accent_secondary":"laser_cyan","accent_tertiary":"neon_yellow","accent_quaternary":"dim_purple","cube":"pure_white","cube_hover":"neon_pink","resume_job_role":"neon_yellow","resume_job_company":"laser_cyan","resume_job_meta":"dim_purple","resume_skill_bg":"neon_pink","resume_skill_text":"pure_white","resume_badge_bg":"laser_cyan","resume_badge_text":"midnight_horizon","filter_start_color":"midnight_horizon","filter_end_color":"pure_white"}},{"id":"solarized_dark","name":"Solarized Dark","colors":{"bg_color":"#002b36","bg_window":"#073642","text_color":"#839496","link_color":"#268bd2","text_dim":"#586e75","border_color":"#586e75","border_active":"#2aa198","accent_color":"#b58900","shadow_color":"#002b36","accent_secondary":"#2aa198","accent_tertiary":"#859900","accent_quaternary":"#cb4b16","cube":"#839496","cube_hover":"#2aa198","resume_job_role":"#b58900","resume_job_company":"#268bd2","resume_job_meta":"#586e75","resume_skill_bg":"#073642","resume_skill_text":"#839496","resume_badge_bg":"#2aa198","resume_badge_text":"#002b36","filter_start_color":"#002b36","filter_end_color":"#839496"},"palette_colors":{"base03":"#002b36","base02":"#073642","base01":"#586e75","base00":"#657b83","base0":"#839496","base1":"#93a1a1","base2":"#eee8d5","base3":"#fdf6e3","yellow":"#b58900","orange":"#cb4b16","red":"#dc322f","magenta":"#d33682","violet":"#6c71c4","blue":"#268bd2","cyan":"#2aa198","green":"#859900"},"variables":{"bg_color":"base03","bg_window":"base02","text_color":"base0","link_color":"blue","text_dim":"base01","border_color":"base01","border_active":"cyan","accent_color":"yellow","shadow_color":"base03","accent_secondary":"cyan","accent_tertiary":"green","accent_quaternary":"orange","cube":"base0","cube_hover":"cyan","resume_job_role":"yellow","resume_job_company":"blue","resume_job_meta":"base01","resume_skill_bg":"base02","resume_skill_text":"base0","resume_badge_bg":"cyan","resume_badge_text":"base03","filter_start_color":"base03","filter_end_color":"base0"}},{"id":"solarized_light","name":"Solarized Light","colors":{"bg_color":"#fdf6e3","bg_window":"#eee8d5","text_color":"#657b83","link_color":"#268bd2","text_dim":"#93a1a1","border_color":"#93a1a1","border_active":"#268bd2","accent_color":"#cb4b16","shadow_color":"#93a1a1","accent_secondary":"#2aa198","accent_tertiary":"#859900","accent_quaternary":"#b58900","cube":"#657b83","cube_hover":"#268bd2","resume_job_role":"#cb4b16","resume_job_company":"#268bd2","resume_job_meta":"#93a1a1","resume_skill_bg":"#eee8d5","resume_skill_text":"#657b83","resume_badge_bg":"#268bd2","resume_badge_text":"#fdf6e3","filter_start_color":"#657b83","filter_end_color":"#fdf6e3"},"palette_colors":{"base3":"#fdf6e3","base2":"#eee8d5","base1":"#93a1a1","base0":"#839496","base00":"#657b83","base01":"#586e75","base02":"#073642","base03":"#002b36","yellow":"#b58900","orange":"#cb4b16","red":"#dc322f","magenta":"#d33682","violet":"#6c71c4","blue":"#268bd2","cyan":"#2aa198","green":"#859900"},"variables":{"bg_color":"base3","bg_window":"base2","text_color":"base00","link_color":"blue","text_dim":"base1","border_color":"base1","border_active":"blue","accent_color":"orange","shadow_color":"base1","accent_secondary":"cyan","accent_tertiary":"green","accent_quaternary":"yellow","cube":"base00","cube_hover":"blue","resume_job_role":"orange","resume_job_company":"blue","resume_job_meta":"base1","resume_skill_bg":"base2","resume_skill_text":"base00","resume_badge_bg":"blue","resume_badge_text":"base3","filter_start_color":"base00","filter_end_color":"base3"}},{"id":"nord_frost","name":"Arctic Frost","colors":{"bg_color":"#2e3440","bg_window":"#3b4252","text_color":"#eceff4","link_color":"#88c0d0","text_dim":"#a3b1c6","border_color":"#81a1c1","border_active":"#88c0d0","accent_color":"#88c0d0","shadow_color":"#2e3440","accent_secondary":"#a3be8c","accent_tertiary":"#ebcb8b","accent_quaternary":"#bf616a","cube":"#eceff4","cube_hover":"#88c0d0","resume_job_role":"#88c0d0","resume_job_company":"#a3be8c","resume_job_meta":"#a3b1c6","resume_skill_bg":"#434c5e","resume_skill_text":"#eceff4","resume_badge_bg":"#88c0d0","resume_badge_text":"#2e3440","filter_start_color":"#2e3440","filter_end_color":"#eceff4"},"palette_colors":{"polar_night0":"#2e3440","polar_night1":"#3b4252","polar_night2":"#434c5e","polar_night3":"#4c566a","snow_storm0":"#d8dee9","snow_storm1":"#e5e9f0","snow_storm2":"#eceff4","frost0":"#8fbcbb","frost1":"#88c0d0","frost2":"#81a1c1","frost3":"#5e81ac","aurora_red":"#bf616a","aurora_orange":"#d08770","aurora_yellow":"#ebcb8b","aurora_green":"#a3be8c","aurora_purple":"#b48ead","frost_dim":"#a3b1c6"},"variables":{"bg_color":"polar_night0","bg_window":"polar_night1","text_color":"snow_storm2","link_color":"frost1","text_dim":"frost_dim","border_color":"frost2","border_active":"frost1","accent_color":"frost1","shadow_color":"polar_night0","accent_secondary":"aurora_green","accent_tertiary":"aurora_yellow","accent_quaternary":"aurora_red","cube":"snow_storm2","cube_hover":"frost1","resume_job_role":"frost1","resume_job_company":"aurora_green","resume_job_meta":"frost_dim","resume_skill_bg":"polar_night2","resume_skill_text":"snow_storm2","resume_badge_bg":"frost1","resume_badge_text":"polar_night0","filter_start_color":"polar_night0","filter_end_color":"snow_storm2"}},{"id":"catppuccin_mocha","name":"Catppuccin Mocha","colors":{"bg_color":"#1e1e2e","bg_window":"#181825","text_color":"#cdd6f4","link_color":"#89b4fa","text_dim":"#a6adc8","border_color":"#cba6f7","border_active":"#89b4fa","accent_color":"#cba6f7","shadow_color":"#11111b","accent_secondary":"#a6e3a1","accent_tertiary":"#fab387","accent_quaternary":"#f9e2af","cube":"#cdd6f4","cube_hover":"#89b4fa","resume_job_role":"#cba6f7","resume_job_company":"#89b4fa","resume_job_meta":"#a6adc8","resume_skill_bg":"#313244","resume_skill_text":"#cdd6f4","resume_badge_bg":"#cba6f7","resume_badge_text":"#11111b","filter_start_color":"#11111b","filter_end_color":"#cdd6f4"}
41,"palette_colors":{"mocha_base":"#1e1e2e","mocha_mantle":"#181825","mocha_crust":"#11111b","mocha_surface":"#313244","mocha_text":"#cdd6f4","mocha_subtext":"#a6adc8","mocha_mauve":"#cba6f7","mocha_pink":"#f5c2e7","mocha_red":"#f38ba8","mocha_peach":"#fab387","mocha_yellow":"#f9e2af","mocha_green":"#a6e3a1","mocha_teal":"#94e2d5","mocha_sapphire":"#74c7ec","mocha_blue":"#89b4fa","mocha_lavender":"#b4befe"},"variables":{"bg_color":"mocha_base","bg_window":"mocha_mantle","text_color":"mocha_text","link_color":"mocha_blue","text_dim":"mocha_subtext","border_color":"mocha_mauve","border_active":"mocha_blue","accent_color":"mocha_mauve","shadow_color":"mocha_crust","accent_secondary":"mocha_green","accent_tertiary":"mocha_peach","accent_quaternary":"mocha_yellow","cube":"mocha_text","cube_hover":"mocha_blue","resume_job_role":"mocha_mauve","resume_job_company":"mocha_blue","resume_job_meta":"mocha_subtext","resume_skill_bg":"mocha_surface","resume_skill_text":"mocha_text","resume_badge_bg":"mocha_mauve","resume_badge_text":"mocha_crust","filter_start_color":"mocha_crust","filter_end_color":"mocha_text"}},{"id":"vampire_count","name":"Vampire Count","colors":{"bg_color":"#282a36","bg_window":"#44475a","text_color":"#f8f8f2","link_color":"#8be9fd","text_dim":"#6272a4","border_color":"#bd93f9","border_active":"#ff79c6","accent_color":"#ff79c6","shadow_color":"#282a36","accent_secondary":"#50fa7b","accent_tertiary":"#ffb86c","accent_quaternary":"#f1fa8c","cube":"#f8f8f2","cube_hover":"#8be9fd","resume_job_role":"#bd93f9","resume_job_company":"#50fa7b","resume_job_meta":"#6272a4","resume_skill_bg":"#44475a","resume_skill_text":"#f8f8f2","resume_badge_bg":"#ff79c6","resume_badge_text":"#282a36","filter_start_color":"#282a36","filter_end_color":"#f8f8f2"},"palette_colors":{"drac_bg":"#282a36","drac_current":"#44475a","drac_fg":"#f8f8f2","drac_comment":"#6272a4","drac_cyan":"#8be9fd","drac_green":"#50fa7b","drac_orange":"#ffb86c","drac_pink":"#ff79c6","drac_purple":"#bd93f9","drac_red":"#ff5555","drac_yellow":"#f1fa8c"},"variables":{"bg_color":"drac_bg","bg_window":"drac_current","text_color":"drac_fg","link_color":"drac_cyan","text_dim":"drac_comment","border_color":"drac_purple","border_active":"drac_pink","accent_color":"drac_pink","shadow_color":"drac_bg","accent_secondary":"drac_green","accent_tertiary":"drac_orange","accent_quaternary":"drac_yellow","cube":"drac_fg","cube_hover":"drac_cyan","resume_job_role":"drac_purple","resume_job_company":"drac_green","resume_job_meta":"drac_comment","resume_skill_bg":"drac_current","resume_skill_text":"drac_fg","resume_badge_bg":"drac_pink","resume_badge_text":"drac_bg","filter_start_color":"drac_bg","filter_end_color":"drac_fg"}},{"id":"retro_groove","name":"Retro Groove","colors":{"bg_color":"#282828","bg_window":"#3c3836","text_color":"#ebdbb2","link_color":"#83a598","text_dim":"#a89984","border_color":"#fabd2f","border_active":"#8ec07c","accent_color":"#fe8019","shadow_color":"#282828","accent_secondary":"#b8bb26","accent_tertiary":"#fabd2f","accent_quaternary":"#d3869b","cube":"#ebdbb2","cube_hover":"#8ec07c","resume_job_role":"#fabd2f","resume_job_company":"#83a598","resume_job_meta":"#a89984","resume_skill_bg":"#3c3836","resume_skill_text":"#ebdbb2","resume_badge_bg":"#fe8019","resume_badge_text":"#282828","filter_start_color":"#282828","filter_end_color":"#ebdbb2"},"palette_colors":{"dark0":"#282828","dark1":"#3c3836","dark2":"#504945","light1":"#ebdbb2","light4":"#a89984","red":"#fb4934","green":"#b8bb26","yellow":"#fabd2f","blue":"#83a598","purple":"#d3869b","aqua":"#8ec07c","orange":"#fe8019"},"variables":{"bg_color":"dark0","bg_window":"dark1","text_color":"light1","link_color":"blue","text_dim":"light4","border_color":"yellow","border_active":"aqua","accent_color":"orange","shadow_color":"dark0","accent_secondary":"green","accent_tertiary":"yellow","accent_quaternary":"purple","cube":"light1","cube_hover":"aqua","resume_job_role":"yellow","resume_job_company":"blue","resume_job_meta":"light4","resume_skill_bg":"dark1","resume_skill_text":"light1","resume_badge_bg":"orange","resume_badge_text":"dark0","filter_start_color":"dark0","filter_end_color":"light1"}},{"id":"tokyo_midnight","name":"Tokyo Midnight","colors":{"bg_color":"#1a1b26","bg_window":"#24283b","text_color":"#c0caf5","link_color":"#7dcfff","text_dim":"#565f89","border_color":"#7aa2f7","border_active":"#7dcfff","accent_color":"#bb9af7","shadow_color":"#1a1b26","accent_secondary":"#73daca","accent_tertiary":"#ff9e64","accent_quaternary":"#e0af68","cube":"#c0caf5","cube_hover":"#7dcfff","resume_job_role":"#bb9af7","resume_job_company":"#7aa2f7","resume_job_meta":"#565f89","resume_skill_bg":"#24283b","resume_skill_text":"#c0caf5","resume_badge_bg":"#bb9af7","resume_badge_text":"#1a1b26","filter_start_color":"#1a1b26","filter_end_color":"#c0caf5"},"palette_colors":{"tokyo_bg":"#1a1b26","tokyo_storm":"#24283b","tokyo_fg":"#c0caf5","tokyo_dim":"#565f89","tokyo_blue":"#7aa2f7","tokyo_cyan":"#7dcfff","tokyo_green":"#73daca","tokyo_magenta":"#bb9af7","tokyo_orange":"#ff9e64","tokyo_red":"#f7768e","tokyo_yellow":"#e0af68"},"variables":{"bg_color":"tokyo_bg","bg_window":"tokyo_storm","text_color":"tokyo_fg","link_color":"tokyo_cyan","text_dim":"tokyo_dim","border_color":"tokyo_blue","border_active":"tokyo_cyan","accent_color":"tokyo_magenta","shadow_color":"tokyo_bg","accent_secondary":"tokyo_green","accent_tertiary":"tokyo_orange","accent_quaternary":"tokyo_yellow","cube":"tokyo_fg","cube_hover":"tokyo_cyan","resume_job_role":"tokyo_magenta","resume_job_company":"tokyo_blue","resume_job_meta":"tokyo_dim","resume_skill_bg":"tokyo_storm","resume_skill_text":"tokyo_fg","resume_badge_bg":"tokyo_magenta","resume_badge_text":"tokyo_bg","filter_start_color":"tokyo_bg","filter_end_color":"tokyo_fg"}}
41,{"id":"dawnbringer_16","name":"DawnBringer 16","colors":{"bg_color":"#140c1c","bg_window":"#30346d","text_color":"#deeed6","link_color":"#6dc2ca","text_dim":"#8595a1","border_color":"#597dce","border_active":"#6dc2ca","accent_color":"#dad45e","shadow_color":"#140c1c","accent_secondary":"#6daa2c","accent_tertiary":"#d04648","accent_quaternary":"#d27d2c","cube":"#deeed6","cube_hover":"#6dc2ca","resume_job_role":"#dad45e","resume_job_company":"#6daa2c","resume_job_meta":"#8595a1","resume_skill_bg":"#30346d","resume_skill_text":"#deeed6","resume_badge_bg":"#d04648","resume_badge_text":"#deeed6","filter_start_color":"#140c1c","filter_end_color":"#deeed6"},"palette_colors":{"void_black":"#140c1c","plum_dark":"#442434","midnight_indigo":"#30346d","dark_grey":"#4e4a4e","rust_brown":"#854c30","forest_green":"#346524","coral_red":"#d04648","muted_gold":"#757161","periwinkle":"#597dce","amber_orange":"#d27d2c","slate_light":"#8595a1","lime_green":"#6daa2c","desert_sand":"#d2aa99","glacier_cyan":"#6dc2ca","pale_yellow":"#dad45e","off_white":"#deeed6"},"variables":{"bg_color":"void_black","bg_window":"midnight_indigo","text_color":"off_white","link_color":"glacier_cyan","text_dim":"slate_light","border_color":"periwinkle","border_active":"glacier_cyan","accent_color":"pale_yellow","shadow_color":"void_black","accent_secondary":"lime_green","accent_tertiary":"coral_red","accent_quaternary":"amber_orange","cube":"off_white","cube_hover":"glacier_cyan","resume_job_role":"pale_yellow","resume_job_company":"lime_green","resume_job_meta":"slate_light","resume_skill_bg":"midnight_indigo","resume_skill_text":"off_white","resume_badge_bg":"coral_red","resume_badge_text":"off_white","filter_start_color":"void_black","filter_end_color":"off_white"}},{"id":"endesga_32","name":"Endesga 32","colors":{"bg_color":"#0d080d","bg_window":"#1f1624","text_color":"#eef4f4","link_color":"#73a7c4","text_dim":"#756c7d","border_color":"#7f4e82","border_active":"#73a7c4","accent_color":"#edd666","shadow_color":"#0d080d","accent_secondary":"#4fb377","accent_tertiary":"#f05b5b","accent_quaternary":"#756c7d","cube":"#eef4f4","cube_hover":"#73a7c4","resume_job_role":"#edd666","resume_job_company":"#4fb377","resume_job_meta":"#756c7d","resume_skill_bg":"#7f4e82","resume_skill_text":"#eef4f4","resume_badge_bg":"#f05b5b","resume_badge_text":"#eef4f4","filter_start_color":"#0d080d","filter_end_color":"#eef4f4"},"palette_colors":{"edg_void":"#0d080d","edg_shadow":"#1f1624","edg_text":"#eef4f4","edg_dim":"#756c7d","edg_coral":"#f05b5b","edg_blue":"#73a7c4","edg_foliage":"#4fb377","edg_sun":"#edd666","edg_purple":"#7f4e82","edg_marine":"#2b4f6e"},"variables":{"bg_color":"edg_void","bg_window":"edg_shadow","text_color":"edg_text","link_color":"edg_blue","text_dim":"edg_dim","border_color":"edg_purple","border_active":"edg_blue","accent_color":"edg_sun","shadow_color":"edg_void","accent_secondary":"edg_foliage","accent_tertiary":"edg_coral","accent_quaternary":"edg_dim","cube":"edg_text","cube_hover":"edg_blue","resume_job_role":"edg_sun","resume_job_company":"edg_foliage","resume_job_meta":"edg_dim","resume_skill_bg":"edg_purple","resume_skill_text":"edg_text","resume_badge_bg":"edg_coral","resume_badge_text":"edg_text","filter_start_color":"edg_void","filter_end_color":"edg_text"}}];
42    window.SITE_JAMS = [{"id":"1dayjam_3","name":"1-DAY JAM #3","tagline":"The 24-hour Game Jam #3 Winner","link":"https://itch.io/jam/1-day-jam-3","start_date":"2026-09-04","end_date":"2026-09-07","submission_date":"2026-09-05","description":"1-DAY JAM #3 challenged game developers to complete a full game in under 24 hours around the theme 'FIRE'. Soulantern won 1st Place overall!","host":"","games":[{"subdomain":"soulantern","title":"Soulantern","ranking":"1st Place Winner!","rate_url":"https://itch.io/jam/1-day-jam-3/rate/4976157"}]},{"id":"procjam_2021","name":"PROCJAM 2021","tagline":"Procedural Generation Jam 2021","link":"https://itch.io/jam/procjam2021","start_date":"2021-12-02","end_date":"2021-12-12","submission_date":"2021-12-11","description":"A annual celebration of making things that make things! PROCJAM encourages procedural art, generative algorithms, and endless world building.","host":"","games":[{"subdomain":"mineshift","title":"Mineshift","ranking":"Jam Entry","rate_url":""}]},{"id":"soupjam_2026","name":"SOUPJAM 2026","tagline":"Collaborative fever-dream room exploration jam","link":"https://itch.io/jam/soupjam2026","start_date":"2026-03-01","end_date":"2026-07-01","submission_date":"2026-6-30","de
42scription":"A collaborative 72-hour game jam focused on creating interconnected surreal rooms and walking experiences inspired by SOUP and LSD: Dream Emulator.","host":"","games":[{"subdomain":"soup","title":"Solo Oasis : Unlimited Places","ranking":"Jam Collaboration","rate_url":"https://itch.io/jam/soupjam2026/rate/4451070"}]},{"id":"trijam_346","name":"TRIJAM 346","tagline":"The 3-hour Game Jam #346","link":"https://itch.io/jam/trijam-346","start_date":"2025-11-14","end_date":"2025-11-17","submission_date":"2025-11-15","description":"A fast-paced 3-hour game jam where developers have a strict 3-hour development window to design and build a complete game around a secret theme.","host":"","games":[{"subdomain":"box-warp","title":"Box Warp","ranking":"Jam Submission","rate_url":""}]},{"id":"trijam_363","name":"TRIJAM 363","tagline":"The 3-hour Game Jam #363 Winner","link":"https://itch.io/jam/trijam-363","start_date":"2026-03-13","end_date":"2026-03-16","submission_date":"2026-03-16","description":"TRIJAM 363 challenged creators to complete a full game in under 3 hours of total production time. 'The Problem With Trolleys' won 1st Place overall!","host":"","games":[{"subdomain":"trolleys","title":"The Problem With Trolleys","ranking":"Winner!","rate_url":""}]}];
43  </script>
43
44  
45    
45<script src="./js/palette_engine.js"></script>
45
46  
47  
47<script>
48    if (window.PaletteEngine) {
49      PaletteEngine.initHead(window.SITE_PALETTES);
50    }
51  </script>
51
52  <link rel="stylesheet" href="./style.css">
53<link rel="stylesheet" href="./grayscale.min.css">
54</head>
55<body>
56  <div class="terminal-container" id="top">
57    <header class="terminal-header">
58      <div class="terminal-header-top">
59        <div class="header-left-container">
60          
61            <div id="header-cube-app" title="Spinning 3D Isometric Cube"></div>
62          
63        </div>
64        
65        <a href="./" class="terminal-logo-link" title="[ HOME ]" aria-label="[ HOME ]">
66          <div class="terminal-logo" role="img" aria-label="SOL.VIN Logo"></div>
67        </a>
68        <div class="header-right-controls">
69          <button id="hamburger-btn" class="hamburger-btn" type="button" aria-label="Toggle Menu" aria-expanded="false">
70            [ <span class="hamburger-icon">☰</span> MENU ]
71          </button>
72          <div id="header-menu-content" class="header-menu-content">
73            <div class="menu-window-header">[ MENU ]</div>
74            <button id="palette-swap-btn" class="palette-swap-btn" type="button" aria-label="Swap Color Palette" data-tooltip="Left-click: Next | Right-click: Prev | Left Hold: Palette Selection Menu | Right Hold: Reset Default">
75              [ PALETTE: <span id="palette-color-preview" class="palette-color-preview">●</span><span id="palette-name-label">Warm Paper</span> ]
76            </button>
77            
78              <div class="header-download-links">
79                
80                  
81                  
82                    <a href="./rss.xml" class="export-btn" title="[RSS FEED]" data-tooltip="[RSS FEED]">
83                      <svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 64c0-17.7 14.3-32 32-32 229.8 0 416 186.2 416 416 0 17.7-14.3 32-32 32s-32-14.3-32-32C384 253.6 226.4 96 32 96 14.3 96 0 81.7 0 64zM0 416a64 64 0 1 1 128 0 64 64 0 1 1 -128 0zM32 160c159.1 0 288 128.9 288 288 0 17.7-14.3 32-32 32s-32-14.3-32-32c0-123.7-100.3-224-224-224-17.7 0-32-14.3-32-32s14.3-32 32-32z"/></svg>
84                    </a>
85                  
86                  
87                
88              </div>
89            
90          </div>
91        </div>
92      </div>
93      <div class="terminal-subtitle">
94        <span class="terminal-prompt">cat ~</span>
95        <span class="header-build-info">
96          <span>SOL.VIN JOURNAL v1.51-prod</span>
97          <span title="[ BUILD TIME: 2026-10-06 22:27:24 UTC ]" data-tooltip="[ BUILD TIME: 2026-10-06 22:27:24 UTC ]" class="header-build-hash">[ MIBPO ]</span>
98        </span>
99      </div>
100    </header>
101    
102    <nav class="nav-bar-container">
103      <div class="nav-links">
104        
105          
106          
107          
108            <a href="./chains" class="nav-link" data-tooltip="[ CHAINS ]" aria-label="[ CHAINS ]">
109              <svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M419.5 96c-16.6 0-32.7 4.5-46.8 12.7-15.8-16-34.2-29.4-54.5-39.5 28.2-24 64.1-37.2 101.3-37.2 86.4 0 156.5 70 156.5 156.5 0 41.5-16.5 81.3-45.8 110.6l-71.1 71.1c-29.3 29.3-69.1 45.8-110.6 45.8-86.4 0-156.5-70-156.5-156.5 0-1.5 0-3 .1-4.5 .5-17.7 15.2-31.6 32.9-31.1s31.6 15.2 31.1 32.9c0 .9 0 1.8 0 2.6 0 51.1 41.4 92.5 92.5 92.5 24.5 0 48-9.7 65.4-27.1l71.1-71.1c17.3-17.3 27.1-40.9 27.1-65.4 0-51.1-41.4-92.5-92.5-92.5zM275.2 173.3c-1.9-.8-3.8-1.9-5.5-3.1-12.6-6.5-27-10.2-42.1-10.2-24.5 0-48 9.7-65.4 27.1L91.1 258.2c-17.3 17.3-27.1 40.9-27.1 65.4 0 51.1 41.4 92.5 92.5 92.5 16.5 0 32.6-4.4 46.7-12.6 15.8 16 34.2 29.4 54.6 39.5-28.2 23.9-64 37.2-101.3 37.2-86.4 0-156.5-70-156.5-156.5 0-41.5 16.5-81.3 45.8-110.6l71.1-71.1c29.3-29.3 69.1-45.8 110.6-45.8 86.6 0 156.5 70.6 156.5 156.9 0 1.3 0 2.6 0 3.9-.4 17.7-15.1 31.6-32.8 31.2s-31.6-15.1-31.2-32.8c0-.8 0-1.5 0-2.3 0-33.7-18-63.3-44.8-79.6z"/></svg>
110              <span class="nav-link-label">[ CHAINS ]</span>
111            </a>
112          
113        
114          
115          
116          
117            <a href="./projects" class="nav-link" data-tooltip="[ PROJECTS ]" aria-label="[ PROJECTS ]">
118              <svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 80C0 53.5 21.5 32 48 32l96 0c26.5 0 48 21.5 48 48l0 16 128 0 0-16c0-26.5 21.5-48 48-48l96 0c26.5 0 48 21.5 48 48l0 96c0 26.5-21.5 48-48 48l-96 0c-26.5 0-48-21.5-48-48l0-16-128 0 0 16c0 7.3-1.7 14.3-4.6 20.5l68.6 91.5 80 0c26.5 0 48 21.5 48 48l0 96c0 26.5-21.5 48-48 48l-96 0c-26.5 0-48-21.5-48-48l0-96c0-7.3 1.7-14.3 4.6-20.5L128 224 48 224c-26.5 0-48-21.5-48-48L0 80z"/></svg>
119              <span class="nav-link-label">[ PROJECTS ]</span>
120            </a>
121          
122        
123          
124          
125          
126            <a href="./games" class="nav-link" data-tooltip="[ GAMES ]" aria-label="[ GAMES ]">
127              <svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M448 64c106 0 192 86 192 192S554 448 448 448l-256 0C86 448 0 362 0 256S86 64 192 64l256 0zM192 176c-13.3 0-24 10.7-24 24l0 32-32 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l32 0 0 32c0 13.3 10.7 24 24 24s24-10.7 24-24l0-32 32 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-32 0 0-32c0-13.3-10.7-24-24-24zm240 96a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm64-96a32 32 0 1 0 0 64 32 32 0 1 0 0-64z"/></svg>
128              <span class="nav-link-label">[ GAMES ]</span>
129            </a>
130          
131        
132          
133          
134          
135            <a href="./art" class="nav-link" data-tooltip="[ ART ]" aria-label="[ ART ]">
136              <svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M512 256c0 .9 0 1.8 0 2.7-.4 36.5-33.6 61.3-70.1 61.3L344 320c-26.5 0-48 21.5-48 48 0 3.4 .4 6.7 1 9.9 2.1 10.2 6.5 20 10.8 29.9 6.1 13.8 12.1 27.5 12.1 42 0 31.8-21.6 60.7-53.4 62-3.5 .1-7 .2-10.6 .2-141.4 0-256-114.6-256-256S114.6 0 256 0 512 114.6 512 256zM128 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0-96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64z"/></svg>
137              <span class="nav-link-label">[ ART ]</span>
138            </a>
139          
140        
141          
142          
143          
144            <a href="./achievements" class="nav-link" data-tooltip="[ ACHIEVEMENTS ]" aria-label="[ ACHIEVEMENTS ]">
145              <svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M144.3 0l224 0c26.5 0 48.1 21.8 47.1 48.2-.2 5.3-.4 10.6-.7 15.8l49.6 0c26.1 0 49.1 21.6 47.1 49.8-7.5 103.7-60.5 160.7-118 190.5-15.8 8.2-31.9 14.3-47.2 18.8-20.2 28.6-41.2 43.7-57.9 51.8l0 73.1 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l64 0 0-73.1c-16-7.7-35.9-22-55.3-48.3-18.4-4.8-38.4-12.1-57.9-23.1-54.1-30.3-102.9-87.4-109.9-189.9-1.9-28.1 21-49.7 47.1-49.7l49.6 0c-.3-5.2-.5-10.4-.7-15.8-1-26.5 20.6-48.2 47.1-48.2zM101.5 112l-52.4 0c6.2 84.7 45.1 127.1 85.2 149.6-14.4-37.3-26.3-86-32.8-149.6zM380 256.8c40.5-23.8 77.1-66.1 83.3-144.8L411 112c-6.2 60.9-17.4 108.2-31 144.8z"/></svg>
146              <span class="nav-link-label">[ ACHIEVEMENTS ]</span>
147            </a>
148          
149        
150          
151          
152          
153            <a href="./favorites" class="nav-link" data-tooltip="[ FAVORITES ]" aria-label="[ FAVORITES ]">
154              <svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
154<path fill="currentColor" d="M309.5-18.9c-4.1-8-12.4-13.1-21.4-13.1s-17.3 5.1-21.4 13.1L193.1 125.3 33.2 150.7c-8.9 1.4-16.3 7.7-19.1 16.3s-.5 18 5.8 24.4l114.4 114.5-25.2 159.9c-1.4 8.9 2.3 17.9 9.6 23.2s16.9 6.1 25 2L288.1 417.6 432.4 491c8 4.1 17.7 3.3 25-2s11-14.2 9.6-23.2L441.7 305.9 556.1 191.4c6.4-6.4 8.6-15.8 5.8-24.4s-10.1-14.9-19.1-16.3L383 125.3 309.5-18.9z"/></svg>
155              <span class="nav-link-label">[ FAVORITES ]</span>
156            </a>
157          
158        
159          
160          
161          
162            <a href="./whoami" class="nav-link" data-tooltip="[ WHOAMI ]" aria-label="[ WHOAMI ]">
163              <svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M224 248a120 120 0 1 0 0-240 120 120 0 1 0 0 240zm-29.7 56C95.8 304 16 383.8 16 482.3 16 498.7 29.3 512 45.7 512l356.6 0c16.4 0 29.7-13.3 29.7-29.7 0-98.5-79.8-178.3-178.3-178.3l-59.4 0z"/></svg>
164              <span class="nav-link-label">[ WHOAMI ]</span>
165            </a>
166          
167        
168          
169          
170          
171            <a href="./status" class="nav-link" data-tooltip="[ STATUS ]" aria-label="[ STATUS ]">
172              <svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M64 32C28.7 32 0 60.7 0 96l0 64c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-64c0-35.3-28.7-64-64-64L64 32zm216 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM64 288c-35.3 0-64 28.7-64 64l0 64c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-64c0-35.3-28.7-64-64-64L64 288zm216 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z"/></svg>
173              <span class="nav-link-label">[ STATUS ]</span>
174            </a>
175          
176        
177      </div>
178      
179      
180    </nav>
181    
182    
183    
184    <main>
185      <!-- src/templates/home.ecr -->
186
187<div class="terminal-window home-section-window">
188  <div class="window-header">
189    <h1 class="window-title"><span class="window-header-icon"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M9.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L146.7 256 9.4 118.6zM224 384l256 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-256 0c-17.7 0-32-14.3-32-32s14.3-32 32-32z"/></svg></span>CONSOLE // Welcome to SOL.VIN // System Overview</h1>
190    <div class="window-controls"><span class="window-btn window-btn-min minimize-btn" title="Minimize" data-tooltip="Minimize" ><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 256c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 288c-17.7 0-32-14.3-32-32z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
190<path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></span><span class="window-btn window-btn-close close-btn" title="Close" data-tooltip="Close" ><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M55.1 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L147.2 256 9.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192.5 301.3 329.9 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.8 256 375.1 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192.5 210.7 55.1 73.4z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></span></div>
191  </div>
192  <div class="window-body home-window-body">
193    <div class="home-welcome-box">
194      <p class="home-welcome-p1">
195        <strong>SOL.VIN</strong> is the personal engineering journal, systems architecture archive, and project portfolio of <strong>Ian Rash</strong>.
196      </p>
197      <p class="home-welcome-p2">
198        Specializing in DevOps automation, low-level security research, Crystal/Ruby/Python systems engineering, reverse engineering, and procedural audio/graphics.
199      </p>
200    </div>
201  </div>
202</div>
203
204<div class="terminal-window home-section-window">
205  <div class="window-header">
206    <h1 class="window-title"><span class="window-header-icon"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M419.5 96c-16.6 0-32.7 4.5-46.8 12.7-15.8-16-34.2-29.4-54.5-39.5 28.2-24 64.1-37.2 101.3-37.2 86.4 0 156.5 70 156.5 156.5 0 41.5-16.5 81.3-45.8 110.6l-71.1 71.1c-29.3 29.3-69.1 45.8-110.6 45.8-86.4 0-156.5-70-156.5-156.5 0-1.5 0-3 .1-4.5 .5-17.7 15.2-31.6 32.9-31.1s31.6 15.2 31.1 32.9c0 .9 0 1.8 0 2.6 0 51.1 41.4 92.5 92.5 92.5 24.5 0 48-9.7 65.4-27.1l71.1-71.1c17.3-17.3 27.1-40.9 27.1-65.4 0-51.1-41.4-92.5-92.5-92.5zM275.2 173.3c-1.9-.8-3.8-1.9-5.5-3.1-12.6-6.5-27-10.2-42.1-10.2-24.5 0-48 9.7-65.4 27.1L91.1 258.2c-17.3 17.3-27.1 40.9-27.1 65.4 0 51.1 41.4 92.5 92.5 92.5 16.5 0 32.6-4.4 46.7-12.6 15.8 16 34.2 29.4 54.6 39.5-28.2 23.9-64 37.2-101.3 37.2-86.4 0-156.5-70-156.5-156.5 0-41.5 16.5-81.3 45.8-110.6l71.1-71.1c29.3-29.3 69.1-45.8 110.6-45.8 86.6 0 156.5 70.6 156.5 156.9 0 1.3 0 2.6 0 3.9-.4 17.7-15.1 31.6-32.8 31.2s-31.6-15.1-31.2-32.8c0-.8 0-1.5 0-2.3 0-33.7-18-63.3-44.8-79.6z"/></svg></span>CHAINS // Featured Series // Journal Deep Dives</h1>
207    <div class="window-controls"><span class="window-btn window-btn-min minimize-btn" title="Minimize" data-tooltip="Minimize" ><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
207<path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 256c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 288c-17.7 0-32-14.3-32-32z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></span><span class="window-btn window-btn-close close-btn" title="Close" data-tooltip="Close" ><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M55.1 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L147.2 256 9.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192.5 301.3 329.9 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.8 256 375.1 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192.5 210.7 55.1 73.4z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></span></div>
208  </div>
209  <div class="window-body">
210    <p class="home-section-desc">
211      Multi-part technical deep dives, security audits, and game engine devlogs:
212    </p>
213    <div class="home-cards-grid">
214      
215        <div class="home-featured-card">
216          <div>
217            <div class="home-card-title">
218              Liminalita Devlog
219            </div>
220            <p class="home-card-desc">
221              Development log entries for Liminalita, a 3D procedural art walking simulator.
222            </p>
223          </div>
224          <div>
225            <div class="home-card-tags">
226              
227                <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="3d_modeling" data-tooltip="Creating 3D polygonal models, retro low-poly assets, and environmental art for games."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M224.3-2.5c19.8-11.4 44.2-11.4 64 0L464.2 99c19.8 11.4 32 32.6 32 55.4l0 203c0 22.9-12.2 44-32 55.4L288.3 514.5c-19.8 11.4-44.2 11.4-64 0L48.5 413c-19.8-11.4-32-32.6-32-55.4l0-203c0-22.9 12.2-44 32-55.4L224.3-2.5zm207.8 360l0-166.1-143.8 83 0 166.1 143.8-83z"/></svg><span class="skill-tag-label">3d Modeling</span></span>
228              
229                <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="game_engine_dev" data-tooltip="Building lightweight game engines, rendering loops, input handling, and entity systems from scratch."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M448 64c106 0 192 86 192 192S554 448 448 448l-256 0C86 448 0 362 0 256S86 64 192 64l256 0zM192 176c-13.3 0-24 10.7-24 24l0 32-32 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l32 0 0 32c0 13.3 10.7 24 24 24s24-10.7 24-24l0-32 32 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-32 0 0-32c0-13.3-10.7-24-24-24zm240 96a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm64-96a32 32 0 1 0 0 64 32 32 0 1 0 0-64z"/></svg><span class="skill-tag-label">Game Engine Dev</span></span>
230              
231                <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="gdshader" data-tooltip="Godot Engine&#39;s custom shading language for 2D and 3D visual effects, materials, and post-processing."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M391.5 53.2c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L448 96 469.2 152.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L512 96 568.5 74.8c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L512 32 490.8-24.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L448 32 391.5 53.2zm-185 20.1c-2.6-5.7-8.3-9.3-14.5-9.3s-11.9 3.6-14.5 9.3l-53.1 115-115 53.1C3.6 244.1 0 249.8 0 256s3.6 11.9 9.3 14.5l115 53.1 53.1 115c2.6 5.7 8.3 9.3 14.5 9.3s11.9-3.6 14.5-9.3l53.1-115 115-53.1c5.7-2.6 9.3-8.3 9.3-14.5s-3.6-11.9-9.3-14.5l-115-53.1-53.1-115zM416 416l-56.5 21.2c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L416 480 437.2 536.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L480 480 536.5 458.8c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L480 416 458.8 359.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L416 416z"/></svg><span class="skill-tag-label">gdshader</span></span>
232              
233                <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="generative_art" data-tooltip="Algorithmic generation of visual artwork, procedural textures, vector SVG patterns, and game graphics."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M512 256c0 .9 0 1.8 0 2.7-.4 36.5-33.6 61.3-70.1 61.3L344 320c-26.5 0-48 21.5-48 48 0 3.4 .4 6.7 1 9.9 2.1 10.2 6.5 20 10.8 29.9 6.1 13.8 12.1 27.5 12.1 42 0 31.8-21.6 60.7-53.4 62-3.5 .1-7 .2-10.6 .2-141.4 0-256-114.6-256-256S114.6 0 256 0 512 114.6 512 256zM128 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0-96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64z"/></svg><span class="skill-tag-label">Generative Art</span></span>
234              
235            </div>
236            <a href="./liminalita_devlog/" class="nav-link nav-link-sm">[ EXPLORE CHAIN (4 ENTRIES) → ]</a>
237          </div>
238        </div>
239      
240        <div class="home-featured-card">
241          <div>
242            <div class="home-card-title">
243              PixelLang Esoteric Language
244            </div>
245            <p class="home-card-desc">
246              An esoteric language entirely in pixels.
247            </p>
248          </div>
249          <div>
250            <div class="home-card-tags">
251              
252                <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="crystal" data-tooltip="A fast, compiled, statically typed language with Ruby-inspired syntax."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128">
252<path fill="currentColor" d="M126.887 81.203L80.895 126.86c-.184.184-.461.274-.645.184l-62.828-16.742c-.277-.094-.461-.278-.461-.461L.035 47.437c-.09-.273 0-.457.184-.64L46.215 1.14c.183-.184.46-.274.644-.184l62.825 16.742c.277.094.46.278.46.461l16.836 62.403c.184.273.09.457-.093.64zM65.254 31.516L3.53 47.895c-.094 0-.183.183-.094.277l45.168 44.832c.09.094.278.094.278-.09L65.437 31.61c.094 0-.09-.183-.183-.093zm0 0" fill-rule="evenodd"/></svg><span class="skill-tag-label">crystal</span></span>
253              
254                <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="esoteric_programming" data-tooltip="Designing non-traditional programming languages to test boundaries of language design and visual computing."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M120 56c0-30.9 25.1-56 56-56l24 0c17.7 0 32 14.3 32 32l0 448c0 17.7-14.3 32-32 32l-32 0c-29.8 0-54.9-20.4-62-48-.7 0-1.3 0-2 0-44.2 0-80-35.8-80-80 0-18 6-34.6 16-48-19.4-14.6-32-37.8-32-64 0-30.9 17.6-57.8 43.2-71.1-7.1-12-11.2-26-11.2-40.9 0-44.2 35.8-80 80-80l0-24zm272 0l0 24c44.2 0 80 35.8 80 80 0 15-4.1 29-11.2 40.9 25.7 13.3 43.2 40.1 43.2 71.1 0 26.2-12.6 49.4-32 64 10 13.4 16 30 16 48 0 44.2-35.8 80-80 80-.7 0-1.3 0-2 0-7.1 27.6-32.2 48-62 48l-32 0c-17.7 0-32-14.3-32-32l0-448c0-17.7 14.3-32 32-32l24 0c30.9 0 56 25.1 56 56z"/></svg><span class="skill-tag-label">Esoteric Programming</span></span>
255              
256                <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="generative_art" data-tooltip="Algorithmic generation of visual artwork, procedural textures, vector SVG patterns, and game graphics."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M512 256c0 .9 0 1.8 0 2.7-.4 36.5-33.6 61.3-70.1 61.3L344 320c-26.5 0-48 21.5-48 48 0 3.4 .4 6.7 1 9.9 2.1 10.2 6.5 20 10.8 29.9 6.1 13.8 12.1 27.5 12.1 42 0 31.8-21.6 60.7-53.4 62-3.5 .1-7 .2-10.6 .2-141.4 0-256-114.6-256-256S114.6 0 256 0 512 114.6 512 256zM128 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0-96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64z"/></svg><span class="skill-tag-label">Generative Art</span></span>
257              
258                <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="raylib" data-tooltip="A simple and easy-to-use C library to enjoy videogames programming."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M448 64c106 0 192 86 192 192S554 448 448 448l-256 0C86 448 0 362 0 256S86 64 192 64l256 0zM192 176c-13.3 0-24 10.7-24 24l0 32-32 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l32 0 0 32c0 13.3 10.7 24 24 24s24-10.7 24-24l0-32 32 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-32 0 0-32c0-13.3-10.7-24-24-24zm240 96a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm64-96a32 32 0 1 0 0 64 32 32 0 1 0 0-64z"/></svg><span class="skill-tag-label">raylib</span></span>
259              
260            </div>
261            <a href="./pixellang/" class="nav-link nav-link-sm">[ EXPLORE CHAIN (3 ENTRIES) → ]</a>
262          </div>
263        </div>
264      
265        <div class="home-featured-card">
266          <div>
267            <div class="home-card-title">
268              Solo Oasis Devlog
269            </div>
270            <p class="home-card-desc">
271              Development log entries for Solo Oasis : Unlimited Places (SOUPJAM 2026).
272            </p>
273          </div>
274          <div>
275            <div class="home-card-tags">
276              
277                <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="3d_modeling" data-tooltip="Creating 3D polygonal models, retro low-poly assets, and environmental art for games."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M224.3-2.5c19.8-11.4 44.2-11.4 64 0L464.2 99c19.8 11.4 32 32.6 32 55.4l0 203c0 22.9-12.2 44-32 55.4L288.3 514.5c-19.8 11.4-44.2 11.4-64 0L48.5 413c-19.8-11.4-32-32.6-32-55.4l0-203c0-22.9 12.2-44 32-55.4L224.3-2.5zm207.8 360l0-166.1-143.8 83 0 166.1 143.8-83z"/></svg><span class="skill-tag-label">3d Modeling</span></span>
278              
279                <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="game_engine_dev" data-tooltip="Building lightweight game engines, rendering loops, input handling, and entity systems from scratch."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M448 64c106 0 192 86 192 192S554 448 448 448l-256 0C86 448 0 362 0 256S86 64 192 64l256 0zM192 176c-13.3 0-24 10.7-24 24l0 32-32 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l32 0 0 32c0 13.3 10.7 24 24 24s24-10.7 24-24l0-32 32 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-32 0 0-32c0-13.3-10.7-24-24-24zm240 96a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm64-96a32 32 0 1 0 0 64 32 32 0 1 0 0-64z"/></svg><span class="skill-tag-label">Game Engine Dev</span></span>
280              
281                <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="godot_4" data-tooltip="Open-source 2D/3D game engine featuring GDScript, custom shaders, and modular scene nodes."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M352 0c0-17.7-14.3-32-32-32S288-17.7 288 0l0 64-96 0c-53 0-96 43-96 96l0 224c0 53 43 96 96 96l256 0c53 0 96-43 96-96l0-224c0-53-43-96-96-96l-96 0 0-64zM160 368c0-13.3 10.7-24 24-24l32 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-32 0c-13.3 0-24-10.7-24-24zm120 0c0-13.3 10.7-24 24-24l32 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-32 0c-13.3 0-24-10.7-24-24zm120 0c0-13.3 10.7-24 24-24l32 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-32 0c-13.3 0-24-10.7-24-24zM224 176a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm144 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM64 224c0-17.7-14.3-32-32-32S0 206.3 0 224l0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96zm544-32c-17.7 0-32 14.3-32 32l0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96c0-17.7-14.3-32-32-32z"/></svg><span class="skill-tag-label">Godot 4</span></span>
282              
283            </div>
284            <a href="./soup_devlog/" class="nav-link nav-link-sm">[ EXPLORE CHAIN (3 ENTRIES) → ]</a>
285          </div>
286        </div>
287      
288        <div class="home-featured-card">
289          <div>
290            <div class="home-card-title">
291              VStarCam Security Research
292            </div>
293            <p class="home-card-desc">
294              A journey through a horribly insecure webcam, and the discovery, and fruititon of a client hijacking exploit.
295            </p>
296          </div>
297          <div>
298            <div class="home-card-tags">
299              
300                <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="c" data-tooltip="Low-level system programming language for high-performance applications, memory management, and low-level system software."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
300<path fill="currentColor" d="M360.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448c4.9-17-5-34.7-22-39.6zm64.6 136.1c-12.5 12.5-12.5 32.8 0 45.3l73.4 73.4-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0zm-274.7 0c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 150.6 182.6c12.5-12.5 12.5-32.8 0-45.3z"/></svg><span class="skill-tag-label">c</span></span>
301              
302                <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="crystal" data-tooltip="A fast, compiled, statically typed language with Ruby-inspired syntax."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 128 128"><path fill="currentColor" d="M126.887 81.203L80.895 126.86c-.184.184-.461.274-.645.184l-62.828-16.742c-.277-.094-.461-.278-.461-.461L.035 47.437c-.09-.273 0-.457.184-.64L46.215 1.14c.183-.184.46-.274.644-.184l62.825 16.742c.277.094.46.278.46.461l16.836 62.403c.184.273.09.457-.093.64zM65.254 31.516L3.53 47.895c-.094 0-.183.183-.094.277l45.168 44.832c.09.094.278.094.278-.09L65.437 31.61c.094 0-.09-.183-.183-.093zm0 0" fill-rule="evenodd"/></svg><span class="skill-tag-label">crystal</span></span>
303              
304                <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="exploit_poc" data-tooltip="Authoring reproducible proof-of-concept exploits to validate security vulnerabilities and verify vendor remediation."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-53 43-96 96-96s96 43 96 96l0 3.6c0 15.7-12.7 28.4-28.4 28.4l-135.1 0c-15.7 0-28.4-12.7-28.4-28.4l0-3.6zm345.6 12.8c10.6 14.1 7.7 34.2-6.4 44.8l-97.8 73.3c5.3 8.9 9.3 18.7 11.8 29.1l98.8 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-96 0 0 32c0 2.6-.1 5.3-.2 7.9l83.4 62.5c14.1 10.6 17 30.7 6.4 44.8s-30.7 17-44.8 6.4l-63.1-47.3c-23.2 44.2-66.5 76.2-117.7 83.9L312 280c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 230.2c-51.2-7.7-94.5-39.7-117.7-83.9L83.2 473.6c-14.1 10.6-34.2 7.7-44.8-6.4s-7.7-34.2 6.4-44.8l83.4-62.5c-.1-2.6-.2-5.2-.2-7.9l0-32-96 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l98.8 0c2.5-10.4 6.5-20.2 11.8-29.1L44.8 153.6c-14.1-10.6-17-30.7-6.4-44.8s30.7-17 44.8-6.4L192 184c12.3-5.1 25.8-8 40-8l112 0c14.2 0 27.7 2.8 40 8l108.8-81.6c14.1-10.6 34.2-7.7 44.8 6.4z"/></svg><span class="skill-tag-label">Exploit Poc</span></span>
305              
306                <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="exploitation" data-tooltip="Developing proof-of-concept exploits to validate security vulnerabilities in binaries, network daemons, and web apps."><svg class="skill-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M171-16c-36.4 0-57.8 58.3-68.3 112L72 96c-13.3 0-24 10.7-24 24s10.7 24 24 24l24 0 0 32c0 17 3.3 33.2 9.3 48l-9.3 0 0 0-20.5 0c-15.2 0-27.5 12.3-27.5 27.5 0 3 .5 5.9 1.4 8.7l28.9 86.6C40.2 379.6 16 428.1 16 482.3 16 498.7 29.3 512 45.7 512l356.6 0c16.4 0 29.7-13.3 29.7-29.7 0-54.2-24.2-102.7-62.3-135.4l28.9-86.6c.9-2.8 1.4-5.7 1.4-8.7 0-15.2-12.3-27.5-27.5-27.5l-20.5 0 0 0-9.3 0c6-14.8 9.3-31 9.3-48l0-32 24 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-30.7 0c-10.4-53.7-31.9-112-68.3-112-9.6 0-19 3.9-27.5 8.2-8.2 4.1-18.4 7.8-25.5 7.8s-17.3-3.7-25.5-7.8C190-12.1 180.6-16 171-16zm93.7 484.4l-24.8-70.9 27.9-32.5c2.7-3.2 4.2-7.2 4.2-11.4 0-9.7-7.8-17.5-17.5-17.5l-61 0c-9.7 0-17.5 7.8-17.5 17.5 0 4.2 1.5 8.2 4.2 11.4l27.9 32.5-24.8 70.9-57-180.4 35.7 0c18.4 10.2 39.5 16 62 16s43.6-5.8 62-16l35.7 0-57 180.4zM224 256c-34.7 0-64.2-22.1-75.3-53 5.7 3.2 12.3 5 19.3 5l12.4 0c16.5 0 31.1-10.6 36.3-26.2 2.3-7 12.2-7 14.5 0 5.2 15.6 19.9 26.2 36.3 26.2l12.4 0c7 0 13.6-1.8 19.3-5-11.1 30.9-40.6 53-75.3 53z"/></svg><span class="skill-tag-label">exploitation</span></span>
307              
308            </div>
309            <a href="./vstarcam_journey/" class="nav-link nav-link-sm">[ EXPLORE CHAIN (11 ENTRIES) → ]</a>
310          </div>
311        </div>
312      
313    </div>
314    <div class="home-section-footer">
315      <a href="./chains" class="nav-link nav-link-md">[ EXPLORE ALL JOURNAL CHAINS → ]</a>
316    </div>
317  </div>
318</div>
319
320<div class="terminal-window home-section-window">
321  <div class="window-header">
322    <h1 class="window-title"><span class="window-header-icon"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
322<path fill="currentColor" d="M0 80C0 53.5 21.5 32 48 32l96 0c26.5 0 48 21.5 48 48l0 16 128 0 0-16c0-26.5 21.5-48 48-48l96 0c26.5 0 48 21.5 48 48l0 96c0 26.5-21.5 48-48 48l-96 0c-26.5 0-48-21.5-48-48l0-16-128 0 0 16c0 7.3-1.7 14.3-4.6 20.5l68.6 91.5 80 0c26.5 0 48 21.5 48 48l0 96c0 26.5-21.5 48-48 48l-96 0c-26.5 0-48-21.5-48-48l0-96c0-7.3 1.7-14.3 4.6-20.5L128 224 48 224c-26.5 0-48-21.5-48-48L0 80z"/></svg></span>PROJECTS // Featured Works // Libraries &amp; Tools</h1>
323    <div class="window-controls"><span class="window-btn window-btn-min minimize-btn" title="Minimize" data-tooltip="Minimize" ><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 256c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 288c-17.7 0-32-14.3-32-32z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></span><span class="window-btn window-btn-close close-btn" title="Close" data-tooltip="Close" ><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M55.1 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L147.2 256 9.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192.5 301.3 329.9 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.8 256 375.1 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192.5 210.7 55.1 73.4z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></span></div>
324  </div>
325  <div class="window-body">
326    <div class="home-cards-grid">
327      
328        <div class="home-featured-card">
329          <div>
330            <div class="home-card-header-flex">
331              <span class="home-card-title-span">Citrine</span>
332              <span class="home-card-section-tag">[PROGRAMS]</span>
333            </div>
334            <p class="home-card-desc">
335              PlayStation 2 virtual machine, game engine, and CLI development toolchain written in Crystal.
336            </p>
337          </div>
338          <div>
339            <a href="./projects/programs/citrine.html" class="nav-link nav-link-sm">[ VIEW PROJECT SPEC → ]</a>
340          </div>
341        </div>
342      
343        <div class="home-featured-card">
344          <div>
345            <div class="home-card-header-flex">
346              <span class="home-card-title-span">Fluorite</span>
347              <span class="home-card-section-tag">[LIBRARIES]</span>
348            </div>
349            <p class="home-card-desc">
350              Modern FFMPEG bindings, fluent Crystal DSL, streaming process wrapper, smart presets, and interactive Opal TUI.
351            </p>
352          </div>
353          <div>
354            <a href="./projects/libraries/fluorite.html" class="nav-link nav-link-sm">[ VIEW PROJECT SPEC → ]</a>
355          </div>
356        </div>
357      
358        <div class="home-featured-card">
359          <div>
360            <div class="home-card-header-flex">
361              <span class="home-card-title-span">Carbon</span>
362              <span class="home-card-section-tag">[PROGRAMS]</span>
363            </div>
364            <p class="home-card-desc">
365              Automated commit-based version control, human-friendly YAML changelogs, README badge engine, and Git release automation for Crystal shards.
366            </p>
367          </div>
368          <div>
369            <a href="./projects/programs/carbon.html" class="nav-link nav-link-sm">[ VIEW PROJECT SPEC → ]</a>
370          </div>
371        </div>
372      
373        <div class="home-featured-card">
374          <div>
375            <div class="home-card-header-flex">
376              <span class="home-card-title-span">Jasper</span>
377              <span class="home-card-section-tag">[LIBRARIES]</span>
378            </div>
379            <p class="home-card-desc">
380              Modular structured guide, book, and documentation compiler for Crystal docs.
381            </p>
382          </div>
383          <div>
384            <a href="./projects/libraries/jasper.html" class="nav-link nav-link-sm">[ VIEW PROJECT SPEC → ]</a>
385          </div>
386        </div>
387      
388    </div>
389    <div class="home-section-footer">
390      <a href="./projects" class="nav-link nav-link-md">[ BROWSE ALL PROJECTS → ]</a>
391    </div>
392  </div>
393</div>
394
395<div class="terminal-window home-section-window">
396  <div class="window-header">
397    <h1 class="window-title"><span class="window-header-icon"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M144.3 0l224 0c26.5 0 48.1 21.8 47.1 48.2-.2 5.3-.4 10.6-.7 15.8l49.6 0c26.1 0 49.1 21.6 47.1 49.8-7.5 103.7-60.5 160.7-118 190.5-15.8 8.2-31.9 14.3-47.2 18.8-20.2 28.6-41.2 43.7-57.9 51.8l0 73.1 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l64 0 0-73.1c-16-7.7-35.9-22-55.3-48.3-18.4-4.8-38.4-12.1-57.9-23.1-54.1-30.3-102.9-87.4-109.9-189.9-1.9-28.1 21-49.7 47.1-49.7l49.6 0c-.3-5.2-.5-10.4-.7-15.8-1-26.5 20.6-48.2 47.1-48.2zM101.5 112l-52.4 0c6.2 84.7 45.1 127.1 85.2 149.6-14.4-37.3-26.3-86-32.8-149.6zM380 256.8c40.5-23.8 77.1-66.1 83.3-144.8L411 112c-6.2 60.9-17.4 108.2-31 144.8z"/></svg></span>ACHIEVEMENTS // Notable Milestones // Security Findings</h1>
398    <div class="window-controls"><span class="window-btn window-btn-min minimize-btn" title="Minimize" data-tooltip="Minimize" ><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 256c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 288c-17.7 0-32-14.3-32-32z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
398<path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></span><span class="window-btn window-btn-close close-btn" title="Close" data-tooltip="Close" ><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M55.1 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L147.2 256 9.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192.5 301.3 329.9 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.8 256 375.1 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192.5 210.7 55.1 73.4z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></span></div>
399  </div>
400  <div class="window-body">
401    <div class="home-achievements-list">
402      
403        <div class="home-achievement-row">
404          <div>
405            <strong class="home-ach-title">TRIJAM 363</strong>
406            <span class="home-ach-cat">(Game Jams)</span>
407          </div>
408          <div class="home-ach-date">
409            [ Itch.io Jam ]
410          </div>
411        </div>
412      
413        <div class="home-achievement-row">
414          <div>
415            <strong class="home-ach-title">SOUPJAM 2026</strong>
416            <span class="home-ach-cat">(Game Jams)</span>
417          </div>
418          <div class="home-ach-date">
419            [ Itch.io Jam ]
420          </div>
421        </div>
422      
423        <div class="home-achievement-row">
424          <div>
425            <strong class="home-ach-title">
4251-DAY JAM #3</strong>
426            <span class="home-ach-cat">(Game Jams)</span>
427          </div>
428          <div class="home-ach-date">
429            [ Itch.io Jam ]
430          </div>
431        </div>
432      
433        <div class="home-achievement-row">
434          <div>
435            <strong class="home-ach-title">TRIJAM 346</strong>
436            <span class="home-ach-cat">(Game Jams)</span>
437          </div>
438          <div class="home-ach-date">
439            [ Itch.io Jam ]
440          </div>
441        </div>
442      
443    </div>
444    <div class="home-section-footer">
445      <a href="./achievements" class="nav-link nav-link-md">[ VIEW ALL ACHIEVEMENTS → ]</a>
446    </div>
447  </div>
448</div>
449
450    </main>
451    
452    <footer class="terminal-footer">
453      
454        <div class="footer-nav-container">
455          <div class="footer-nav-links">
456            
457              
458                
459                
460                
461                  <a href="./chains" class="nav-link">[ CHAINS ]</a>
462                
463              
464                
465                
466                
467                  <a href="./projects" class="nav-link">[ PROJECTS ]</a>
468                
469              
470                
471                
472                
473                  <a href="./games" class="nav-link">[ GAMES ]</a>
474                
475              
476                
477                
478                
479                  <a href="./art" class="nav-link">[ ART ]</a>
480                
481              
482                
483                
484                
485                  <a href="./achievements" class="nav-link">[ ACHIEVEMENTS ]</a>
486                
487              
488                
489                
490                
491                  <a href="./favorites" class="nav-link">[ FAVORITES ]</a>
492                
493              
494                
495                
496                
497                  <a href="./whoami" class="nav-link">[ WHOAMI ]</a>
498                
499              
500                
501                
502                
503                  <a href="./status" class="nav-link">[ STATUS ]</a>
504                
505              
506            
507            <a href="#top" id="scroll-to-top-btn" class="nav-link scroll-to-top-btn" title="Back to top" aria-label="Back to top">[ ▲ ]</a>
508          </div>
509        </div>
510      
511      
512      <div class="footer-logo-wrapper">
513        <a href="./" class="terminal-logo-link" title="[ HOME ]" aria-label="[ HOME ]">
514          <div class="terminal-logo" role="img" aria-label="SOL.VIN Logo"></div>
515        </a>
516      </div>
517      <p>+---------------------------------------------------+</p>
518      
519        <p>&copy; 2026 Ian Rash - Built with Crystal &amp; Served with Nginx</p>
520      
521      <p>+---------------------------------------------------+</p>
522    </footer>
523  </div>
524
525  <div id="gui-image-modal" class="no-palette-filter no-monochrome" data-palette-filter="false" data-monochrome="false" role="dialog" aria-modal="true" aria-labelledby="image-viewer-title-text">
526    <div class="terminal-window image-viewer-window" data-palette-filter="false" data-monochrome="false">
527      <div class="window-header">
528        <h1 class="window-title" id="image-viewer-title-text"><span class="window-header-icon" title="Image Viewer"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zm64 80a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM272 224c8.4 0 16.1 4.4 20.5 11.5l88 144c4.5 7.4 4.7 16.7 .5 24.3S368.7 416 360 416L88 416c-8.9 0-17.2-5-21.3-12.9s-3.5-17.5 1.6-24.8l56-80c4.5-6.4 11.8-10.2 19.7-10.2s15.2 3.8 19.7 10.2l26.4 37.8 61.4-100.5c4.4-7.1 12.1-11.5 20.5-11.5z"/></svg></span>VIEWER // Lightbox // Image Inspector: <span id="image-viewer-filename">image.png</span></h1>
529        <div class="window-controls">
530          <span id="image-viewer-min-btn" class="window-btn window-btn-min" title="Toggle Fit / Zoom"><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
530<path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 256c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 288c-17.7 0-32-14.3-32-32z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></span>
531          <span id="image-viewer-max-btn" class="window-btn" title="Toggle Zoom"><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M32 32C14.3 32 0 46.3 0 64l0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-64 64 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 32zM64 352c0-17.7-14.3-32-32-32S0 334.3 0 352l0 96c0 17.7 14.3 32 32 32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0 0-64zM320 32c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0 0 64c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96c0-17.7-14.3-32-32-32l-96 0zM448 352c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 64-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c17.7 0 32-14.3 32-32l0-96z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></span>
532          <span id="image-viewer-close-btn" class="window-btn window-btn-close" title="Close Viewer"><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M55.1 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L147.2 256 9.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192.5 301.3 329.9 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.8 256 375.1 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192.5 210.7 55.1 73.4z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
532<path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></span>
533        </div>
534      </div>
535      <div class="window-body image-viewer-body" data-palette-filter="false" data-monochrome="false">
536        <img id="image-viewer-img" src="" alt="Image Viewer Preview" filter="0" data-filter="0" data-palette-filter="false" data-monochrome="false" class="no-palette-filter no-monochrome" />
537      </div>
538      <div class="image-viewer-caption">
539        <span id="image-viewer-path">SOURCE: N/A</span>
540        <span>[ CLICK IMAGE TO TOGGLE ZOOM | ESC TO CLOSE ]</span>
541      </div>
542    </div>
543  </div>
544
545  <div id="palette-picker-modal-overlay" class="skill-modal-overlay" role="dialog" aria-modal="true" aria-labelledby="palette-picker-modal-title">
546    <div class="terminal-window skill-modal-window palette-picker-window">
547      <div class="window-header window-header-flex">
548        <h1 id="palette-picker-modal-title" class="window-title palette-modal-title">
549          <span class="window-header-icon" title="Theme Palette Selector"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M512 256c0 .9 0 1.8 0 2.7-.4 36.5-33.6 61.3-70.1 61.3L344 320c-26.5 0-48 21.5-48 48 0 3.4 .4 6.7 1 9.9 2.1 10.2 6.5 20 10.8 29.9 6.1 13.8 12.1 27.5 12.1 42 0 31.8-21.6 60.7-53.4 62-3.5 .1-7 .2-10.6 .2-141.4 0-256-114.6-256-256S114.6 0 256 0 512 114.6 512 256zM128 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0-96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64z"/></svg></span>THEME // Palette Selector // Color Catalog
550        </h1>
551        <div class="window-controls">
552          <button type="button" id="palette-picker-modal-close" class="window-btn window-btn-close" title="Close Catalog"><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M55.1 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L147.2 256 9.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192.5 301.3 329.9 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.8 256 375.1 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192.5 210.7 55.1 73.4z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></button>
553        </div>
554      </div>
555      <div class="window-body palette-modal-body">
556        <div class="palette-modal-top-bar">
557          <p class="palette-modal-text">Select a theme palette from the catalog below to instantly customize site appearance:</p>
558          <button id="palette-picker-random-btn" type="button" class="export-btn export-btn-bold-sm" title="Pick Random Palette"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
558<path fill="currentColor" d="M141.4 2.3C103-8 63.5 14.8 53.3 53.2L2.5 242.7C-7.8 281.1 15 320.6 53.4 330.9l189.5 50.8c38.4 10.3 77.9-12.5 88.2-50.9l50.8-189.5c10.3-38.4-12.5-77.9-50.9-88.2L141.4 2.3zm23 205.7a32 32 0 1 1 55.4-32 32 32 0 1 1 -55.4 32zM79.2 220.3a32 32 0 1 1 32 55.4 32 32 0 1 1 -32-55.4zm185 96.4a32 32 0 1 1 -32-55.4 32 32 0 1 1 32 55.4zm9-208.4a32 32 0 1 1 32 55.4 32 32 0 1 1 -32-55.4zm-121 14.4a32 32 0 1 1 -32-55.4 32 32 0 1 1 32 55.4zM418 192L377.4 343.2c-17.2 64-83 102-147 84.9l-38.3-10.3 0 30.2c0 35.3 28.7 64 64 64l192 0c35.3 0 64-28.7 64-64l0-192c0-35.3-28.7-64-64-64L418 192z"/></svg> [ RANDOM // Palette ]</button>
559        </div>
560        <div id="palette-picker-grid"></div>
561      </div>
562    </div>
563  </div>
564
565  <div id="skill-modal-overlay" class="skill-modal-overlay" role="dialog" aria-modal="true" aria-labelledby="skill-modal-title">
566    <div class="terminal-window skill-modal-window">
567      <div class="window-header">
568        <h1 id="skill-modal-title" class="window-title"><span id="skill-modal-icon" class="window-header-icon skill-modal-icon"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M176 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40c-35.3 0-64 28.7-64 64l-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0 0 56-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0 0 56-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0c0 35.3 28.7 64 64 64l0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40 56 0 0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40 56 0 0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40c35.3 0 64-28.7 64-64l40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0 0-56 40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0 0-56 40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0c0-35.3-28.7-64-64-64l0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40-56 0 0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40-56 0 0-40zM160 128l192 0c17.7 0 32 14.3 32 32l0 192c0 17.7-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32l0-192c0-17.7 14.3-32 32-32zm16 48l0 160 160 0 0-160-160 0z"/></svg></span><span id="skill-modal-title-text">SKILL // Specification // Technical Details</span></h1>
569        <div class="window-controls">
570          <span id="skill-modal-close-btn" class="window-btn skill-modal-close window-btn-close" title="Close Window"><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M55.1 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L147.2 256 9.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192.5 301.3 329.9 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.8 256 375.1 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192.5 210.7 55.1 73.4z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></span>
571        </div>
572      </div>
573      <div class="window-body">
574        <div class="skill-modal-meta">
575          <div><strong>Category:</strong> <span id="skill-modal-category"></span></div>
576          <div id="skill-modal-exp-wrap"><strong>Experience:</strong> <span id="skill-modal-exp"></span></div>
577          <div id="skill-modal-started-wrap"><strong>Started:</strong> <span id="skill-modal-started"></span></div>
578          <div id="skill-modal-links-wrap">
579            <strong>Links:</strong>
580            <span id="skill-modal-links"></span>
581          </div>
582        </div>
583        <div class="skill-modal-short-desc" id="skill-modal-short-desc"></div>
584        <div class="skill-modal-long-desc" id="skill-modal-long-desc"></div>
585        
586        <div id="skill-modal-projects-section" class="skill-modal-section">
587          <h2 class="modal-section-h2">[ MATCHING PROJECTS (<span id="skill-modal-projects-count">0</span>) ]</h2>
588          <div id="skill-modal-projects-list" class="skill-modal-projects-grid"></div>
589        </div>
590
591        <div id="skill-modal-games-section" class="skill-modal-section">
592          <h2 class="modal-section-h2">[ MATCHING GAMES (<span id="skill-modal-games-count">0</span>) ]</h2>
593          <div id="skill-modal-games-list" class="skill-modal-projects-grid"></div>
594        </div>
595
596        <div id="skill-modal-achievements-section" class="skill-modal-section">
597          <h2 class="modal-section-h2">[ MATCHING ACCOLADES & ACHIEVEMENTS (<span id="skill-modal-achievements-count">0</span>) ]</h2>
598          <div id="skill-modal-achievements-list" class="skill-modal-projects-grid"></div>
599        </div>
600
601        <div id="skill-modal-posts-section" class="skill-modal-section">
602          <h2 class="modal-section-h2">[ MATCHING JOURNAL POSTS (<span id="skill-modal-posts-count">0</span>) ]</h2>
603          <div id="skill-modal-posts-list" class="skill-modal-projects-grid"></div>
604        </div>
605      </div>
606    </div>
607  </div>
608
609  
609<script id="skills-catalog-data" type="application/json">
610{"3d_modeling":{"name":"3D Modeling","slug":"3d_modeling","category":"Design & Art","years":"4 years","date_started":"2020-01-01","description":"Creating 3D polygonal models, retro low-poly assets, and environmental art for games.","long_description_html":"<p>3D modeling involves creating digital three-dimensional surfaces and assets. Specializing in stylized low-poly environmental assets, retro game art, and optimized game meshes.</p>\n","icon":"cube.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M224.3-2.5c19.8-11.4 44.2-11.4 64 0L464.2 99c19.8 11.4 32 32.6 32 55.4l0 203c0 22.9-12.2 44-32 55.4L288.3 514.5c-19.8 11.4-44.2 11.4-64 0L48.5 413c-19.8-11.4-32-32.6-32-55.4l0-203c0-22.9 12.2-44 32-55.4L224.3-2.5zm207.8 360l0-166.1-143.8 83 0 166.1 143.8-83z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/3D_modeling"}],"projects":[{"title":"Low Poly Items and Room Environment","url":"./projects/assets/models/low_poly_room_environment.html","description":"A low-poly collection of 3D models and room environment assets covered under CC-BY 4.0.","section":"assets"}],"games":[{"title":"Soulantern","url":"https://soulantern.sol.vin","description":"[1DAYJAM #3 WINNER] High-speed first-person precision platformer propelled by lantern recoil momentum and aerial dashes.","subdomain":"soulantern","engine":"Godot 4.3"},{"title":"Solo Oasis : Unlimited Places","url":"https://soup.sol.vin","description":"A surreal, minimalist walking simulator collaboration consisting of fever-dream rooms, inspired by SOUP and LSD: Dream Emulator.","subdomain":"soup","engine":"Godot 4.3"}],"achievements":[{"title":"SOUPJAM 2026","category":"Game Jams","date":"2026","issuer":"Itch.io Jam","description":"A collaborative 72-hour game jam focused on creating interconnected surreal rooms and walking experiences inspired by SOUP and LSD: Dream Emulator.","link":"https://itch.io/jam/soupjam2026"},{"title":"1-DAY JAM #3","category":"Game Jams","date":"2026","issuer":"Itch.io Jam","description":"1-DAY JAM #3 challenged game developers to complete a full game in under 24 hours around the theme 'FIRE'. Soulantern won 1st Place overall!","link":"https://itch.io/jam/1-day-jam-3"}],"posts":[{"title":"Project Origins, Gallery Concepts & Spatial Illusions","url":"./liminalita_devlog/0.html","chain_title":"Liminalita Devlog","category":"liminalita_devlog","index":0,"date":"2025-05-19"},{"title":"Expanding Exhibits, Threaded Loading & World Architecture","url":"./liminalita_devlog/1.html","chain_title":"Liminalita Devlog","category":"liminalita_devlog","index":1,"date":"2025-06-06"},{"title":"Library of Babel Modeling, Atrium Teleports & Lobby Expansion","url":"./liminalita_devlog/2.html","chain_title":"Liminalita Devlog","category":"liminalita_devlog","index":2,"date":"2025-06-11"},{"title":"Room Progress Snapshot","url":"./soup_devlog/0.html","chain_title":"Solo Oasis Devlog","category":"soup_devlog","index":0,"date":"2026-04-30"}]},"aseprite":{"name":"Aseprite","slug":"aseprite","category":"Design & Art","years":"5 years","date_started":"2019-01-01","description":"Animated sprite editor and pixel art tool for game development and 2D assets.","long_description_html":"<p>Aseprite is an industry-standard pixel art tool designed for creating sprite sheets, pixel animations, tilemaps, and 2D game artwork.</p>\n","icon":"palette.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M512 256c0 .9 0 1.8 0 2.7-.4 36.5-33.6 61.3-70.1 61.3L344 320c-26.5 0-48 21.5-48 48 0 3.4 .4 6.7 1 9.9 2.1 10.2 6.5 20 10.8 29.9 6.1 13.8 12.1 27.5 12.1 42 0 31.8-21.6 60.7-53.4 62-3.5 .1-7 .2-10.6 .2-141.4 0-256-114.6-256-256S114.6 0 256 0 512 114.6 512 256zM128 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0-96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"/></svg>","links":[{"key":"website","url":"https://www.aseprite.org"}],"projects":[{"title":"crowbar","url":"./projects/libraries/crowbar.html","description":"An all-purpose fuzzer built in Crystal to generate bad data cases from sample input.","section":"libraries"},{"title":"pixel_lang_crystal","url":"./projects/programs/pixel_lang_crystal.html","description":"An esoteric programming language entirely in pixels, implemented in Crystal.","section":"programs"}],"games":[{"title":"Soulantern","url":"https://soulantern.sol.vin","description":"[1DAYJAM #3 WINNER] High-speed first-person precision platformer propelled by lantern recoil momentum and aerial dashes.","subdomain":"soulantern","engine":"Godot 4.3"},{"title":"Solo Oasis : Unlimited Places","url":"https://soup.sol.vin","description":"A surreal, minimalist walking simulator collaboration consisting of fever-dream rooms, inspired by SOUP and LSD: Dream Emulator.","subdomain":"soup","engine":"Godot 4.3"}],"achievements":[{"title":"SOUPJAM 2026","category":"Game Jams","date":"2026","issuer":"Itch.io Jam","description":"A collaborative 72-hour game jam focused on creating interconnected surreal rooms and walking experiences inspired by SOUP and LSD: Dream Emulator.","link":"https://itch.io/jam/soupjam2026"},{"title":"1-DAY JAM #3","category":"Game Jams","date":"2026","issuer":"Itch.io Jam","description":"1-DAY JAM #3 challenged game developers to complete a full game in under 24 hours around the theme 'FIRE'. Soulantern won 1st Place overall!","link":"https://itch.io/jam/1-day-jam-3"}],"posts":[]},"audacity":{"name":"Audacity","slug":"audacity","category":"Audio & Music","years":"6 years","date_started":"2018-01-01","description":"Open-source multi-track audio editor and recorder for sound editing, filtering, and effect processing.","long_description_html":"<p>Audacity is an open-source audio editing tool used for recording, trimming, noise reduction, audio format conversion, and mastering game sound effects and voiceovers.</p>\n","icon":"waveform.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M288 0c15.5 0 28.8 11.1 31.5 26.4l47.4 265.5 33.5-201.1c2.5-15 15.1-26.1 30.3-26.7s28.6 9.5 32.3 24.2L505 256 528 256c17.7 0 32 14.3 32 32s-14.3 32-32 32l-48 0c-14.7 0-27.5-10-31-24.2L438.3 253 399.6 485.3c-2.6 15.4-15.8 26.6-31.4 26.7s-29-11-31.7-26.4L288 214 239.5 485.6c-2.7 15.3-16.1 26.5-31.7 26.4s-28.8-11.4-31.4-26.7L137.7 253 127 295.8C123.5 310 110.7 320 96 320l-48 0c-17.7 0-32-14.3-32-32s14.3-32 32-32L71 256 113 88.2c3.7-14.7 17.2-24.8 32.3-24.2s27.8 11.8 30.3 26.7l33.5 201.1 47.4-265.5C259.2 11.1 272.5 0 288 0z\"/></svg>","links":[{"key":"website","url":"https://www.audacityteam.org"}],"projects":[{"title":"SunVox Animalese Generator","url":"./projects/assets/sounds/anamalese_generator.html","description":"Animalese voice generator module for the SunVox modular synthesizer engine.","section":"assets"}],"games":[{"title":"Solo Oasis : Unlimited Places","url":"https://soup.sol.vin","description":"A surreal, minimalist walking simulator collaboration consisting of fever-dream rooms, inspired by SOUP and LSD: Dream Emulator.","subdomain":"soup","engine":"Godot 4.3"},{"title":"The Problem With Trolleys","url":"https://trolleys.sol.vin","description":"[TRIJAM 363 WINNER] A short 3hr game jam puzzle game about managing trolley switches without crashing trains.","subdomain":"trolleys","engine":"Godot 4"}],"achievements":[{"title":"TRIJAM 363","category":"Game Jams","date":"2026","issuer":"Itch.io Jam","description":"TRIJAM 363 
610challenged creators to complete a full game in under 3 hours of total production time. 'The Problem With Trolleys' won 1st Place overall!","link":"https://itch.io/jam/trijam-363"},{"title":"SOUPJAM 2026","category":"Game Jams","date":"2026","issuer":"Itch.io Jam","description":"A collaborative 72-hour game jam focused on creating interconnected surreal rooms and walking experiences inspired by SOUP and LSD: Dream Emulator.","link":"https://itch.io/jam/soupjam2026"}],"posts":[]},"audio_engine_dev":{"name":"Audio Engine Development","slug":"audio_engine_dev","category":"Audio & Music","years":"4 years","date_started":"2020-01-01","description":"Building real-time audio playback engines, waveform synthesis, and audio driver integrations.","long_description_html":"<p>Audio engine development focuses on low-latency audio buffer streaming, sound synthesis algorithms, and embedding modular audio libraries like SunVox into custom applications.</p>\n","icon":"sliders.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M32 64C14.3 64 0 78.3 0 96s14.3 32 32 32l86.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48L480 128c17.7 0 32-14.3 32-32s-14.3-32-32-32L265.3 64C253 35.7 224.8 16 192 16s-61 19.7-73.3 48L32 64zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l246.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48l54.7 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-54.7 0c-12.3-28.3-40.5-48-73.3-48s-61 19.7-73.3 48L32 224zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l54.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48L480 448c17.7 0 32-14.3 32-32s-14.3-32-32-32l-246.7 0c-12.3-28.3-40.5-48-73.3-48s-61 19.7-73.3 48L32 384z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Audio_signal_processing"}],"projects":[{"title":"SunVox Animalese Generator","url":"./projects/assets/sounds/anamalese_generator.html","description":"Animalese voice generator module for the SunVox modular synthesizer engine.","section":"assets"},{"title":"solvox","url":"./projects/programs/solvox.html","description":"An esoteric, Wireland-inspired modular synth and tracker built off the SunVox developer library.","section":"programs"},{"title":"libsunvox","url":"./projects/libraries/libsunvox.html","description":"C-bindings for the SunVox audio library modular synthesizer engine, written in Crystal.","section":"libraries"}],"games":[],"achievements":[],"posts":[]},"audio_engineering":{"name":"Audio Engineering","slug":"audio_engineering","category":"Audio & Music","years":"6 years","date_started":"2018-01-01","description":"Sound design, audio mixing, signal processing, and sound effect engineering for games and s
610oftware.","long_description_html":"<p>Audio engineering encompasses recording, synthesizing, editing, and processing digital audio. Used for designing game sound effects, procedural voice generation, dynamic audio mixing, and mastering soundtracks.</p>\n","icon":"headphones.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M64 224c0-88.4 71.6-160 160-160s160 71.6 160 160l0 37.5c-10-3.5-20.8-5.5-32-5.5l-16 0c-26.5 0-48 21.5-48 48l0 128c0 26.5 21.5 48 48 48l16 0c53 0 96-43 96-96l0-160C448 100.3 347.7 0 224 0S0 100.3 0 224L0 384c0 53 43 96 96 96l16 0c26.5 0 48-21.5 48-48l0-128c0-26.5-21.5-48-48-48l-16 0c-11.2 0-22 1.9-32 5.5L64 224z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Audio_engineering"}],"projects":[{"title":"Fluorite","url":"./projects/libraries/fluorite.html","description":"Modern FFMPEG bindings, fluent Crystal DSL, streaming process wrapper, smart presets, and interactive Opal TUI.","section":"libraries"},{"title":"SunVox Animalese Generator","url":"./projects/assets/sounds/anamalese_generator.html","description":"Animalese voice generator module for the SunVox modular synthesizer engine.","section":"assets"},{"title":"libsunvox","url":"./projects/libraries/libsunvox.html","description":"C-bindings for the SunVox audio library modular synthesizer engine, written in Crystal.","section":"libraries"}],"games":[],"achievements":[{"title":"Artistic Crystal (Crystal 1.0 Conference 2021)","category":"Talks","date":"2021","issuer":"Crystal 1.0 Conference","description":"Conference talk exploring how to leverage Crystal's macro system, raw execution speed, and C bindings for creative coding, generative art, and graphical applications.","link":"https://www.youtube.com/watch?v=8jJtgMwZzf0"}],"posts":[]},"autohotkey":{"name":"AutoHotkey","slug":"autohotkey","category":"Tools & Infrastructure","years":"6 years","date_started":"2018-01-01","description":"Windows scripting language for hotkeys, UI automation, and rapid desktop tool prototyping.","long_description_html":"<p>AutoHotkey is a custom scripting language for Windows providing automation of desktop GUIs, input sequences, and hotkeys. Used for constructing automated game testing sequences and rapid desktop automation tools. I mainly use this tool for the automation of QA testing for games as it is easier to automate combonation button presses, as well as create macros that can test for common problems.</p>\n","icon":"keyboard.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M64 64C28.7 64 0 92.7 0 128L0 384c0 35.3 28.7 64 64 64l448 0c35.3 0 64-28.7 64-64l0-256c0-35.3-28.7-64-64-64L64 64zm16 64l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zM64 240c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zM176 128l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zM160 240c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zm16 80l224 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-224 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zm80-176c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zm16 80l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zm80-80c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zm16 80l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16zm80-80c0-8.8 7.2-16 16-16l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32zm16 80l32 0c8.8 0 16 7.2 16 16l0 32c0 8.8-7.2 16-16 16l-32 0c-8.8 0-16-7.2-16-16l0-32c0-8.8 7.2-16 16-16z\"/></svg>","links":[{"key":"website","url":"https://www.autohotkey.com"}],"projects":[],"games":[],"achievements":[],"posts":[]},"blender":{"name":"Blender","slug":"blender","category":"Design & Art","years":"4 years","date_started":"2020-01-01","description":"Open-source 3D creation suite for low-poly modeling, UV unwrapping, rigging, and animation.","long_description_html":"<p>Blender is a powerful 3D modeling and animation platform. Used for crafting low-poly game models, environment props, UV mapping, and glTF export pipelines.</p>\n","icon":"cube.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M224.3-2.5c19.8-11.4 44.2-11.4 64 0L464.2 99c19.8 11.4 32 32.6 32 55.4l0 203c0 22.9-12.2 44-32 55.4L288.3 514.5c-19.8 11.4-44.2 11.4-64 0L48.5 413c-19.8-11.4-32-32.6-32-55.4l0-203c0-22.9 12.2-44 32-55.4L224.3-2.5zm207.8 360l0-166.1-143.8 83 0 166.1 143.8-83z\"/></svg>","links":[{"key":"website","url":"https://www.blender.org"}],"projects":[],"games":[{"title":"Solo Oasis : Unlimited Places","url":"https://soup.sol.vin","description":"A surreal, minimalist walking simulator collaboration consisting of fever-dream rooms, inspired by SOUP and LSD: Dream Emulator.","subdomain":"soup","engine":"Godot 4.3"}],"achievements":[{"title":"SOUPJAM 2026","category":"Game Jams","date":"2026","issuer":"Itch.io Jam","description":"A collaborative 72-hour game jam focused on creating interconnected surreal rooms and walking experiences inspired by SOUP and LSD: Dream Emulator.","link":"https://itch.io/jam/soupjam2026"}],"posts":[]},"c":{"name":"C","slug":"c","category":"Languages","years":"12 years","date_started":"2012-01-01","description":"Low-level system programming language for high-performance applications, memory management, and low-level system software.","long_description_html":"<p>C is a fundamental system programming language offering direct hardware access and precise control over memory. My work with C spans native library extensions, developing low-level network protocol analyzers, firmware reverse engineering, and analyzing system vulnerabilities.</p>\n","icon":"code.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M360.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448
610c4.9-17-5-34.7-22-39.6zm64.6 136.1c-12.5 12.5-12.5 32.8 0 45.3l73.4 73.4-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0zm-274.7 0c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 150.6 182.6c12.5-12.5 12.5-32.8 0-45.3z\"/></svg>","links":[{"key":"website","url":"https://en.wikipedia.org/wiki/C_(programming_language)"}],"projects":[{"title":"Rubellite","url":"./projects/libraries/rubellite.html","description":"Next-generation bidirectional Crystal <-> Ruby interop, Spinel AOT compiler, CSP concurrency channels, and radare2 diagnostics.","section":"libraries"},{"title":"raylib-cr","url":"./projects/libraries/raylib_cr.html","description":"Crystal language bindings for the raylib game development library.","section":"libraries"},{"title":"libsunvox","url":"./projects/libraries/libsunvox.html","description":"C-bindings for the SunVox audio library modular synthesizer engine, written in Crystal.","section":"libraries"},{"title":"vstarcam-investigational-journey","url":"./projects/programs/vstarcam_investigational_journey.html","description":"Research tools, exploits, and PoCs from the VStarCam investigational journey.","section":"programs"}],"games":[],"achievements":[{"title":"CVE-2019-11878 - Xiongmai Size Integer Overflow","category":"CVEs","date":"2019","issuer":"MITRE","description":"Discovered and disclosed a remote size integer overflow vulnerability leading to buffer overflow and remote execution risks in Xiongmai IP camera devices.","link":"https://www.cve.org/CVERecord?id=CVE-2019-11878"}],"posts":[{"title":"Network Protocol Analysis","url":"./vstarcam_journey/1.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":1,"date":"2019-09-03"},{"title":"Password Hashes & Exploitation","url":"./vstarcam_journey/2.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":2,"date":"2019-09-03"},{"title":"Memory Leaks and De-serialization","url":"./vstarcam_journey/5.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":5,"date":"2019-09-03"},{"title":"Reversing authentication","url":"./vstarcam_journey/6.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":6,"date":"2019-09-03"},{"title":"Installation & Testing","url":"./vstarcam_journey/8.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":8,"date":"2019-09-03"},{"title":"Software Overview and Audit","url":"./xiongmai_journey/2.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":2,"date":"2019-09-04"},{"title":"Hashing","url":"./xiongmai_journey/3.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":3,"date":"2019-09-04"},{"title":"Brute Force","url":"./xiongmai_journey/7.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":7,"date":"2019-09-04"}]},"cd":{"name":"CD","slug":"cd","category":"DevOps & Infrastructure","years":"8 years","date_started":"2016-01-01","description":"Continuous Delivery and Continuous Deployment pipelines for automated application releases.","long_description_html":"<p>Continuous Delivery automates artifact building, release packaging, and automated deployment pipelines across cloud platforms, Steam, Itch.io, and GitHub Releases.</p>\n","icon":"code-branch.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M80 104a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm80-24c0 32.8-19.7 61-48 73.3l0 70.7 176 0c26.5 0 48-21.5 48-48l0-22.7c-28.3-12.3-48-40.5-48-73.3 0-44.2 35.8-80 80-80s80 35.8 80 80c0 32.8-19.7 61-48 73.3l0 22.7c0 61.9-50.1 112-112 112l-176 0 0 70.7c28.3 12.3 48 40.5 48 73.3 0 44.2-35.8 80-80 80S0 476.2 0 432c0-32.8 19.7-61 48-73.3l0-205.3C19.7 141 0 112.8 0 80 0 35.8 35.8 0 80 0s80 35.8 80 80zm232 0a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM80 456a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Continuous_delivery"}],"projects":[{"title":"Carbon","url":"./projects/programs/carbon.html","description":"Automated commit-based version control, human-friendly YAML changelogs, README badge engine, and Git release automation for Crystal shards.","section":"programs"}],"games":[],"achievements":[],"posts":[]},"chiptune_audio":{"name":"Chiptune Audio","slug":"chiptune_audio","category":"Audio & Music","years":"5 years","date_started":"2019-01-01","description":"Synthesized retro 8-bit / 16-bit music and sound effect design for games and standalone audio tools.","long_description_html":"<p>Chiptune audio design leverages limited-channel synthesized sound generators (square waves, noise, FM synthesis) to craft nostalgic retro audio tracks and sound effects.</p>\n","icon":"music.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M468 7c7.6 6.1 12 15.3 12 25l0 304c0 44.2-43 80-96 80s-96-35.8-96-80 43-80 96-80c11.2 0 22 1.6 32 4.6l0-116.7-224 49.8 0 206.3c0 44.2-43 80-96 80s-96-35.8-96-80 43-80 96-80c11.2 0 22 1.6 32 4.6L128 96c0-15 10.4-28 25.1-31.2l288-64c9.5-2.1 19.4 .2 27 6.3z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Chiptune"}],"projects":[{"title":"solvox","url":"./projects/programs/solvox.html","description":"An esoteric, Wireland-inspired modular synth and tracker built off the SunVox developer library.","section":"programs"}],"games":[],"achievements":[],"posts":[]}
610,"ci":{"name":"CI","slug":"ci","category":"DevOps & Infrastructure","years":"8 years","date_started":"2016-01-01","description":"Continuous Integration practices for automated build, test, and code quality verification.","long_description_html":"<p>Continuous Integration automates code building and automated testing on every code push, catching defects early and keeping repository main branches release-ready.</p>\n","icon":"code-branch.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M80 104a24 24 0 1 0 0-48 24 24 0 1 0 0 48zm80-24c0 32.8-19.7 61-48 73.3l0 70.7 176 0c26.5 0 48-21.5 48-48l0-22.7c-28.3-12.3-48-40.5-48-73.3 0-44.2 35.8-80 80-80s80 35.8 80 80c0 32.8-19.7 61-48 73.3l0 22.7c0 61.9-50.1 112-112 112l-176 0 0 70.7c28.3 12.3 48 40.5 48 73.3 0 44.2-35.8 80-80 80S0 476.2 0 432c0-32.8 19.7-61 48-73.3l0-205.3C19.7 141 0 112.8 0 80 0 35.8 35.8 0 80 0s80 35.8 80 80zm232 0a24 24 0 1 0 -48 0 24 24 0 1 0 48 0zM80 456a24 24 0 1 0 0-48 24 24 0 1 0 0 48z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Continuous_integration"}],"projects":[{"title":"Carbon","url":"./projects/programs/carbon.html","description":"Automated commit-based version control, human-friendly YAML changelogs, README badge engine, and Git release automation for Crystal shards.","section":"programs"}],"games":[],"achievements":[],"posts":[]},"cpp":{"name":"C++","slug":"cpp","category":"Languages","years":"12 years","date_started":"2012-01-01","description":"High-performance object-oriented and generic system programming language.","long_description_html":"<p>C++ provides low-level control combined with high-level abstractions. My experience includes high-performance software development, game engine architecture, native library bindings, and reverse engineering.</p>\n","icon":"code.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M360.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448c4.9-17-5-34.7-22-39.6zm64.6 136.1c-12.5 12.5-12.5 32.8 0 45.3l73.4 73.4-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0zm-274.7 0c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 150.6 182.6c12.5-12.5 12.5-32.8 0-45.3z\"/></svg>","links":[{"key":"website","url":"https://isocpp.org"}],"projects":[{"title":"Lapis","url":"./projects/libraries/lapis.html","description":"Modern, idiomatic Godot Engine 4.8+ bindings for Crystal via GDExtension C-API.","section":"libraries"}],"games":[],"achievements":[],"posts":[]},"crocotile_3d":{"name":"Crocotile 3D","slug":"crocotile_3d","category":"Design & Art","years":"3 years","date_started":"2021-01-01","description":"3D tile-based modeling tool for creating retro low-poly environments and assets.","long_description_html":"<p>Crocotile 3D is a specialized tool that creates 3D models using 2D tilemaps, perfect for low-poly retro aesthetic game environments and level geometry.</p>\n","icon":"cube.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M224.3-2.5c19.8-11.4 44.2-11.4 64 0L464.2 99c19.8 11.4 32 32.6 32 55.4l0 203c0 22.9-12.2 44-32 55.4L288.3 514.5c-19.8 11.4-44.2 11.4-64 0L48.5 413c-19.8-11.4-32-32.6-32-55.4l0-203c0-22.9 12.2-44 32-55.4L224.3-2.5zm207.8 360l0-166.1-143.8 83 0 166.1 143.8-83z\"/></svg>","links":[{"key":"website","url":"https://crocotile3d.com"}],"projects":[{"title":"Low Poly Items and Room Environment","url":"./projects/assets/models/low_poly_room_environment.html","description":"A low-poly collection of 3D models and room environment assets covered under CC-BY 4.0.","section":"assets"}],"games":[],"achievements":[],"posts":[]},"crystal":{"name":"Crystal","slug":"crystal","category":"Languages","years":"8 years","date_started":"2016-01-01","description":"A fast, compiled, statically typed language with Ruby-inspired syntax.","long_description_html":"<p>Crystal is a compiled, statically type-checked language featuring syntax inspired by Ruby. It provides C-like performance with zero-cost abstractions, macro metaprogramming, and built-in concurrency primitives. I have used Crystal extensively to build high-performance command-line utilities, web application generators, and custom game framework bindings.</p>\n","icon":"crystal.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 128 128\"><path fill=\"currentColor\" d=\"M126.887 81.203L80.895 126.86c-.184.184-.461.274-.645.184l-62.828-16.742c-.277-.094-.461-.278-.461-.461L.035 47.437c-.09-.273 0-.457.184-.64L46.215 1.14c.183-.184.46-.274.644-.184l62.825 16.742c.277.094.46.278.46.461l16.836 62.403c.184.273.09.457-.093.64zM65.254 31.516L3.53 47.895c-.094 0-.183.183-.094.277l45.168 44.832c.09.094.278.094.278-.09L65.437 31.61c.094 0-.09-.183-.183-.093zm0 0\" fill-rule=\"evenodd\"/></svg>","links":[{"key":"website","url":"https://crystal-lang.org"},{"key":"github","url":"crystal-lang/crystal"}],"projects":[{"title":"Citrine","url":"./projects/programs/citrine.html","description":"PlayStation 2 virtual machine, game engine, and CLI development toolchain written in Crystal.","section":"programs"},{"title":"Fluorite","url":"./projects/libraries/fluorite.html","description":"Modern FFMPEG bindings, fluent Crystal DSL, streaming process wrapper, smart presets, and interactive Opal TUI.","section":"libraries"},{"title":"Carbon","url":"./projects/programs/carbon.html","description":"Automated commit-based version control, human-friendly YAML changelogs, README badge engine, and Git release automation for Crystal shards.","section":"programs"},{"title":"Jasper","url":"./projects/libraries/jasper.html","description":"Modular structured guide, book, and documentation compiler for Crystal docs.","section":"libraries"},{"title":"Diorite","url":"./projects/libraries/diorite.html","description":"High-priority 2D and 3D debug drawing plugin and zero-allocation frame DSL for Godot Engine 4.8+ via L
610apis.","section":"libraries"},{"title":"cradare2","url":"./projects/libraries/cradare2.html","description":"High-performance radare2 pipe and binary analysis toolkit for Crystal with interactive debugging, source line mapping, and crash diagnosis.","section":"libraries"},{"title":"Opal","url":"./projects/libraries/opal.html","description":"Next-generation terminal user interface (TUI) framework and Elm Architecture engine for Crystal.","section":"libraries"},{"title":"Rubellite","url":"./projects/libraries/rubellite.html","description":"Next-generation bidirectional Crystal <-> Ruby interop, Spinel AOT compiler, CSP concurrency channels, and radare2 diagnostics.","section":"libraries"},{"title":"CRShader","url":"./projects/libraries/crshader.html","description":"Ultrafast shader trans-compiler and live runtime development toolchain for Godot Engine 4.8+ via Crystal and Lapis.","section":"libraries"},{"title":"Lapis","url":"./projects/libraries/lapis.html","description":"Modern, idiomatic Godot Engine 4.8+ bindings for Crystal via GDExtension C-API.","section":"libraries"},{"title":"crixel","url":"./projects/libraries/crixel.html","description":"A Flixel-inspired 2D game engine framework written in Crystal.","section":"libraries"},{"title":"raylib-cr","url":"./projects/libraries/raylib_cr.html","description":"Crystal language bindings for the raylib game development library.","section":"libraries"},{"title":"solvox","url":"./projects/programs/solvox.html","description":"An esoteric, Wireland-inspired modular synth and tracker built off the SunVox developer library.","section":"programs"},{"title":"libsunvox","url":"./projects/libraries/libsunvox.html","description":"C-bindings for the SunVox audio library modular synthesizer engine, written in Crystal.","section":"libraries"},{"title":"wireland","url":"./projects/programs/wireland.html","description":"An esoteric circuit simulator written in Crystal.","section":"programs"},{"title":"crowbar","url":"./projects/libraries/crowbar.html","description":"An all-purpose fuzzer built in Crystal to generate bad data cases from sample input.","section":"libraries"},{"title":"celestine","url":"./projects/libraries/celestine.html","description":"An SVG library and DSL written in Crystal for creating generative art, animations, and graphics.","section":"libraries"},{"title":"pixel_lang_crystal","url":"./projects/programs/pixel_lang_crystal.html","description":"An esoteric programming language entirely in pixels, implemented in Crystal.","section":"programs"},{"title":"xet","url":"./projects/programs/xet.html","description":"Xiongmai Exploitation Toolkit for interacting with and analyzing Xiongmai-based camera systems.","section":"programs"},{"title":"xiongmai-investigational-journey","url":"./projects/programs/xiongmai_investigational_journey.html","description":"Investigation script toolkit, hashes database, and fuzzers for Xiongmai cameras.","section":"programs"}],"games":[{"title":"Mineshift","url":"https://mineshift.sol.vin","description":"[PROCJAM 2021] Scroll through an infinite generative chasm. Interactive procedural art made with Crystal and Raylib.","subdomain":"mineshift","engine":"Crystal & Raylib"}],"achievements":[{"title":"PROCJAM 2021","category":"Game Jams","date":"2021","issuer":"Itch.io Jam","description":"A annual celebration of making things that make things! PROCJAM encourages procedural art, generative algorithms, and endless world building.","link":"https://itch.io/jam/procjam2021"},{"title":"Artistic Crystal (Crystal 1.0 Conference 2021)","category":"Talks","date":"2021","issuer":"Crystal 1.0 Conference","description":"Conference talk exploring how to leverage Crystal's macro system, raw execution speed, and C bindings for creative coding, generative art, and graphical applications.","link":"https://www.youtube.com/watch?v=8jJtgMwZzf0"},{"title":"Generative Art, SVG, and Celestine (Raw Crystal 2020)","category":"Talks","date":"2020","issuer":"Raw Crystal 2020","description":"Presentation detailing vector mathematics, procedural graphics generation in SVG format, and architectural decisions behind the Celestine library in Crystal.","link":"https://www.youtube.com/watch?v=X150LMZy7uY"},{"title":"Crystal Code Camp 2017","category":"Certificates","date":"2017","issuer":"Crystal Core Team","description":"Certificate of achievement for participation, open-source development, and collaborative code contributions during Crystal Code Camp 2017.","link":"https://crystal-lang.org/"}],"posts":[{"title":"Intro","url":"./pixellang/0.html","chain_title":"PixelLang Esoteric Language","category":"pixellang","index":0,"date":"2019-09-05"},{"title":"More Instructions","url":"./pixellang/1.html","chain_title":"PixelLang Esoteric Language","category":"pixellang","index":1,"date":"2019-09-06"},{"title":"Showcase","url":"./pixellang/2.html","chain_title":"PixelLang Esoteric Language","category":"pixellang","index":2,"date":"2019-09-07"},{"title":"Password Hashes & Exploitation","url":"./vstarcam_journey/2.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":2,"date":"2019-09-03"},{"title":"Writing a Client","url":"./vstarcam_journey/4.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":4,"date":"2019-09-03"}]},"css":{"name":"CSS","slug":"css","category":"Languages","years":"14 years","date_started":"2010-01-01","description":"Cascading Style Sheets for visual presentation, layouts, and responsive design.","long_description_html":"<p>Modern CSS3 including Flexbox, CSS Grid, custom properties, animation, and responsive media queries to craft clean retro/terminal aesthetic UI design.</p>\n","icon":"css3.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M480 32l-64 368-223.3 80-192.7-80 19.6-94.8 82 0-8 40.6 116.4 44.4 134.1-44.4 18.8-97.1-333.4 0 16-82 333.7 0 10.5-52.7-333.4 0 16.3-82 407.4 0z\"/></svg>","links":[{"key":"website","url":"https://developer.mozilla.org/en-US/docs/Web/CSS"}],"projects":[],"games":[],"achievements":[],"posts":[]},"dns":{"name":"DNS","slug":"dns","category":"Networking & Security","years":"8 years","date_started":"2016-01-01","description":"Domain Name System protocol for hostname resolution, zone management, and network infrastru
610cture security.","long_description_html":"<p>Domain Name System (DNS) is a core Internet protocol. Work includes configuring DNSSEC, managing zone records, implementing custom DNS sinkholes/tunneling research, and auditing DNS resolution behavior in embedded hardware.</p>\n","icon":"globe.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M351.9 280l-190.9 0c2.9 64.5 17.2 123.9 37.5 167.4 11.4 24.5 23.7 41.8 35.1 52.4 11.2 10.5 18.9 12.2 22.9 12.2s11.7-1.7 22.9-12.2c11.4-10.6 23.7-28 35.1-52.4 20.3-43.5 34.6-102.9 37.5-167.4zM160.9 232l190.9 0C349 167.5 334.7 108.1 314.4 64.6 303 40.2 290.7 22.8 279.3 12.2 268.1 1.7 260.4 0 256.4 0s-11.7 1.7-22.9 12.2c-11.4 10.6-23.7 28-35.1 52.4-20.3 43.5-34.6 102.9-37.5 167.4zm-48 0C116.4 146.4 138.5 66.9 170.8 14.7 78.7 47.3 10.9 131.2 1.5 232l111.4 0zM1.5 280c9.4 100.8 77.2 184.7 169.3 217.3-32.3-52.2-54.4-131.7-57.9-217.3L1.5 280zm398.4 0c-3.5 85.6-25.6 165.1-57.9 217.3 92.1-32.7 159.9-116.5 169.3-217.3l-111.4 0zm111.4-48C501.9 131.2 434.1 47.3 342 14.7 374.3 66.9 396.4 146.4 399.9 232l111.4 0z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Domain_Name_System"}],"projects":[],"games":[],"achievements":[],"posts":[]},"docker":{"name":"Docker","slug":"docker","category":"Tools & Infrastructure","years":"6 years","date_started":"2018-01-01","description":"Application containerization, Dockerfile optimization, and isolated development environments.","long_description_html":"<p>Docker containerization enables portable runtime environments across development and production servers. I construct lightweight multi-stage Dockerfiles, Docker Compose orchestrations, and containerized build toolchains for consistent software execution.</p>\n","icon":"docker.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M349.9 236.3l-66.1 0 0-59.4 66.1 0 0 59.4zm0-204.3l-66.1 0 0 60.7 66.1 0 0-60.7zm78.2 144.8l-66.1 0 0 59.4 66.1 0 0-59.4zM271.8 104.7l-66.1 0 0 60.1 66.1 0 0-60.1zm78.1 0l-66.1 0 0 60.1 66.1 0 0-60.1zm276.8 100c-14.4-9.7-47.6-13.2-73.1-8.4-3.3-24-16.7-44.9-41.1-63.7l-14-9.3-9.3 14c-18.4 27.8-23.4 73.6-3.7 103.8-8.7 4.7-25.8 11.1-48.4 10.7l-434.7 0c-8.7 50.8 5.8 116.8 44 162.1 37.1 43.9 92.7 66.2 165.4 66.2 157.4 0 273.9-72.5 328.4-204.2 21.4 .4 67.6 .1 91.3-45.2 1.5-2.5 6.6-13.2 8.5-17.1l-13.3-8.9zM115.6 176.8l-66 0 0 59.4 66.1 0 0-59.4-.1 0zm78.1 0l-66.1 0 0 59.4 66.1 0 0-59.4zm78.1 0l-66.1 0 0 59.4 66.1 0 0-59.4zm-78.1-72.1l-66.1 0 0 60.1 66.1 0 0-60.1z\"/></svg>","links":[{"key":"website","url":"https://www.docker.com"}],"projects":[],"games":[],"achievements":[],"posts":[]},"esoteric_programming":{"name":"Esoteric Programming","slug":"esoteric_programming","category":"Languages","years":"3 years","date_started":"2021-01-01","description":"Designing non-traditional programming languages to test boundaries of language design and visual computing.","long_description_html":"<p>Esoteric programming languages (esolangs) explore unconventional paradigms. Created PixelLang—a language where executable code is encoded directly as 2D RGB pixel images.</p>\n","icon":"brain.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M120 56c0-30.9 25.1-56 56-56l24 0c17.7 0 32 14.3 32 32l0 448c0 17.7-14.3 32-32 32l-32 0c-29.8 0-54.9-20.4-62-48-.7 0-1.3 0-2 0-44.2 0-80-35.8-80-80 0-18 6-34.6 16-48-19.4-14.6-32-37.8-32-64 0-30.9 17.6-57.8 43.2-71.1-7.1-12-11.2-26-11.2-40.9 0-44.2 35.8-80 80-80l0-24zm272 0l0 24c44.2 0 80 35.8 80 80 0 15-4.1 29-11.2 40.9 25.7 13.3 43.2 40.1 43.2 71.1 0 26.2-12.6 49.4-32 64 10 13.4 16 30 16 48 0 44.2-35.8 80-80 80-.7 0-1.3 0-2 0-7.1 27.6-32.2 48-62 48l-32 0c-17.7 0-32-14.3-32-32l0-448c0-17.7 14.3-32 32-32l24 0c30.9 0 56 25.1 56 56z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Esoteric_programming_language"}],"projects":[{"title":"wireland","url":"./projects/programs/wireland.html","description":"An esoteric circuit simulator written in Crystal.","section":"programs"},{"title":"pixel_lang_crystal","url":"./projects/programs/pixel_lang_crystal.html","description":"An esoteric programming language entirely in pixels, implemented in Crystal.","section":"programs"}],"games":[],"achievements":[],"posts":[{"title":"Intro","url":"./pixellang/0.html","chain_title":"PixelLang Esoteric Language","category":"pixellang","index":0,"date":"2019-09-05"},{"title":"More Instructions","url":"./pixellang/1.html","chain_title":"PixelLang Esoteric Language","category":"pixellang","index":1,"date":"2019-09-06"},{"title":"Showcase","url":"./pixellang/2.html","chain_title":"PixelLang Esoteric Language","category":"pixellang","index":2,"date":"2019-09-07"}]},"exploit_poc":{"name":"Exploit PoC Development","slug":"exploit_poc","category":"Systems & Security","years":"8 years","date_started":"2016-01-01","description":"Authoring reproducible proof-of-concept exploits to validate security vulnerabilities and verify vendor remediation.","long_description_html":"<p>Developing reliable proof-of-concept exploits to demonstrate security vulnerabilities under controlled conditions. Responsible for researching zero-day security flaws, authoring ethical exploit PoCs for responsible disclosure to vendors and MITRE (resulting in published CVE disclosures).</p>\n","icon":"bug.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M192 96c0-53 43-96 96-96s96 43 96 96l0 3.6c0 15.7-12.7 28.4-28.4 28.4l-135.1 0c-1
6105.7 0-28.4-12.7-28.4-28.4l0-3.6zm345.6 12.8c10.6 14.1 7.7 34.2-6.4 44.8l-97.8 73.3c5.3 8.9 9.3 18.7 11.8 29.1l98.8 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-96 0 0 32c0 2.6-.1 5.3-.2 7.9l83.4 62.5c14.1 10.6 17 30.7 6.4 44.8s-30.7 17-44.8 6.4l-63.1-47.3c-23.2 44.2-66.5 76.2-117.7 83.9L312 280c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 230.2c-51.2-7.7-94.5-39.7-117.7-83.9L83.2 473.6c-14.1 10.6-34.2 7.7-44.8-6.4s-7.7-34.2 6.4-44.8l83.4-62.5c-.1-2.6-.2-5.2-.2-7.9l0-32-96 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l98.8 0c2.5-10.4 6.5-20.2 11.8-29.1L44.8 153.6c-14.1-10.6-17-30.7-6.4-44.8s30.7-17 44.8-6.4L192 184c12.3-5.1 25.8-8 40-8l112 0c14.2 0 27.7 2.8 40 8l108.8-81.6c14.1-10.6 34.2-7.7 44.8 6.4z\"/></svg>","links":[{"key":"cve","url":"https://cve.mitre.org"}],"projects":[{"title":"xet","url":"./projects/programs/xet.html","description":"Xiongmai Exploitation Toolkit for interacting with and analyzing Xiongmai-based camera systems.","section":"programs"},{"title":"xiongmai-investigational-journey","url":"./projects/programs/xiongmai_investigational_journey.html","description":"Investigation script toolkit, hashes database, and fuzzers for Xiongmai cameras.","section":"programs"},{"title":"vstarcam-investigational-journey","url":"./projects/programs/vstarcam_investigational_journey.html","description":"Research tools, exploits, and PoCs from the VStarCam investigational journey.","section":"programs"}],"games":[],"achievements":[{"title":"CVE-2019-11878 - Xiongmai Size Integer Overflow","category":"CVEs","date":"2019","issuer":"MITRE","description":"Discovered and disclosed a remote size integer overflow vulnerability leading to buffer overflow and remote execution risks in Xiongmai IP camera devices.","link":"https://www.cve.org/CVERecord?id=CVE-2019-11878"},{"title":"CVE-2019-11014 - VStarCam Client Hijacking","category":"CVEs","date":"2019","issuer":"MITRE","description":"Discovered and disclosed a Man-In-The-Middle (MITM) client hijacking vulnerability in VStarCam IP camera firmware, tied to botnet infrastructure research.","link":"https://www.cve.org/CVERecord?id=CVE-2019-11014"}],"posts":[{"title":"Password Hashes & Exploitation","url":"./vstarcam_journey/2.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":2,"date":"2019-09-03"},{"title":"Reversing authentication","url":"./vstarcam_journey/6.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":6,"date":"2019-09-03"},{"title":"Installation & Testing","url":"./vstarcam_journey/8.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":8,"date":"2019-09-03"},{"title":"Post Mortem & Fixes","url":"./vstarcam_journey/9.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":9,"date":"2019-09-03"},{"title":"Fuzzing With Radamsa","url":"./xiongmai_journey/6.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":6,"date":"2019-09-04"},{"title":"Denial of Service","url":"./xiongmai_journey/8.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":8,"date":"2019-09-04"}]},"exploitation":{"name":"Exploitation","slug":"exploitation","category":"Security","years":"6 years","date_started":"2018-01-01","description":"Developing proof-of-concept exploits to validate security vulnerabilities in binaries, network daemons, and web apps.","long_description_html":"<p>Vulnerability exploitation involves writing reliable PoC exploit code (buffer overflows, RCEs, authentication bypasses) to demonstrate security risks and verify patch effectiveness.</p>\n","icon":"user-secret.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M171-16c-36.4 0-57.8 58.3-68.3 112L72 96c-13.3 0-24 10.7-24 24s10.7 24 24 24l24 0 0 32c0 17 3.3 33.2 9.3 48l-9.3 0 0 0-20.5 0c-15.2 0-27.5 12.3-27.5 27.5 0 3 .5 5.9 1.4 8.7l28.9 86.6C40.2 379.6 16 428.1 16 482.3 16 498.7 29.3 512 45.7 512l356.6 0c16.4 0 29.7-13.3 29.7-29.7 0-54.2-24.2-102.7-62.3-135.4l28.9-86.6c.9-2.8 1.4-5.7 1.4-8.7 0-15.2-12.3-27.5-27.5-27.5l-20.5 0 0 0-9.3 0c6-14.8 9.3-31 9.3-48l0-32 24 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-30.7 0c-10.4-53.7-31.9-112-68.3-112-9.6 0-19 3.9-27.5 8.2-8.2 4.1-18.4 7.8-25.5 7.8s-17.3-3.7-25.5-7.8C190-12.1 180.6-16 171-16zm93.7 484.4l-24.8-70.9 27.9-32.5c2.7-3.2 4.2-7.2 4.2-11.4 0-9.7-7.8-17.5-17.5-17.5l-61 0c-9.7 0-17.5 7.8-17.5 17.5 0 4.2 1.5 8.2 4.2 11.4l27.9 32.5-24.8 70.9-57-180.4 35.7 0c18.4 10.2 39.5 16 62 16s43.6-5.8 62-16l35.7 0-57 180.4zM224 256c-34.7 0-64.2-22.1-75.3-53 5.7 3.2 12.3 5 19.3 5l12.4 0c16.5 0 31.1-10.6 36.3-26.2 2.3-7 12.2-7 14.5 0 5.2 15.6 19.9 26.2 36.3 26.2l12.4 0c7 0 13.6-1.8 19.3-5-11.1 30.9-40.6 53-75.3 53z\"/></svg>","links":[{"key":"exploit_db","url":"https://www.exploit-db.com"}],"projects":[{"title":"xet","url":"./projects/programs/xet.html","description":"Xiongmai Exploitation Toolkit for interacting with and analyzing Xiongmai-based camera systems.","section":"programs"},{"title":"vstarcam-investigational-journey","url":"./projects/programs/vstarcam_investigational_journey.html","description":"Research tools, exploits, and PoCs from the VStarCam investigational journey.","section":"programs"}],"games":[],"achievements":[{"title":"CVE-2019-11878 - Xiongmai Size Integer Overflow","category":"CVEs","date":"2019","issuer":"MITRE","description":"Discovered and disclosed a remote size integer overflow vulnerability leading to buffer overflow and remote execution risks in Xiongmai IP camera devices.","link":"https://www.cve.org/CVERecord?id=CVE-2019-11878"},{"title":"CVE-2019-11014 - VStarCam Client Hijacking","category":"CVEs","date":"2019","issuer":"MITRE","description":"Discovered and disclosed a Man-In-The-Middle (MITM) client hijacking vulnerability in VStarCam IP camera firmware, tied to botnet infrastru
610cture research.","link":"https://www.cve.org/CVERecord?id=CVE-2019-11014"}],"posts":[{"title":"Reversing authentication","url":"./vstarcam_journey/6.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":6,"date":"2019-09-03"},{"title":"Installation & Testing","url":"./vstarcam_journey/8.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":8,"date":"2019-09-03"},{"title":"Software Overview and Audit","url":"./xiongmai_journey/2.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":2,"date":"2019-09-04"},{"title":"Brute Force","url":"./xiongmai_journey/7.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":7,"date":"2019-09-04"}]},"ffmpeg":{"name":"FFmpeg","slug":"ffmpeg","category":"Tools & Frameworks","years":"6 years","date_started":"2018-01-01","description":"Cross-platform audio/video transcoding, media stream processing, filter graphs, and container multiplexing.","long_description_html":"<p>Comprehensive media processing using FFmpeg and libav libraries. Building automated video transcode pipelines, audio track extraction, filter graph transformations, Discord upload size budgeting, and palette-optimized GIF generation.</p>\n","icon":"film.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M0 96C0 60.7 28.7 32 64 32l320 0c35.3 0 64 28.7 64 64l0 320c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 96zM48 368l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm304-16c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0zM48 240l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0c-8.8 0-16 7.2-16 16zm304-16c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0zM48 112l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16L64 96c-8.8 0-16 7.2-16 16zM352 96c-8.8 0-16 7.2-16 16l0 32c0 8.8 7.2 16 16 16l32 0c8.8 0 16-7.2 16-16l0-32c0-8.8-7.2-16-16-16l-32 0z\"/></svg>","links":[{"key":"website","url":"https://ffmpeg.org"}],"projects":[{"title":"Fluorite","url":"./projects/libraries/fluorite.html","description":"Modern FFMPEG bindings, fluent Crystal DSL, streaming process wrapper, smart presets, and interactive Opal TUI.","section":"libraries"}],"games":[],"achievements":[],"posts":[]},"fuzzing":{"name":"Fuzzing","slug":"fuzzing","category":"Security","years":"5 years","date_started":"2019-01-01","description":"Automated software testing technique providing invalid or unexpected inputs to reveal crashes and memory flaws.","long_description_html":"<p>Fuzz testing automates the generation of malformed data inputs sent to network daemons, file parsers, and APIs to uncover memory corruption bugs and unexpected edge cases.</p>\n","icon":"bug.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M192 96c0-53 43-96 96-96s96 43 96 96l0 3.6c0 15.7-12.7 28.4-28.4 28.4l-135.1 0c-15.7 0-28.4-12.7-28.4-28.4l0-3.6zm345.6 12.8c10.6 14.1 7.7 34.2-6.4 44.8l-97.8 73.3c5.3 8.9 9.3 18.7 11.8 29.1l98.8 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-96 0 0 32c0 2.6-.1 5.3-.2 7.9l83.4 62.5c14.1 10.6 17 30.7 6.4 44.8s-30.7 17-44.8 6.4l-63.1-47.3c-23.2 44.2-66.5 76.2-117.7 83.9L312 280c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 230.2c-51.2-7.7-94.5-39.7-117.7-83.9L83.2 473.6c-14.1 10.6-34.2 7.7-44.8-6.4s-7.7-34.2 6.4-44.8l83.4-62.5c-.1-2.6-.2-5.2-.2-7.9l0-32-96 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l98.8 0c2.5-10.4 6.5-20.2 11.8-29.1L44.8 153.6c-14.1-10.6-17-30.7-6.4-44.8s30.7-17 44.8-6.4L192 184c12.3-5.1 25.8-8 40-8l112 0c14.2 0 27.7 2.8 40 8l108.8-81.6c14.1-10.6 34.2-7.7 44.8 6.4z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Fuzzing"}],"projects":[{"title":"crowbar","url":"./projects/libraries/crowbar.html","description":"An all-purpose fuzzer built in Crystal to generate bad data cases from sample input.","section":"libraries"},{"title":"xet","url":"./projects/programs/xet.html","description":"Xiongmai Exploitation Toolkit for interacting with and analyzing Xiongmai-based camera systems.","section":"programs"},{"title":"xiongmai-investigational-journey","url":"./projects/programs/xiongmai_investigational_journey.html","description":"Investigation script toolkit, hashes database, and fuzzers for Xiongmai cameras.","section":"programs"}],"games":[],"achievements":[{"title":"CVE-2019-11878 - Xiongmai Size Integer Overflow","category":"CVEs","date":"2019","issuer":"MITRE","description":"Discovered and disclosed a remote size integer overflow vulnerability leading to buffer overflow and remote execution risks in Xiongmai IP camera devices.","link":"https://www.cve.org/CVERecord?id=CVE-2019-11878"},{"title":"CVE-2019-11014 - VStarCam Client Hijacking","category":"CVEs","date":"2019","issuer":"MITRE","description":"Discovered and disclosed a Man-In-The-Middle (MITM) client hijacking vulnerability in VStarCam IP camera firmware, tied to botnet infrastru
610cture research.","link":"https://www.cve.org/CVERecord?id=CVE-2019-11014"}],"posts":[{"title":"Basic Fuzzing","url":"./xiongmai_journey/4.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":4,"date":"2019-09-04"},{"title":"Advanced Fuzzing","url":"./xiongmai_journey/5.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":5,"date":"2019-09-04"},{"title":"Fuzzing With Radamsa","url":"./xiongmai_journey/6.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":6,"date":"2019-09-04"},{"title":"Denial of Service","url":"./xiongmai_journey/8.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":8,"date":"2019-09-04"}]},"game_engine_dev":{"name":"Game Engine Development","slug":"game_engine_dev","category":"Game Development","years":"4 years","date_started":"2020-01-01","description":"Building lightweight game engines, rendering loops, input handling, and entity systems from scratch.","long_description_html":"<p>Game engine development involves architecting core game loops, scene graphs, tilemap renderers, and input abstractions in native languages like Crystal and C++.</p>\n","icon":"gamepad.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M448 64c106 0 192 86 192 192S554 448 448 448l-256 0C86 448 0 362 0 256S86 64 192 64l256 0zM192 176c-13.3 0-24 10.7-24 24l0 32-32 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l32 0 0 32c0 13.3 10.7 24 24 24s24-10.7 24-24l0-32 32 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-32 0 0-32c0-13.3-10.7-24-24-24zm240 96a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm64-96a32 32 0 1 0 0 64 32 32 0 1 0 0-64z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Game_engine"}],"projects":[{"title":"Citrine","url":"./projects/programs/citrine.html","description":"PlayStation 2 virtual machine, game engine, and CLI development toolchain written in Crystal.","section":"programs"},{"title":"Diorite","url":"./projects/libraries/diorite.html","description":"High-priority 2D and 3D debug drawing plugin and zero-allocation frame DSL for Godot Engine 4.8+ via Lapis.","section":"libraries"},{"title":"CRShader","url":"./projects/libraries/crshader.html","description":"Ultrafast shader trans-compiler and live runtime development toolchain for Godot Engine 4.8+ via Crystal and Lapis.","section":"libraries"},{"title":"crixel","url":"./projects/libraries/crixel.html","description":"A Flixel-inspired 2D game engine framework written in Crystal.","section":"libraries"}],"games":[],"achievements":[],"posts":[{"title":"Expanding Exhibits, Threaded Loading & World Architecture","url":"./liminalita_devlog/1.html","chain_title":"Liminalita Devlog","category":"liminalita_devlog","index":1,"date":"2025-06-06"},{"title":"Room Progress Snapshot","url":"./soup_devlog/0.html","chain_title":"Solo Oasis Devlog","category":"soup_devlog","index":0,"date":"2026-04-30"},{"title":"Android & Mobile Web Support","url":"./soup_devlog/1.html","chain_title":"Solo Oasis Devlog","category":"soup_devlog","index":1,"date":"2026-05-20"},{"title":"ALL DONE","url":"./soup_devlog/2.html","chain_title":"Solo Oasis Devlog","category":"soup_devlog","index":2,"date":"2026-07-03"}]},"gdshader":{"name":"GDShader","slug":"gdshader","category":"Graphics & Game Dev","years":"4 years","date_started":"2020-01-01","description":"Godot Engine's custom shading language for 2D and 3D visual effects, materials, and post-processing.","long_description_html":"<p>GDShader is Godot Engine&#39;s shading language based on GLSL. Used for writing custom spatial shaders, canvas item shaders, retro outline shaders, pixelation post-processing, and dynamic material effects.</p>\n","icon":"sparkles.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M391.5 53.2c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L448 96 469.2 152.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L512 96 568.5 74.8c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L512 32 490.8-24.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L448 32 391.5 53.2zm-185 20.1c-2.6-5.7-8.3-9.3-14.5-9.3s-11.9 3.6-14.5 9.3l-53.1 115-115 53.1C3.6 244.1 0 249.8 0 256s3.6 11.9 9.3 14.5l115 53.1 53.1 115c2.6 5.7 8.3 9.3 14.5 9.3s11.9-3.6 14.5-9.3l53.1-115 115-53.1c5.7-2.6 9.3-8.3 9.3-14.5s-3.6-11.9-9.3-14.5l-115-53.1-53.1-115zM416 416l-56.5 21.2c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L416 480 437.2 536.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L480 480 536.5 458.8c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L480 416 458.8 359.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L416 416z\"/></svg>","links":[{"key":"website","url":"https://docs.godotengine.org/en/stable/tutorials/shaders/index.html"}],"projects":[{"title":"CRShader","url":"./projects/libraries/crshader.html","description":"Ultrafast shader trans-compiler and live runtime development toolchain for Godot Engine 4.8+ via Crystal and Lapis.","section":"libraries"},{"title":"Low-Poly Precision Outline Shader for Godot 4","url":"./projects/assets/shaders/low_poly_pos.html","description":"A precision surface map pre-computed outline shader for Godot 4 that works on Web, Mobile, and Desktop.","section":"assets"}],"games":[{"title":"BOX WARP","url":"https://box-warp.sol.vin","description":"[TRIJAM 346] A box warping puzzle game made in 3 hours for TRIJAM 346.","subdomain":"box-warp","engine":"Godot 4"},{"title":"Liminalita","url":"https://liminalita.sol.vin","description":"(IN DEVELOPMENT) A 3D first-person procedural art gallery and walking simulator.","subdomain":"liminalita","engine":"Godot 4"}],"achievements":[{"title":"TRIJAM 346","category":"Game Jams","date":"2025","issuer":"Itch.io Jam","description":"A fast-paced 3-hour game jam where developers have a strict 3-hour development window to design and build a complete game around a secret theme.","link":"https://itch.io/jam/trijam-346"}],"posts":[{"title":"Project Origins, Gallery Concepts & Spatial Illusions","url":"./liminalita_devlog/0.html","chain_title":"Liminalita Devlog","category":"liminalita_devlog","index":0,"date":"2025-05-19"},{"title":"Shader Optimization & Visual Refinements","url":"./liminalita_devlog/3.html","chain_title":"Liminalita Devlog","category":"liminalita_devlog","index":3,"date":"2025-08-19"}]},"generative_art":{"name":"Generative Art","slug":"generative_art","category":"Design & Art","years":"5 years","date_started":"2019-01-01","description":"Algorithmic generation of visual artwork, procedural textures, vector SVG patterns, and game graphics.","long_description_html":"<p>Generative art uses mathematical algorithms, noise functions (Perlin/Simplex), and code to automatically generate complex visual textures, procedural levels, and SVG graphic assets.</p>\n","icon":"palette.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M512 256c0 .9 0 1.8 0 2.7-.4 36.5-33.6 61.3-70.1 61.3L344 320c-26.5 0-48 21.5-48 48 0 3.4 .4 6.7 1 9.9 2.1 10.2 6.5 20 10.8 29.9 6.1 13.8 12.1 27.5 12.1 42 0 31.8-21.6 60.7-53.4 62-3.5 .1-7 .2-10.6 .2-141.4 0-256-114.6-256-256S114.6 0 256 0 512 114.6 512 256zM128 288a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm0-96a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM288 96a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zm96 96a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Generative_art"}],"projects":[{"title":"Jasper","url":"./projects/libraries/jasper.html","description":"Modular structured guide, book, and documentation compiler for Crystal docs.","section":"libraries"},{"title":"celestine","url":"./projects/libraries/celestine.html","description":"An SVG library and DSL written in Crystal for creating generative art, animations, and graphics.","section":"libraries"}],"games":[{"title":"Liminalita","url":"https://liminalita.sol.vin","description":"(IN DEVELOPMENT) A 3D first-person procedural art gallery and walking simulator.","subdomain":"liminalita","engine":"Godot 4"},{"title":"Mineshift","url":"https://mineshift.sol.vin","description":"[PROCJAM 2021] Scroll through an infinite generative chasm. Interactive procedural art made with Crystal and Raylib.","subdomain":"mineshift","engine":"Crystal & Raylib"}],"achievements":[{"title":"PROCJAM 2021","category":"Game Jams","date":"2021","issuer":"Itch.io Jam","description":"A annual celebration of making things that make things! PROCJAM encourages procedural art, generative algorithms, and endless world building.","link":"https://itch.io/jam/procjam2021"},{"title":"Artistic Crystal (Crystal 1.0 Conference 2021)","category":"Talks","date":"2021","issuer":"Crystal 1.0 Conference","description":"Conference talk exploring how to leverage Crystal's macro system, raw execution speed, and C bindings for creative coding, generative art, and graphical applications.","link":"https://www.youtube.com/watch?v=8jJtgMwZzf0"},{"title":"Generative Art, SVG, and Celestine (Raw Crystal 2020)","category":"Talks","date":"2020","issuer":"Raw Crystal 2020","description":"Presentation detailing vector mathematics, procedural graphics generation in SVG format, and architectural decisions behind the Celestine library in Crystal.","link":"https://www.youtube.com/watch?v=X150LMZy7uY"}],"posts":[{"title":"Project Origins, Gallery Concepts & Spatial Illusions","url":"./liminalita_devlog/0.html","chain_title":"Liminalita Devlog","category":"liminalita_devlog","index":0,"date":"2025-05-19"},{"title":"Intro","url":"./pixellang/0.html","chain_title":"PixelLang Esoteric Language","category":"pixellang","index":0,"date":"2019-09-05"},{"title":"More Instructions","url":"./pixellang/1.html","chain_title":"PixelLang Esoteric Language","category":"pixellang","index":1,"date":"2019-09-06"},{"title":"Showcase","url":"./pixellang/2.html","chain_title":"PixelLang Esoteric Language","category":"pixellang","index":2,"date":"2019-09-07"}]},"github_actions":{"name":"GitHub Actions","slug":"github_actions","category":"Tools & Infrastru
610cture","years":"6 years","date_started":"2018-01-01","description":"Designing automated continuous integration and release delivery pipelines for cross-platform builds.","long_description_html":"<p>GitHub Actions provides automated continuous integration and continuous deployment (CI/CD) workflows triggered by repository events. I author multi-platform workflows to compile, test, package, and release software artifacts for Windows, Linux, macOS, and Web platforms.</p>\n","icon":"github.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3 .3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6zm-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5 .3-6.2 2.3zm44.2-1.7c-2.9 .7-4.9 2.6-4.6 4.9 .3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9zM252.8 8c-138.7 0-244.8 105.3-244.8 244 0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1 100-33.2 167.8-128.1 167.8-239 0-138.7-112.5-244-251.2-244zM105.2 352.9c-1.3 1-1 3.3 .7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1zm-10.8-8.1c-.7 1.3 .3 2.9 2.3 3.9 1.6 1 3.6 .7 4.3-.7 .7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3 .7zm32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3 .7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1zm-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2z\"/></svg>","links":[{"key":"website","url":"https://github.com/features/actions"}],"projects":[{"title":"Carbon","url":"./projects/programs/carbon.html","description":"Automated commit-based version control, human-friendly YAML changelogs, README badge engine, and Git release automation for Crystal shards.","section":"programs"},{"title":"raylib-cr","url":"./projects/libraries/raylib_cr.html","description":"Crystal language bindings for the raylib game development library.","section":"libraries"},{"title":"celestine","url":"./projects/libraries/celestine.html","description":"An SVG library and DSL written in Crystal for creating generative art, animations, and graphics.","section":"libraries"}],"games":[],"achievements":[],"posts":[]},"glsl":{"name":"GLSL","slug":"glsl","category":"Graphics & Game Dev","years":"4 years","date_started":"2020-01-01","description":"OpenGL Shading Language for high-performance GPU vertex and fragment shader development.","long_description_html":"<p>GLSL is the standard shading language for OpenGL graphics pipelines. Used for writing custom Godot/Raylib fragment shaders, retro dither effects, and water refraction.</p>\n","icon":"sparkles.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M391.5 53.2c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L448 96 469.2 152.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L512 96 568.5 74.8c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L512 32 490.8-24.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L448 32 391.5 53.2zm-185 20.1c-2.6-5.7-8.3-9.3-14.5-9.3s-11.9 3.6-14.5 9.3l-53.1 115-115 53.1C3.6 244.1 0 249.8 0 256s3.6 11.9 9.3 14.5l115 53.1 53.1 115c2.6 5.7 8.3 9.3 14.5 9.3s11.9-3.6 14.5-9.3l53.1-115 115-53.1c5.7-2.6 9.3-8.3 9.3-14.5s-3.6-11.9-9.3-14.5l-115-53.1-53.1-115zM416 416l-56.5 21.2c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L416 480 437.2 536.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L480 480 536.5 458.8c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L480 416 458.8 359.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L416 416z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/OpenGL_Shading_Language"}],"projects":[{"title":"CRShader","url":"./projects/libraries/crshader.html","description":"Ultrafast shader trans-compiler and live runtime development toolchain for Godot Engine 4.8+ via Crystal and Lapis.","section":"libraries"},{"title":"Low-Poly Precision Outline Shader for Godot 4","url":"./projects/assets/shaders/low_poly_pos.html","description":"A precision surface map pre-computed outline shader for Godot 4 that works on Web, Mobile, and Desktop.","section":"assets"}],"games":[],"achievements":[],"posts":[{"title":"Shader Optimization & Visual Refinements","url":"./liminalita_devlog/3.html","chain_title":"Liminalita Devlog","category":"liminalita_devlog","index":3,"date":"2025-08-19"}]},"gltf":{"name":"glTF","slug":"gltf","category":"Design & Art","years":"3 years","date_started":"2021-01-01","description":"Khronos Group specification for efficient transmission and loading of 3D scenes and models.","long_description_html":"<p>glTF (GL Transmission Format) is an open royalty-free specification for 3D asset delivery. Used for exporting and importing 3D models with materials, textures, and skeletal animations into web and game engines.</p>\n","icon":"box.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M369.4 128l-34.3-48-222.1 0-34.3 48 290.7 0zM0 148.5c0-13.3 4.2-26.3 11.9-37.2L60.9 42.8C72.9 26 92.3 16 112.9 16l222.1 0c20.7 0 40.1 10 52.1 26.8l48.9 68.5c7.8 10.9 11.9 23.9 11.9 37.2L448 416c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 148.5z\"/></svg>","links":[{"key":"website","url":"https://www.khronos.org/gltf/"}],"projects":[{"title":"Low Poly Items and Room Environment","url":"./projects/assets/models/low_poly_room_environment.html","description":"A low-poly collection of 3D models and room environment assets covered under CC-BY 4.0.","section":"assets"}],"games":[{"title":"Liminalita","url":"https://liminalita.sol.vin","description":"(IN DEVELOPMENT) A 3D first-person procedural art gallery and walking simulator.","subdomain":"liminalita","engine":"Godot 4"}],"achievements":[],"posts":[]},"godot_4":{"name":"Godot 4","slug":"godot_4","category":"Game Development","years":"4 years","date_started":"2020-01-01","description":"Open-source 2D/3D game engine featuring GDScript, custom shaders, and modular scene nodes.","long_description_html":"<p>Godot 4 is a lightweight, feature-rich open-source game engine. My experience includes GDScript architecture, custom GLSL/GDShader development, 3D low-poly rendering pipelines, game jam projects, and procedural level generation.</p>\n","icon":"robot.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M352 0c0-17.7-14.3-32-32-32S288-17.7 288 0l0 64-96 0c-53 0-96 43-96 96l0 224c0 53 43 96 96 96l256 0c53 0 96-43 96-96l0-224c0-53-43-96-96-96l-96 0 0-64zM160 368c0-13.3 10.7-24 24-24l32 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-32 0c-13.3 0-24-10.7-24-24zm120 0c0-13.3 10.7-24 24-24l32 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-32 0c-13.3 0-24-10.7-24-24zm120 0c0-13.3 10.7-24 24-24l32 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-32 0c-13.3 0-24-10.7-24-24zM224 176a48 48 0 1 1 0 96 48 48 0 1 1 0-96zm144 48a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zM64 224c0-17.7-14.3-32-32-32S0 206.3 0 224l
6100 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96zm544-32c-17.7 0-32 14.3-32 32l0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96c0-17.7-14.3-32-32-32z\"/></svg>","links":[{"key":"website","url":"https://godotengine.org"}],"projects":[{"title":"Diorite","url":"./projects/libraries/diorite.html","description":"High-priority 2D and 3D debug drawing plugin and zero-allocation frame DSL for Godot Engine 4.8+ via Lapis.","section":"libraries"},{"title":"CRShader","url":"./projects/libraries/crshader.html","description":"Ultrafast shader trans-compiler and live runtime development toolchain for Godot Engine 4.8+ via Crystal and Lapis.","section":"libraries"},{"title":"Lapis","url":"./projects/libraries/lapis.html","description":"Modern, idiomatic Godot Engine 4.8+ bindings for Crystal via GDExtension C-API.","section":"libraries"},{"title":"Low-Poly Precision Outline Shader for Godot 4","url":"./projects/assets/shaders/low_poly_pos.html","description":"A precision surface map pre-computed outline shader for Godot 4 that works on Web, Mobile, and Desktop.","section":"assets"}],"games":[{"title":"BOX WARP","url":"https://box-warp.sol.vin","description":"[TRIJAM 346] A box warping puzzle game made in 3 hours for TRIJAM 346.","subdomain":"box-warp","engine":"Godot 4"},{"title":"Liminalita","url":"https://liminalita.sol.vin","description":"(IN DEVELOPMENT) A 3D first-person procedural art gallery and walking simulator.","subdomain":"liminalita","engine":"Godot 4"},{"title":"Soulantern","url":"https://soulantern.sol.vin","description":"[1DAYJAM #3 WINNER] High-speed first-person precision platformer propelled by lantern recoil momentum and aerial dashes.","subdomain":"soulantern","engine":"Godot 4.3"},{"title":"Solo Oasis : Unlimited Places","url":"https://soup.sol.vin","description":"A surreal, minimalist walking simulator collaboration consisting of fever-dream rooms, inspired by SOUP and LSD: Dream Emulator.","subdomain":"soup","engine":"Godot 4.3"},{"title":"The Problem With Trolleys","url":"https://trolleys.sol.vin","description":"[TRIJAM 363 WINNER] A short 3hr game jam puzzle game about managing trolley switches without crashing trains.","subdomain":"trolleys","engine":"Godot 4"}],"achievements":[{"title":"TRIJAM 363","category":"Game Jams","date":"2026","issuer":"Itch.io Jam","description":"TRIJAM 363 challenged creators to complete a full game in under 3 hours of total production time. 'The Problem With Trolleys' won 1st Place overall!","link":"https://itch.io/jam/trijam-363"},{"title":"SOUPJAM 2026","category":"Game Jams","date":"2026","issuer":"Itch.io Jam","description":"A collaborative 72-hour game jam focused on creating interconnected surreal rooms and walking experiences inspired by SOUP and LSD: Dream Emulator.","link":"https://itch.io/jam/soupjam2026"},{"title":"1-DAY JAM #3","category":"Game Jams","date":"2026","issuer":"Itch.io Jam","description":"1-DAY JAM #3 challenged game developers to complete a full game in under 24 hours around the theme 'FIRE'. Soulantern won 1st Place overall!","link":"https://itch.io/jam/1-day-jam-3"},{"title":"TRIJAM 346","category":"Game Jams","date":"2025","issuer":"Itch.io Jam","description":"A fast-paced 3-hour game jam where developers have a strict 3-hour development window to design and build a complete game around a secret theme.","link":"https://itch.io/jam/trijam-346"},{"title":"1-DAY JAM #3 Winner","category":"Competitions & Jams","date":"2026-09-05","issuer":"1-DAY JAM","description":"Awarded 1st Place overall in 1-DAY JAM #3 out of all submissions for the fast-paced 3D momentum platformer 'Soulantern' under the theme 'FIRE'.","link":"https://itch.io/jam/1-day-jam-3/rate/4976157"}],"posts":[{"title":"Project Origins, Gallery Concepts & Spatial Illusions","url":"./liminalita_devlog/0.html","chain_title":"Liminalita Devlog","category":"liminalita_devlog","index":0,"date":"2025-05-19"},{"title":"Expanding Exhibits, Threaded Loading & World Architecture","url":"./liminalita_devlog/1.html","chain_title":"Liminalita Devlog","category":"liminalita_devlog","index":1,"date":"2025-06-06"},{"title":"Library of Babel Modeling, Atrium Teleports & Lobby Expansion","url":"./liminalita_devlog/2.html","chain_title":"Liminalita Devlog","category":"liminalita_devlog","index":2,"date":"2025-06-11"},{"title":"Shader Optimization & Visual Refinements","url":"./liminalita_devlog/3.html","chain_title":"Liminalita Devlog","category":"liminalita_devlog","index":3,"date":"2025-08-19"},{"title":"Room Progress Snapshot","url":"./soup_devlog/0.html","chain_title":"Solo Oasis Devlog","category":"soup_devlog","index":0,"date":"2026-04-30"},{"title":"Android & Mobile Web Support","url":"./soup_devlog/1.html","chain_title":"Solo Oasis Devlog","category":"soup_devlog","index":1,"date":"2026-05-20"},{"title":"ALL DONE","url":"./soup_devlog/2.html","chain_title":"Solo Oasis Devlog","category":"soup_devlog","index":2,"date":"2026-07-03"}]},"hardware_security":{"name":"Hardware Security","slug":"hardware_security","category":"Security","years":"6 years","date_started":"2018-01-01","description":"Physical and electrical security auditing of IoT microcontrollers, UART/JTAG interfaces, and flash dump analysis.","long_description_html":"<p>Hardware security auditing covers interfacing with board headers (UART/JTAG/SPI), dumping SPI flash EEPROMs, analyzing SoC bootloaders, and extracting hardcoded credentials.</p>\n","icon":"microchip.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M176 24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40c-35.3 0-64 28.7-64 64l-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0 0 56-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0 0 56-40 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l40 0c0 35.3 28.7 64 64 64l0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40 56 0 0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40 56 0 0 40c0 13.3 10.7 24 24 24s24-10.7 24-24l0-40c35.3 0 64-28.7 64-64l40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0 0-56 40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0 0-56 40 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-40 0c0-35.3-28.7-64-64-64l0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40-56 0 0-40c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 40-56 0 0-40zM160 128l192 0c17.7 0 32 14.3 32 32l0 192c0 17.7-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32l0-192c0-17.7 14.3-32 32-32zm16 48l0 160 160 0 0-160-160 0z\"/>
610</svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Hardware_security"}],"projects":[{"title":"xet","url":"./projects/programs/xet.html","description":"Xiongmai Exploitation Toolkit for interacting with and analyzing Xiongmai-based camera systems.","section":"programs"},{"title":"xiongmai-investigational-journey","url":"./projects/programs/xiongmai_investigational_journey.html","description":"Investigation script toolkit, hashes database, and fuzzers for Xiongmai cameras.","section":"programs"},{"title":"vstarcam-investigational-journey","url":"./projects/programs/vstarcam_investigational_journey.html","description":"Research tools, exploits, and PoCs from the VStarCam investigational journey.","section":"programs"}],"games":[],"achievements":[{"title":"CVE-2019-11014 - VStarCam Client Hijacking","category":"CVEs","date":"2019","issuer":"MITRE","description":"Discovered and disclosed a Man-In-The-Middle (MITM) client hijacking vulnerability in VStarCam IP camera firmware, tied to botnet infrastructure research.","link":"https://www.cve.org/CVERecord?id=CVE-2019-11014"}],"posts":[{"title":"Intro","url":"./vstarcam_journey/0.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":0,"date":"2019-09-03"},{"title":"Hardware Dumping","url":"./vstarcam_journey/3.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":3,"date":"2019-09-03"},{"title":"Firmware Analysis","url":"./vstarcam_journey/7.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":7,"date":"2019-09-03"},{"title":"Intro","url":"./xiongmai_journey/0.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":0,"date":"2019-09-04"},{"title":"Hardware","url":"./xiongmai_journey/1.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":1,"date":"2019-09-04"}]},"heroku":{"name":"Heroku","slug":"heroku","category":"Cloud & DevOps","years":"5 years","date_started":"2019-01-01","description":"PaaS cloud platform for deploying and scaling containerized web applications and background workers.","long_description_html":"<p>Heroku is a platform-as-a-service (PaaS) enabling rapid cloud deployment, managed Postgres/Redis add-ons, and continuous buildpacks for Ruby, Node, and Python web services.</p>\n","icon":"server.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M64 32C28.7 32 0 60.7 0 96l0 64c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-64c0-35.3-28.7-64-64-64L64 32zm216 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM64 288c-35.3 0-64 28.7-64 64l0 64c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-64c0-35.3-28.7-64-64-64L64 288zm216 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"/></svg>","links":[{"key":"website","url":"https://www.heroku.com"}],"projects":[],"games":[],"achievements":[],"posts":[]},"html":{"name":"HTML","slug":"html","category":"Languages","years":"14 years","date_started":"2010-01-01","description":"Standard markup language for structuring web pages and web applications.","long_description_html":"<p>HTML5 forms the foundation of web document structure and accessible web application interfaces. Specializing in semantic markup and responsive structural layout.</p>\n","icon":"html5.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 384 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M0 32L34.9 427.8 191.5 480 349.1 427.8 384 32 0 32zM308.2 159.9l-183.8 0 4.1 49.4 175.6 0-13.6 148.4-97.9 27 0 .3-1.1 0-98.7-27.3-6-75.8 47.7 0 3.5 38.1 53.5 14.5 53.7-14.5 6-62.2-166.9 0-12.8-145.6 241.1 0-4.4 47.7z\"/></svg>","links":[{"key":"website","url":"https://developer.mozilla.org/en-US/docs/Web/HTML"}],"projects":[],"games":[],"achievements":[],"posts":[]},"image_processing":{"name":"Image Processing","slug":"image_processing","category":"Computer Science","years":"5 years","date_started":"2019-01-01","description":"Algorithmic manipulation, decoding, dithering, and color space transformations of raster images.","long_description_html":"<p>Image processing involves programmatic pixel manipulation, palette quantization, custom dithering algorithms, and PNG/JPEG buffer parsing.</p>\n","icon":"image.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M64 32C28.7 32 0 60.7 0 96L0 416c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-320c0-35.3-28.7-64-64-64L64 32zm64 80a48 48 0 1 1 0 96 48 48 0 1 1 0-96zM272 224c8.4 0 16.1 4.4 20.5 11.5l88 144c4.5 7.4 4.7 16.7 .5 24.3S368.7 416 360 416L88 416c-8.9 0-17.2-5-21.3-12.9s-3.5-17.5 1.6-24.8l56-80c4.5-6.4 11.8-10.2 19.7-10.2s15.2 3.8 19.7 10.2l26.4 37.8 61.4-100.5c4.4-7.1 12.1-11.5 20.5-11.5z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Digital_image_processing"}],"projects":[{"title":"Fluorite","url":"./projects/libraries/fluorite.html","description":"Modern FFMPEG bindings, fluent Crystal DSL, streaming process wrapper, smart presets, and interactive Opal TUI.","section":"libraries"},{"title":"pixel_lang_crystal","url":"./projects/programs/pixel_lang_crystal.html","description":"An esoteric programming language entirely in pixels, implemented in Crystal.","section":"programs"}],"games":[],"achievements":[{"title":"Artistic Crystal (Crystal 1.0 Conference 2021)","category":"Talks","date":"2021","issuer":"Crystal 1.0 Conference","description":"Conference talk exploring how to leverage Crystal's macro system, raw execution speed, and C bindings for creative coding, generative art, and graphical applications.","link":"https://www.youtube.com/watch?v=8jJtgMwZzf0"}],"posts":[]}
610,"javascript":{"name":"JavaScript","slug":"javascript","category":"Languages","years":"14 years","date_started":"2010-01-01","description":"Dynamic scripting language for web application logic and interactive client-side components.","long_description_html":"<p>JavaScript powers modern client-side application logic and web interactivity. Used for interactive web components, dynamic web dashboards, and browser-based graphics tools.</p>\n","icon":"js.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M0 32l0 448 448 0 0-448-448 0zM243.8 381.4c0 43.6-25.6 63.5-62.9 63.5-33.7 0-53.2-17.4-63.2-38.5L152 385.7c6.6 11.7 12.6 21.6 27.1 21.6 13.8 0 22.6-5.4 22.6-26.5l0-143.1 42.1 0 0 143.7zm99.6 63.5c-39.1 0-64.4-18.6-76.7-43L301 382.1c9 14.7 20.8 25.6 41.5 25.6 17.4 0 28.6-8.7 28.6-20.8 0-14.4-11.4-19.5-30.7-28l-10.5-4.5c-30.4-12.9-50.5-29.2-50.5-63.5 0-31.6 24.1-55.6 61.6-55.6 26.8 0 46 9.3 59.8 33.7L368 290c-7.2-12.9-15-18-27.1-18-12.3 0-20.1 7.8-20.1 18 0 12.6 7.8 17.7 25.9 25.6l10.5 4.5c35.8 15.3 55.9 31 55.9 66.2 0 37.8-29.8 58.6-69.7 58.6z\"/></svg>","links":[{"key":"website","url":"https://developer.mozilla.org/en-US/docs/Web/JavaScript"}],"projects":[],"games":[],"achievements":[],"posts":[]},"kubernetes":{"name":"Kubernetes","slug":"kubernetes","category":"Tools & Infrastructure","years":"6 years","date_started":"2018-01-01","description":"Container orchestration, cluster deployment management, and microservice scaling.","long_description_html":"<p>Kubernetes provides automated container orchestration, service discovery, load balancing, and rolling updates. Experience deploying microservices, managing ingress controllers, and maintaining cloud Kubernetes clusters.</p>\n","icon":"layer-group.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M232.5 5.2c14.9-6.9 32.1-6.9 47 0l218.6 101c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L13.9 149.8C5.4 145.8 0 137.3 0 128s5.4-17.9 13.9-21.8L232.5 5.2zM48.1 218.4l164.3 75.9c27.7 12.8 59.6 12.8 87.3 0l164.3-75.9 34.1 15.8c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L13.9 277.8C5.4 273.8 0 265.3 0 256s5.4-17.9 13.9-21.8l34.1-15.8zM13.9 362.2l34.1-15.8 164.3 75.9c27.7 12.8 59.6 12.8 87.3 0l164.3-75.9 34.1 15.8c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L13.9 405.8C5.4 401.8 0 393.3 0 384s5.4-17.9 13.9-21.8z\"/></svg>","links":[{"key":"website","url":"https://kubernetes.io"}],"projects":[],"games":[],"achievements":[],"posts":[]},"linux_kernel":{"name":"Linux Kernel","slug":"linux_kernel","category":"Systems & Security","years":"14 years","date_started":"2010-01-01","description":"In-depth Linux system administration, kernel diagnostics, performance tuning, and low-level system calls.","long_description_html":"<p>Extensive experience configuring, troubleshooting, and securing Linux operating systems across embedded devices, cloud virtual machines, and bare-metal servers. Skilled in tracing system calls, analyzing kernel crash dumps, optimizing I/O performance, and configuring custom kernel builds.</p>\n","icon":"linux.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M220.9 123.3c1 .5 1.8 1.7 3 1.7 1.1 0 2.8-.4 2.9-1.5 .2-1.4-1.9-2.3-3.2-2.9-1.7-.7-3.9-1-5.5-.1-.4 .2-.8 .7-.6 1.1 .3 1.3 2.3 1.1 3.4 1.7zM199 125c1.2 0 2-1.2 3-1.7 1.1-.6 3.1-.4 3.5-1.6 .2-.4-.2-.9-.6-1.1-1.6-.9-3.8-.6-5.5 .1-1.3 .6-3.4 1.5-3.2 2.9 .1 1 1.8 1.5 2.8 1.4zM420 403.8c-3.6-4-5.3-11.6-7.2-19.7-1.8-8.1-3.9-16.8-10.5-22.4-1.3-1.
6101-2.6-2.1-4-2.9-1.3-.8-2.7-1.5-4.1-2 9.2-27.3 5.6-54.5-3.7-79.1-11.4-30.1-31.3-56.4-46.5-74.4-17.1-21.5-33.7-41.9-33.4-72 .5-45.9 5.1-131.2-75.8-131.3-102.4-.2-76.8 103.4-77.9 135.2-1.7 23.4-6.4 41.8-22.5 64.7-18.9 22.5-45.5 58.8-58.1 96.7-6 17.9-8.8 36.1-6.2 53.3-6.5 5.8-11.4 14.7-16.6 20.2-4.2 4.3-10.3 5.9-17 8.3s-14 6-18.5 14.5c-2.1 3.9-2.8 8.1-2.8 12.4 0 3.9 .6 7.9 1.2 11.8 1.2 8.1 2.5 15.7 .8 20.8-5.2 14.4-5.9 24.4-2.2 31.7 3.8 7.3 11.4 10.5 20.1 12.3 17.3 3.6 40.8 2.7 59.3 12.5 19.8 10.4 39.9 14.1 55.9 10.4 11.6-2.6 21.1-9.6 25.9-20.2 12.5-.1 26.3-5.4 48.3-6.6 14.9-1.2 33.6 5.3 55.1 4.1 .6 2.3 1.4 4.6 2.5 6.7l0 .1c8.3 16.7 23.8 24.3 40.3 23 16.6-1.3 34.1-11 48.3-27.9 13.6-16.4 36-23.2 50.9-32.2 7.4-4.5 13.4-10.1 13.9-18.3 .4-8.2-4.4-17.3-15.5-29.7zM223.8 87.3c9.8-22.2 34.2-21.8 44-.4 6.5 14.2 3.6 30.9-4.3 40.4-1.6-.8-5.9-2.6-12.6-4.9 1.1-1.2 3.1-2.7 3.9-4.6 4.8-11.8-.2-27-9.1-27.3-7.3-.5-13.9 10.8-11.8 23-4.1-2-9.4-3.5-13-4.4-1-6.9-.3-14.6 2.9-21.8zM183.1 75.8c10.1 0 20.8 14.2 19.1 33.5-3.5 1-7.1 2.5-10.2 4.6 1.2-8.9-3.3-20.1-9.6-19.6-8.4 .7-9.8 21.2-1.8 28.1 1 .8 1.9-.2-5.9 5.5-15.6-14.6-10.5-52.1 8.4-52.1zm-13.6 60.7c6.2-4.6 13.6-10 14.1-10.5 4.7-4.4 13.5-14.2 27.9-14.2 7.1 0 15.6 2.3 25.9 8.9 6.3 4.1 11.3 4.4 22.6 9.3 8.4 3.5 13.7 9.7 10.5 18.2-2.6 7.1-11 14.4-22.7 18.1-11.1 3.6-19.8 16-38.2 14.9-3.9-.2-7-1-9.6-2.1-8-3.5-12.2-10.4-20-15-8.6-4.8-13.2-10.4-14.7-15.3-1.4-4.9 0-9 4.2-12.3zm3.3 334c-2.7 35.1-43.9 34.4-75.3 18-29.9-15.8-68.6-6.5-76.5-21.9-2.4-4.7-2.4-12.7 2.6-26.4l0-.2c2.4-7.6 .6-16-.6-23.9-1.2-7.8-1.8-15 .9-20 3.5-6.7 8.5-9.1 14.8-11.3 10.3-3.7 11.8-3.4 19.6-9.9 5.5-5.7 9.5-12.9 14.3-18 5.1-5.5 10-8.1 17.7-6.9 8.1 1.2 15.1 6.8 21.9 16l19.6 35.6c9.5 19.9 43.1 48.4 41 68.9zm-1.4-25.9c-4.1-6.6-9.6-13.6-14.4-19.6 7.1 0 14.2-2.2 16.7-8.9 2.3-6.2 0-14.9-7.4-24.9-13.5-18.2-38.3-32.5-38.3-32.5-13.5-8.4-21.1-18.7-24.6-29.9s-3-23.3-.3-35.2c5.2-22.9 18.6-45.2 27.2-59.2 2.3-1.7 .8 3.2-8.7 20.8-8.5 16.1-24.4 53.3-2.6 82.4 .6-20.7 5.5-41.8 13.8-61.5 12-27.4 37.3-74.9 39.3-112.7 1.1 .8 4.6 3.2 6.2 4.1 4.6 2.7 8.1 6.7 12.6 10.3 12.4 10 28.5 9.2 42.4 1.2 6.2-3.5 11.2-7.5 15.9-9 9.9-3.1 17.8-8.6 22.3-15 7.7 30.4 25.7 74.3 37.2 95.7 6.1 11.4 18.3 35.5 23.6 64.6 3.3-.1 7 .4 10.9 1.4 13.8-35.7-11.7-74.2-23.3-84.9-4.7-4.6-4.9-6.6-2.6-6.5 12.6 11.2 29.2 33.7 35.2 59 2.8 11.6 3.3 23.7 .4 35.7 16.4 6.8 35.9 17.9 30.7 34.8-2.2-.1-3.2 0-4.2 0 3.2-10.1-3.9-17.6-22.8-26.1-19.6-8.6-36-8.6-38.3 12.5-12.1 4.2-18.3 14.7-21.4 27.3-2.8 11.2-3.6 24.7-4.4 39.9-.5 7.7-3.6 18-6.8 29-32.1 22.9-76.7 32.9-114.3 7.2zm257.4-11.5c-.9 16.8-41.2 19.9-63.2 46.5-13.2 15.7-29.4 24.4-43.6 25.5s-26.5-4.8-33.7-19.3c-4.7-11.1-2.4-23.1 1.1-36.3 3.7-14.2 9.2-28.8 9.9-40.6 .8-15.2 1.7-28.5 4.2-38.7 2.6-10.3 6.6-17.2 13.7-21.1 .3-.2 .7-.3 1-.5 .8 13.2 7.3 26.6 18.8 29.5 12.6 3.3 30.7-7.5 38.4-16.3 9-.3 15.7-.9 22.6 5.1 9.9 8.5 7.1 30.3 17.1 41.6 10.6 11.6 14 19.5 13.7 24.6zM173.4 148.7c2 1.9 4.7 4.5 8 7.1 6.6 5.2 15.8 10.6 27.3 10.6 11.6 0 22.5-5.9 31.8-10.8 4.9-2.6 10.9-7 14.8-10.4s5.9-6.3 3.1-6.6-2.6 2.6-6 5.1c-4.4 3.2-9.7 7.4-13.9 9.8-7.4 4.2-19.5 10.2-29.9 10.2s-18.7-4.8-24.9-9.7c-3.1-2.5-5.7-5-7.7-6.9-1.5-1.4-1.9-4.6-4.3-4.9-1.4-.1-1.8 3.7 1.7 6.5z\"/></svg>","links":[{"key":"kernel","url":"https://www.kernel.org"}],"projects":[],"games":[],"achievements":[],"posts":[{"title":"Firmware Analysis","url":"./vstarcam_journey/7.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":7,"date":"2019-09-03"}]},"low_poly_3d_modeling":{"name":"Low Poly 3D Modelling","slug":"low_poly_3d_modeling","category":"Design & Art","years":"4 years","date_started":"2020-01-01","description":"Creating retro-styled, low-polygon 3D models and environmental assets optimized for game engines.","long_description_html":"<p>Low poly 3D modeling focuses on creating stylized, memory-efficient polygonal assets, retro environment art, and pixel-mapped 3D meshes for indie games and real-time engines.</p>\n","icon":"cube.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M224.3-2.5c19.8-11.4 44.2-11.4 64 0L464.2 99c19.8 11.4 32 32.6 32 55.4l0 203c0 22.9-12.2 44-32 55.4L288.3 514.5c-19.8 11.4-44.2 11.4-64 0L48.5 413c-19.8-11.4-32-32.6-32-55.4l0-203c0-22.9 12.2-44 32-55.4L224.3-2.5zm207.8 360l0-166.1-143.8 83 0 166.1 143.8-83z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Low_poly"}],"projects":[{"title":"Low Poly Items and Room Environment","url":"./projects/assets/models/low_poly_room_environment.html","description":"A low-poly collection of 3D models and room environment assets covered under CC-BY 4.0.","section":"assets"}],"games":[{"title":"Liminalita","url":"https://liminalita.sol.vin","description":"(IN DEVELOPMENT) A 3D first-person procedural art gallery and walking simulator.","subdomain":"liminalita","engine":"Godot 4"}],"achievements":[],"posts":[{"title":"Library of Babel Modeling, Atrium Teleports & Lobby Expansion","url":"./liminalita_devlog/2.html","chain_title":"Liminalita Devlog","category":"liminalita_devlog","index":2,"date":"2025-06-11"}]},"midi":{"name":"MIDI","slug":"midi","category":"Audio & Music","years":"6 years","date_started":"2018-01-01","description":"Musical Instrument Digital Interface standard for digital music composition, synth communication, and note sequencing.","long_description_html":"<p>MIDI (Musical Instrument Digital Interface) provides event-based protocol standards for note sequencing, hardware synthesizer control, virtual instruments, and software music composition.</p>\n","icon":"music.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M468 7c7.6 6.1 12 15.3 12 25l0 304c0 44.2-43 80-96 80s-96-35.8-96-80 43-80 96-80c11.2 0 22 1.6 32 4.6l0-116.7-224 49.8 0 206.3c0 44.2-43 80-96 80s-96-35.8-96-80 43-80 96-80c11.2 0 22 1.6 32 4.6L128 96c0-15 10.4-28 25.1-31.2l288-64c9.5-2.1 19.4 .2 27 6.3z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/MIDI"}],"projects":[],"games":[],"achievements":[],"posts":[]},"modular_synth":{"name":"Modular Synth","slug":"modular_synth","category":"Audio & Music","years":"4 years","date_started":"2020-01-01","description":"Designing electronic audio signals using interconnected sound modules, generators, and filters.","long_description_html":"<p>Modular synthesis involves interconnecting separate modules (VCOs, VCFs, LFOs, envelopes
610) to create complex procedural soundscapes, dynamic game SFX, and synth textures.</p>\n","icon":"sliders.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M32 64C14.3 64 0 78.3 0 96s14.3 32 32 32l86.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48L480 128c17.7 0 32-14.3 32-32s-14.3-32-32-32L265.3 64C253 35.7 224.8 16 192 16s-61 19.7-73.3 48L32 64zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l246.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48l54.7 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-54.7 0c-12.3-28.3-40.5-48-73.3-48s-61 19.7-73.3 48L32 224zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32l54.7 0c12.3 28.3 40.5 48 73.3 48s61-19.7 73.3-48L480 448c17.7 0 32-14.3 32-32s-14.3-32-32-32l-246.7 0c-12.3-28.3-40.5-48-73.3-48s-61 19.7-73.3 48L32 384z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Modular_synthesizer"}],"projects":[{"title":"SunVox Animalese Generator","url":"./projects/assets/sounds/anamalese_generator.html","description":"Animalese voice generator module for the SunVox modular synthesizer engine.","section":"assets"},{"title":"solvox","url":"./projects/programs/solvox.html","description":"An esoteric, Wireland-inspired modular synth and tracker built off the SunVox developer library.","section":"programs"},{"title":"libsunvox","url":"./projects/libraries/libsunvox.html","description":"C-bindings for the SunVox audio library modular synthesizer engine, written in Crystal.","section":"libraries"}],"games":[],"achievements":[],"posts":[]},"nginx":{"name":"Nginx","slug":"nginx","category":"Tools & Infrastructure","years":"8 years","date_started":"2016-01-01","description":"High-performance HTTP web server, reverse proxy, and SSL/TLS termination configuration.","long_description_html":"<p>Nginx is an HTTP web server, reverse proxy, and load balancer. I configure Nginx for secure web application routing, SSL/TLS certificate automation, static asset caching, rate limiting, and CORS headers management.</p>\n","icon":"server.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M64 32C28.7 32 0 60.7 0 96l0 64c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-64c0-35.3-28.7-64-64-64L64 32zm216 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0zM64 288c-35.3 0-64 28.7-64 64l0 64c0 35.3 28.7 64 64 64l320 0c35.3 0 64-28.7 64-64l0-64c0-35.3-28.7-64-64-64L64 288zm216 72a24 24 0 1 1 0 48 24 24 0 1 1 0-48zm56 24a24 24 0 1 1 48 0 24 24 0 1 1 -48 0z\"/></svg>","links":[{"key":"website","url":"https://nginx.org"}],"projects":[],"games":[],"achievements":[],"posts":[]},"obs_studio":{"name":"OBS Studio","slug":"obs_studio","category":"Tools & Software","years":"5 years","date_started":"2019-01-01","description":"Open Broadcaster Software for video recording, live streaming, and gameplay footage capture.","long_description_html":"<p>OBS Studio is the industry-standard software for high-performance video recording, screen capture, live streaming, and demonstration video production.</p>\n","icon":"video.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M96 64c-35.3 0-64 28.7-64 64l0 256c0 35.3 28.7 64 64 64l256 0c35.3 0 64-28.7 64-64l0-256c0-35.3-28.7-64-64-64L96 64zM464 336l73.5 58.8c4.2 3.4 9.4 5.2 14.8 5.2 13.1 0 23.7-10.6 23.7-23.7l0-240.6c0-13.1-10.6-23.7-23.7-23.7-5.4 0-10.6 1.8-14.8 5.2L464 176 464 336z\"/></svg>","links":[{"key":"website","url":"https://obsproject.com"}],"projects":[],"games":[],"achievements":[],"posts":[]},"opentofu":{"name":"OpenTofu","slug":"opentofu","category":"Tools & Infrastru
610cture","years":"2 years","date_started":"2022-01-01","description":"Open-source Infrastructure-as-Code tool for provisioning and managing cloud infrastructure.","long_description_html":"<p>OpenTofu provides community-driven declarative infrastructure management for cloud infrastructure across AWS, DigitalOcean, and Heroku.</p>\n","icon":"layer-group.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M232.5 5.2c14.9-6.9 32.1-6.9 47 0l218.6 101c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L13.9 149.8C5.4 145.8 0 137.3 0 128s5.4-17.9 13.9-21.8L232.5 5.2zM48.1 218.4l164.3 75.9c27.7 12.8 59.6 12.8 87.3 0l164.3-75.9 34.1 15.8c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L13.9 277.8C5.4 273.8 0 265.3 0 256s5.4-17.9 13.9-21.8l34.1-15.8zM13.9 362.2l34.1-15.8 164.3 75.9c27.7 12.8 59.6 12.8 87.3 0l164.3-75.9 34.1 15.8c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L13.9 405.8C5.4 401.8 0 393.3 0 384s5.4-17.9 13.9-21.8z\"/></svg>","links":[{"key":"website","url":"https://opentofu.org"}],"projects":[],"games":[],"achievements":[],"posts":[]},"playstation_2":{"name":"PlayStation 2","slug":"playstation_2","category":"Platforms & Hardware","years":"3 years","date_started":"2023-01-01","description":"PlayStation 2 architecture, Emotion Engine MIPS R5900, Graphics Synthesizer, SPRAM, and homebrew runtime engineering.","long_description_html":"<p>Developing native software and custom bytecode virtual machines for Sony&#39;s PlayStation 2 hardware, leveraging the 128-bit Emotion Engine, DMA channels, Scratchpad RAM, and PCSX2 emulation debugging.</p>\n","icon":"gamepad.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M448 64c106 0 192 86 192 192S554 448 448 448l-256 0C86 448 0 362 0 256S86 64 192 64l256 0zM192 176c-13.3 0-24 10.7-24 24l0 32-32 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l32 0 0 32c0 13.3 10.7 24 24 24s24-10.7 24-24l0-32 32 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-32 0 0-32c0-13.3-10.7-24-24-24zm240 96a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm64-96a32 32 0 1 0 0 64 32 32 0 1 0 0-64z\"/></svg>","links":[],"projects":[{"title":"Citrine","url":"./projects/programs/citrine.html","description":"PlayStation 2 virtual machine, game engine, and CLI development toolchain written in Crystal.","section":"programs"}],"games":[],"achievements":[],"posts":[]},"python":{"name":"Python","slug":"python","category":"Languages","years":"10 years","date_started":"2014-01-01","description":"A versatile high-level programming language used for scripting, security tools, and automation.","long_description_html":"<p>Python is a high-level interpreted programming language known for its clear syntax and vast ecosystem. I utilize Python for exploit proof-of-concept development, protocol reverse engineering, network security toolkits, automated data processing pipelines, and system administration scripts.</p>\n","icon":"python.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M439.8 200.5c-7.7-30.9-22.3-54.2-53.4-54.2l-40.1 0 0 47.4c0 36.8-31.2 67.8-66.8 67.8l-106.8 0c-29.2 0-53.4 25-53.4 54.3l0 101.8c0 29 25.2 46 53.4 54.3 33.8 9.9 66.3 11.7 106.8 0 26.9-7.8 53.4-23.5 53.4-54.3l0-40.7-106.7 0 0-13.6 160.2 0c31.1 0 42.6-21.7 53.4-54.2 11.2-33.5 10.7-65.7 0-108.6zM286.2 444.7a20.4 20.4 0 1 1 0-40.7 20.4 20.4 0 1 1 0 40.7zM167.8 248.1l106.8 0c29.7 0 53.4-24.5 53.4-54.3l0-101.9c0-29-24.4-50.7-53.4-55.6-35.8-5.9-74.7-5.6-106.8 .1-45.2 8-53.4 24.7-53.4 55.6l0 40.7 106.9 0 0 13.6-147 0c-31.1 0-58.3 18.7-66.8 54.2-9.8 40.7-10.2 66.1 0 108.6 7.6 31.6 25.7 54.2 56.8 54.2l36.7 0 0-48.8c0-35.3 30.5-66.4 66.8-66.4zM161.2 64.7a20.4 20.4 0 1 1 0 40.8 20.4 20.4 0 1 1 0-40.8z\"/></svg>","links":[{"key":"website","url":"https://www.python.org"}],"projects":[{"title":"vstarcam-investigational-journey","url":"./projects/programs/vstarcam_investigational_journey.html","description":"Research tools, exploits, and PoCs from the VStarCam investigational journey.","section":"programs"}],"games":[],"achievements":[],"posts":[]},"radare2":{"name":"radare2","slug":"radare2","category":"Systems & Security","years":"6 years","date_started":"2018-01-01","description":"UNIX-style reverse engineering framework, binary disassembler, hex editor, and debugger.","long_description_html":"<p>radare2 is a portable, modular reverse-engineering framework and binary analysis toolset. I utilize radare2 for binary forensics, firmware analysis, disassembly, and automated debugging through custom pipes and plugins like cradare2.</p>\n","icon":"magnifying-glass.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
610<path fill=\"currentColor\" d=\"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376C296.3 401.1 253.9 416 208 416 93.1 416 0 322.9 0 208S93.1 0 208 0 416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z\"/></svg>","links":[{"key":"website","url":"https://rada.re/n/"},{"key":"github","url":"radareorg/radare2"}],"projects":[{"title":"Citrine","url":"./projects/programs/citrine.html","description":"PlayStation 2 virtual machine, game engine, and CLI development toolchain written in Crystal.","section":"programs"},{"title":"cradare2","url":"./projects/libraries/cradare2.html","description":"High-performance radare2 pipe and binary analysis toolkit for Crystal with interactive debugging, source line mapping, and crash diagnosis.","section":"libraries"},{"title":"Rubellite","url":"./projects/libraries/rubellite.html","description":"Next-generation bidirectional Crystal <-> Ruby interop, Spinel AOT compiler, CSP concurrency channels, and radare2 diagnostics.","section":"libraries"},{"title":"Lapis","url":"./projects/libraries/lapis.html","description":"Modern, idiomatic Godot Engine 4.8+ bindings for Crystal via GDExtension C-API.","section":"libraries"}],"games":[],"achievements":[],"posts":[]},"raylib":{"name":"Raylib","slug":"raylib","category":"Libraries & Frameworks","years":"5 years","date_started":"2019-01-01","description":"A simple and easy-to-use C library to enjoy videogames programming.","long_description_html":"<p>
610Raylib is an open-source C library designed for 2D/3D graphics, windowing, audio, and game development. I authored <code>raylib-cr</code> (Crystal bindings for Raylib) and have created various game jam entries and interactive tools using Raylib.</p>\n","icon":"gamepad.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 640 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M448 64c106 0 192 86 192 192S554 448 448 448l-256 0C86 448 0 362 0 256S86 64 192 64l256 0zM192 176c-13.3 0-24 10.7-24 24l0 32-32 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l32 0 0 32c0 13.3 10.7 24 24 24s24-10.7 24-24l0-32 32 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-32 0 0-32c0-13.3-10.7-24-24-24zm240 96a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm64-96a32 32 0 1 0 0 64 32 32 0 1 0 0-64z\"/></svg>","links":[{"key":"website","url":"https://www.raylib.com"},{"key":"github","url":"raysan5/raylib"}],"projects":[{"title":"crixel","url":"./projects/libraries/crixel.html","description":"A Flixel-inspired 2D game engine framework written in Crystal.","section":"libraries"},{"title":"raylib-cr","url":"./projects/libraries/raylib_cr.html","description":"Crystal language bindings for the raylib game development library.","section":"libraries"},{"title":"wireland","url":"./projects/programs/wireland.html","description":"An esoteric circuit simulator written in Crystal.","section":"programs"},{"title":"pixel_lang_crystal","url":"./projects/programs/pixel_lang_crystal.html","description":"An esoteric programming language entirely in pixels, implemented in Crystal.","section":"programs"}],"games":[{"title":"Mineshift","url":"https://mineshift.sol.vin","description":"[PROCJAM 2021] Scroll through an infinite generative chasm. Interactive procedural art made with Crystal and Raylib.","subdomain":"mineshift","engine":"Crystal & Raylib"}],"achievements":[{"title":"PROCJAM 2021","category":"Game Jams","date":"2021","issuer":"Itch.io Jam","description":"A annual celebration of making things that make things! PROCJAM encourages procedural art, generative algorithms, and endless world building.","link":"https://itch.io/jam/procjam2021"}],"posts":[{"title":"Intro","url":"./pixellang/0.html","chain_title":"PixelLang Esoteric Language","category":"pixellang","index":0,"date":"2019-09-05"},{"title":"More Instructions","url":"./pixellang/1.html","chain_title":"PixelLang Esoteric Language","category":"pixellang","index":1,"date":"2019-09-06"},{"title":"Showcase","url":"./pixellang/2.html","chain_title":"PixelLang Esoteric Language","category":"pixellang","index":2,"date":"2019-09-07"}]},"reverse_engineering":{"name":"Reverse Engineering","slug":"reverse_engineering","category":"Systems & Security","years":"8 years","date_started":"2016-01-01","description":"Disassembling and decompiling embedded firmware, binary executables, and proprietary network protocols.","long_description_html":"<p>Reverse engineering involves analyzing binary executables, assembly code, and embedded hardware interfaces without source code access. I utilize disassemblers, decompilers, and static analysis tools to discover zero-day vulnerabilities, audit IoT camera firmware, and decipher proprietary protocols.</p>\n","icon":"magnifying-glass.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376C296.3 401.1 253.9 416 208 416 93.1 416 0 322.9 0 208S93.1 0 208 0 416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z\"/></svg>","links":[{"key":"ghidra","url":"https://ghidra-sre.org"}],"projects":[{"title":"Citrine","url":"./projects/programs/citrine.html","description":"PlayStation 2 virtual machine, game engine, and CLI development toolchain written in Crystal.","section":"programs"},{"title":"cradare2","url":"./projects/libraries/cradare2.html","description":"High-performance radare2 pipe and binary analysis toolkit for Crystal with interactive debugging, source line mapping, and crash diagnosis.","section":"libraries"},{"title":"Rubellite","url":"./projects/libraries/rubellite.html","description":"Next-generation bidirectional Crystal <-> Ruby interop, Spinel AOT compiler, CSP concurrency channels, and radare2 diagnostics.","section":"libraries"},{"title":"Lapis","url":"./projects/libraries/lapis.html","description":"Modern, idiomatic Godot Engine 4.8+ bindings for Crystal via GDExtension C-API.","section":"libraries"},{"title":"xet","url":"./projects/programs/xet.html","description":"Xiongmai Exploitation Toolkit for interacting with and analyzing Xiongmai-based camera systems.","section":"programs"},{"title":"xiongmai-investigational-journey","url":"./projects/programs/xiongmai_investigational_journey.html","description":"Investigation script toolkit, hashes database, and fuzzers for Xiongmai cameras.","section":"programs"},{"title":"vstarcam-investigational-journey","url":"./projects/programs/vstarcam_investigational_journey.html","description":"Research tools, exploits, and PoCs from the VStarCam investigational journey.","section":"programs"}],"games":[],"achievements":[{"title":"CVE-2019-11878 - Xiongmai Size Integer Overflow","category":"CVEs","date":"2019","issuer":"MITRE","description":"Discovered and disclosed a remote size integer overflow vulnerability leading to buffer overflow and remote execution risks in Xiongmai IP camera devices.","link":"https://www.cve.org/CVERecord?id=CVE-2019-11878"},{"title":"CVE-2019-11014 - VStarCam Client Hijacking","category":"CVEs","date":"2019","issuer":"MITRE","description":"Discovered and disclosed a Man-In-The-Middle (MITM) client hijacking vulnerability in VStarCam IP camera firmware, tied to botnet infrastru
610cture research.","link":"https://www.cve.org/CVERecord?id=CVE-2019-11014"}],"posts":[{"title":"Intro","url":"./vstarcam_journey/0.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":0,"date":"2019-09-03"},{"title":"Network Protocol Analysis","url":"./vstarcam_journey/1.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":1,"date":"2019-09-03"},{"title":"Password Hashes & Exploitation","url":"./vstarcam_journey/2.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":2,"date":"2019-09-03"},{"title":"Hardware Dumping","url":"./vstarcam_journey/3.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":3,"date":"2019-09-03"},{"title":"Writing a Client","url":"./vstarcam_journey/4.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":4,"date":"2019-09-03"},{"title":"Memory Leaks and De-serialization","url":"./vstarcam_journey/5.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":5,"date":"2019-09-03"},{"title":"Firmware Analysis","url":"./vstarcam_journey/7.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":7,"date":"2019-09-03"},{"title":"Re-evaluating fixed vulnerabilities","url":"./vstarcam_journey/10.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":10,"date":"2019-09-03"},{"title":"Intro","url":"./xiongmai_journey/0.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":0,"date":"2019-09-04"},{"title":"Hardware","url":"./xiongmai_journey/1.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":1,"date":"2019-09-04"},{"title":"Hashing","url":"./xiongmai_journey/3.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":3,"date":"2019-09-04"},{"title":"Basic Fuzzing","url":"./xiongmai_journey/4.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":4,"date":"2019-09-04"},{"title":"Advanced Fuzzing","url":"./xiongmai_journey/5.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":5,"date":"2019-09-04"}]},"ruby":{"name":"Ruby","slug":"ruby","category":"Languages","years":"10 years","date_started":"2014-01-01","description":"A dynamic, open-source programming language with a focus on simplicity and productivity.","long_description_html":"<p>Ruby is a dynamic object-oriented programming language designed for developer happiness and readable code. Over the past decade, I have used Ruby extensively for full-stack web applications, automation scripting, REST API backends, and system integration tools.</p>\n","icon":"gem.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M116.7 33.8c4.5-6.1 11.7-9.8 19.3-9.8l240 0c7.6 0 14.8 3.6 19.3 9.8l112 152c6.8 9.2 6.1 21.9-1.5 30.4l-232 256c-4.5 5-11 7.9-17.8 7.9s-13.2-2.9-17.8-7.9l-232-256c-7.7-8.5-8.3-21.2-1.5-30.4l112-152zm38.5 39.8c-3.3 2.5-4.2 7-2.1 10.5L210.5 179.8 63.3 192c-4.1 .3-7.3 3.8-7.3 8s3.2 7.6 7.3 8l192 16c.4 0 .9 0 1.3 0l192-16c4.1-.3 7.3-3.8 7.3-8s-3.2-7.6-7.3-8l-147.2-12.3 57.4-95.6c2.1-3.5 1.2-8.1-2.1-10.5s-7.9-2-10.7 1L256 172.2 165.9 74.6c-2.8-3-7.4-3.4-10.7-1z\"/></svg>","links":[{"key":"website","url":"https://www.ruby-lang.org"}],"projects":[{"title":"Rubellite","url":"./projects/libraries/rubellite.html","description":"Next-generation bidirectional Crystal <-> Ruby interop, Spinel AOT compiler, CSP concurrency channels, and radare2 diagnostics.","section":"libraries"}],"games":[],"achievements":[],"posts":[]},"security_research":{"name":"Security Research","slug":"security_research","category":"Security","years":"7 years","date_started":"2017-01-01","description":"Analyzing hardware, firmware, and web applications to discover vulnerabilities and document security risks.","long_description_html":"<p>Security research involves vulnerability discovery, threat modeling, protocol analysis, and hardware/firmware auditing across IoT devices, web services, and binary software.</p>\n","icon":"user-secret.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M171-16c-36.4 0-57.8 58.3-68.3 112L72 9
6106c-13.3 0-24 10.7-24 24s10.7 24 24 24l24 0 0 32c0 17 3.3 33.2 9.3 48l-9.3 0 0 0-20.5 0c-15.2 0-27.5 12.3-27.5 27.5 0 3 .5 5.9 1.4 8.7l28.9 86.6C40.2 379.6 16 428.1 16 482.3 16 498.7 29.3 512 45.7 512l356.6 0c16.4 0 29.7-13.3 29.7-29.7 0-54.2-24.2-102.7-62.3-135.4l28.9-86.6c.9-2.8 1.4-5.7 1.4-8.7 0-15.2-12.3-27.5-27.5-27.5l-20.5 0 0 0-9.3 0c6-14.8 9.3-31 9.3-48l0-32 24 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-30.7 0c-10.4-53.7-31.9-112-68.3-112-9.6 0-19 3.9-27.5 8.2-8.2 4.1-18.4 7.8-25.5 7.8s-17.3-3.7-25.5-7.8C190-12.1 180.6-16 171-16zm93.7 484.4l-24.8-70.9 27.9-32.5c2.7-3.2 4.2-7.2 4.2-11.4 0-9.7-7.8-17.5-17.5-17.5l-61 0c-9.7 0-17.5 7.8-17.5 17.5 0 4.2 1.5 8.2 4.2 11.4l27.9 32.5-24.8 70.9-57-180.4 35.7 0c18.4 10.2 39.5 16 62 16s43.6-5.8 62-16l35.7 0-57 180.4zM224 256c-34.7 0-64.2-22.1-75.3-53 5.7 3.2 12.3 5 19.3 5l12.4 0c16.5 0 31.1-10.6 36.3-26.2 2.3-7 12.2-7 14.5 0 5.2 15.6 19.9 26.2 36.3 26.2l12.4 0c7 0 13.6-1.8 19.3-5-11.1 30.9-40.6 53-75.3 53z\"/></svg>","links":[{"key":"cve","url":"https://cve.mitre.org"}],"projects":[{"title":"cradare2","url":"./projects/libraries/cradare2.html","description":"High-performance radare2 pipe and binary analysis toolkit for Crystal with interactive debugging, source line mapping, and crash diagnosis.","section":"libraries"},{"title":"crowbar","url":"./projects/libraries/crowbar.html","description":"An all-purpose fuzzer built in Crystal to generate bad data cases from sample input.","section":"libraries"},{"title":"xet","url":"./projects/programs/xet.html","description":"Xiongmai Exploitation Toolkit for interacting with and analyzing Xiongmai-based camera systems.","section":"programs"},{"title":"xiongmai-investigational-journey","url":"./projects/programs/xiongmai_investigational_journey.html","description":"Investigation script toolkit, hashes database, and fuzzers for Xiongmai cameras.","section":"programs"},{"title":"vstarcam-investigational-journey","url":"./projects/programs/vstarcam_investigational_journey.html","description":"Research tools, exploits, and PoCs from the VStarCam investigational journey.","section":"programs"}],"games":[],"achievements":[{"title":"CVE-2019-11878 - Xiongmai Size Integer Overflow","category":"CVEs","date":"2019","issuer":"MITRE","description":"Discovered and disclosed a remote size integer overflow vulnerability leading to buffer overflow and remote execution risks in Xiongmai IP camera devices.","link":"https://www.cve.org/CVERecord?id=CVE-2019-11878"},{"title":"CVE-2019-11014 - VStarCam Client Hijacking","category":"CVEs","date":"2019","issuer":"MITRE","description":"Discovered and disclosed a Man-In-The-Middle (MITM) client hijacking vulnerability in VStarCam IP camera firmware, tied to botnet infrastructure research.","link":"https://www.cve.org/CVERecord?id=CVE-2019-11014"}],"posts":[{"title":"Intro","url":"./vstarcam_journey/0.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":0,"date":"2019-09-03"},{"title":"Network Protocol Analysis","url":"./vstarcam_journey/1.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":1,"date":"2019-09-03"},{"title":"Password Hashes & Exploitation","url":"./vstarcam_journey/2.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":2,"date":"2019-09-03"},{"title":"Hardware Dumping","url":"./vstarcam_journey/3.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":3,"date":"2019-09-03"},{"title":"Writing a Client","url":"./vstarcam_journey/4.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":4,"date":"2019-09-03"},{"title":"Reversing authentication","url":"./vstarcam_journey/6.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":6,"date":"2019-09-03"},{"title":"Post Mortem & Fixes","url":"./vstarcam_journey/9.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":9,"date":"2019-09-03"},{"title":"Re-evaluating fixed vulnerabilities","url":"./vstarcam_journey/10.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":10,"date":"2019-09-03"},{"title":"Intro","url":"./xiongmai_journey/0.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":0,"date":"2019-09-04"},{"title":"Hardware","url":"./xiongmai_journey/1.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":1,"date":"2019-09-04"},{"title":"Software Overview and Audit","url":"./xiongmai_journey/2.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":2,"date":"2019-09-04"},{"title":"Hashing","url":"./xiongmai_journey/3.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":3,"date":"2019-09-04"},{"title":"Basic Fuzzing","url":"./xiongmai_journey/4.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":4,"date":"2019-09-04"},{"title":"Advanced Fuzzing","url":"./xiongmai_journey/5.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":5,"date":"2019-09-04"},{"title":"Fuzzing With Radamsa","url":"./xiongmai_journey/6.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":6,"date":"2019-09-04"},{"title":"Brute Force","url":"./xiongmai_journey/7.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":7,"date":"2019-09-04"},{"title":"Denial of Service","url":"./xiongmai_journey/8.html","chain_title":"Xiongmai Security Research","category":"xiongmai_journey","index":8,"date":"2019-09-04"}]},"shaders":{"name":"Shaders","slug":"shaders","category":"Graphics & Game Dev","years":"4 years","date_started":"2020-01-01","description":"GPU shader programming for custom visual effects, post-processing, and material lighting.","long_description_html":"<p>Shader programming enables custom GPU pixel and vertex manipulation for real-time graphics, lighting models, and retro visual post-processing effects.</p>\n","icon":"sparkles.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M391.5 53.2c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L448 96 469.2 152.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L512 96 568.5 74.8c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L512 32 490.8-24.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L448 32 391.5 53.2zm-185 20.1c-2.6-5.7-8.3-9.3-14.5-9.3s-11.9 3.6-14.5 9.3l-53.1 115-115 53.1C3.6 244.1 0 249.8 0 256s3.6 11.9 9.3 14.5l115 53.1 53.1 115c2.6 5.7 8.3 9.3 14.5 9.3s11.9-3.6 14.5-9.3l53.1-115 115-53.1c5.7-2.6 9.3-8.3 9.3-14.5s-3.6-11.9-9.3-14.5l-115-53.1-53.1-115zM416 416l-56.5 21.2c-4.5 1.7-7.5 6-7.5 10.8s3 9.1 7.5 10.8L416 480 437.2 536.5c1.7 4.5 6 7.5 10.8 7.5s9.1-3 10.8-7.5L480 480 536.5 458.8c4.5-1.7 7.5-6 7.5-10.8s-3-9.1-7.5-10.8L480 416 458.8 359.5c-1.7-4.5-6-7.5-10.8-7.5s-9.1 3-10.8 7.5L416 416z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Shader"}],"projects":[{"title":"Opal","url":"./projects/libraries/opal.html","description":"Next-generation terminal user interface (TUI) framework and Elm Architecture engine for Crystal.","section":"libraries"},{"title":"CRShader","url":"./projects/libraries/crshader.html","description":"Ultrafast shader trans-compiler and live runtime development toolchain for Godot Engine 4.8+ via Crystal and Lapis.","section":"libraries"},{"title":"Low-Poly Precision Outline Shader for Godot 4","url":"./projects/assets/shaders/low_poly_pos.html","description":"A precision surface map pre-computed outline shader for Godot 4 that works on Web, Mobile, and Desktop.","section":"assets"}],"games":[{"title":"BOX WARP","url":"https://box-warp.sol.vin","description":"[TRIJAM 346] A box warping puzzle game made in 3 hours for TRIJAM 346.","subdomain":"box-warp","engine":"Godot 4"},{"title":"Liminalita","url":"https://liminalita.sol.vin","description":"(IN DEVELOPMENT) A 3D first-person procedural art gallery and walking simulator.","subdomain":"liminalita","engine":"Godot 4"},{"title":"Soulantern","url":"https://soulantern.sol.vin","description":"[1DAYJAM #3 WINNER] High-speed first-person precision platformer propelled by lantern recoil momentum and aerial dashes.","subdomain":"soulantern","engine":"Godot 4.3"},{"title":"Solo Oasis : Unlimited Places","url":"https://soup.sol.vin","description":"A surreal, minimalist walking simulator collaboration consisting of fever-dream rooms, inspired by SOUP and LSD: Dream Emulator.","subdomain":"soup","engine":"Godot 4.3"},{"title":"The Problem With Trolleys","url":"https://trolleys.sol.vin","description":"[TRIJAM 363 WINNER] A short 3hr game jam puzzle game about managing trolley switches without crashing trains.","subdomain":"trolleys","engine":"Godot 4"}],"achievements":[{"title":"TRIJAM 363","category":"Game Jams","date":"2026","issuer":"Itch.io Jam","description":"TRIJAM 363 
610challenged creators to complete a full game in under 3 hours of total production time. 'The Problem With Trolleys' won 1st Place overall!","link":"https://itch.io/jam/trijam-363"},{"title":"SOUPJAM 2026","category":"Game Jams","date":"2026","issuer":"Itch.io Jam","description":"A collaborative 72-hour game jam focused on creating interconnected surreal rooms and walking experiences inspired by SOUP and LSD: Dream Emulator.","link":"https://itch.io/jam/soupjam2026"},{"title":"1-DAY JAM #3","category":"Game Jams","date":"2026","issuer":"Itch.io Jam","description":"1-DAY JAM #3 challenged game developers to complete a full game in under 24 hours around the theme 'FIRE'. Soulantern won 1st Place overall!","link":"https://itch.io/jam/1-day-jam-3"},{"title":"TRIJAM 346","category":"Game Jams","date":"2025","issuer":"Itch.io Jam","description":"A fast-paced 3-hour game jam where developers have a strict 3-hour development window to design and build a complete game around a secret theme.","link":"https://itch.io/jam/trijam-346"}],"posts":[{"title":"Project Origins, Gallery Concepts & Spatial Illusions","url":"./liminalita_devlog/0.html","chain_title":"Liminalita Devlog","category":"liminalita_devlog","index":0,"date":"2025-05-19"},{"title":"Shader Optimization & Visual Refinements","url":"./liminalita_devlog/3.html","chain_title":"Liminalita Devlog","category":"liminalita_devlog","index":3,"date":"2025-08-19"}]},"simulation":{"name":"Simulation","slug":"simulation","category":"Computer Science","years":"4 years","date_started":"2020-01-01","description":"Modeling complex real-world or artificial systems, cellular automata, and interactive agent behaviors.","long_description_html":"<p>Simulation development covers cellular automata (Wireworld, Game of Life), physics state updates, and agent-based systemic simulations.</p>\n","icon":"atom.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M224 398.8c-11.8 5.1-23.4 9.7-34.9 13.5 16.7 33.8 31 35.7 34.9 35.7s18.1-1.9 34.9-35.7c-11.4-3.9-23.1-8.4-34.9-13.5zM414 256c33 45.2 44.3 90.9 23.6 128-20.2 36.3-62.5 49.3-115.2 43.2-22 52.1-55.7 84.8-98.4 84.8s-76.4-32.7-98.4-84.8C72.9 433.3 30.6 420.3 10.4 384-10.3 346.9 1 301.2 34 256 1 210.8-10.3 165.1 10.4 128 30.6 91.7 72.9 78.7 125.6 84.8 147.6 32.7 181.2 0 224 0s76.4 32.7 98.4 84.8c52.7-6.1 95 6.8 115.2 43.2 20.7 37.1 9.4 82.8-23.6 128zm-65.8 67.4c-1.7 14.2-3.9 28-6.7 41.2 31.8 1.4 38.6-8.7 40.2-11.7 2.3-4.2 7-17.9-11.9-48.1-6.8 6.3-14 12.5-21.6 18.6zm-6.7-175.9c2.8 13.1 5 26.9 6.7 41.2 7.6 6.1 14.8 12.3 21.6 18.6 18.9-30.2 14.2-44 11.9-48.1-1.6-2.9-8.4-13-40.2-11.7zM258.9 99.7C242.1 65.9 227.9 64 224 64s-18.1 1.9-34.9 35.7c11.4 3.9 23.1 8.4 34.9 13.5 11.8-5.1 23.4-9.7 34.9-13.5zm-159 88.9c1.7-14.3 3.9-28 6.7-41.2-31.8-1.4-38.6 8.7-40.2 11.7-2.3 4.2-7 17.9 11.9 48.1 6.8-6.3 14-12.5 21.6-18.6zM78.2 304.8c-18.9 30.2-14.2 44-11.9 48.1 1.6 2.9 8.4 13 40.2 11.7-2.8-13.1-5-26.9-6.7-41.2-7.6-6.1-14.8-12.3-21.6-18.6zM304 256a80 80 0 1 0 -160 0 80 80 0 1 0 160 0zm-80-32a32 32 0 1 1 0 64 32 32 0 1 1 0-64z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Simulation"}],"projects":[{"title":"Diorite","url":"./projects/libraries/diorite.html","description":"High-priority 2D and 3D debug drawing plugin and zero-allocation frame DSL for Godot Engine 4.8+ via Lapis.","section":"libraries"},{"title":"wireland","url":"./projects/programs/wireland.html","description":"An esoteric circuit simulator written in Crystal.","section":"programs"}],"games":[],"achievements":[],"posts":[]},"sip":{"name":"SIP","slug":"sip","category":"Networking & Security","years":"6 years","date_started":"2018-01-01","description":"Session Initiation Protocol (RFC 3261) used for signaling and controlling VoIP communication sessions.","long_description_html":"<p>Session Initiation Protocol (SIP) is an application-layer control protocol for creating, modifying, and terminating real-time sessions like VoIP calls. My work includes analyzing SIP call flows, auditing SIP user agents on IoT cameras, and dissecting authentication mechanisms.</p>\n","icon":"phone.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M160.2 25C152.3 6.1 131.7-3.9 112.1 1.4l-5.5 1.5c-64.6 17.6-119.8 80.2-103.7 156.4 37.1 175 174.8 312.7 349.8 349.8 76.3 16.2 138.8-39.1 156.4-103.7l1.5-5.5c
6105.4-19.7-4.7-40.3-23.5-48.1l-97.3-40.5c-16.5-6.9-35.6-2.1-47 11.8l-38.6 47.2C233.9 335.4 177.3 277 144.8 205.3L189 169.3c13.9-11.3 18.6-30.4 11.8-47L160.2 25z\"/></svg>","links":[{"key":"rfc","url":"https://datatracker.ietf.org/doc/html/rfc3261"}],"projects":[],"games":[],"achievements":[],"posts":[]},"static_analysis":{"name":"Static Analysis","slug":"static_analysis","category":"Systems & Security","years":"8 years","date_started":"2016-01-01","description":"Auditing source code and binary assets to detect software flaws, security anti-patterns, and compliance issues.","long_description_html":"<p>Static analysis encompasses inspecting codebase ASTs, control flow graphs, and data flows without executing code. I use static analyzers and custom parsing scripts to detect vulnerability patterns (integer overflows, buffer handling, memory safety) early in development.</p>\n","icon":"magnifying-glass.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376C296.3 401.1 253.9 416 208 416 93.1 416 0 322.9 0 208S93.1 0 208 0 416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z\"/></svg>","links":[{"key":"cwe","url":"https://cwe.mitre.org"}],"projects":[{"title":"Jasper","url":"./projects/libraries/jasper.html","description":"Modular structured guide, book, and documentation compiler for Crystal docs.","section":"libraries"},{"title":"cradare2","url":"./projects/libraries/cradare2.html","description":"High-performance radare2 pipe and binary analysis toolkit for Crystal with interactive debugging, source line mapping, and crash diagnosis.","section":"libraries"},{"title":"crowbar","url":"./projects/libraries/crowbar.html","description":"An all-purpose fuzzer built in Crystal to generate bad data cases from sample input.","section":"libraries"}],"games":[],"achievements":[],"posts":[{"title":"Memory Leaks and De-serialization","url":"./vstarcam_journey/5.html","chain_title":"VStarCam Security Research","category":"vstarcam_journey","index":5,"date":"2019-09-03"}]},"sunvox":{"name":"SunVox","slug":"sunvox","category":"Audio & Music","years":"5 years","date_started":"2019-01-01","description":"Small, fast, and powerful modular synthesizer and pattern-based tracker for music composition.","long_description_html":"<p>SunVox is a flexible modular synth tracker. Used for composing original chiptune soundtracks, game SFX, and integrating native SunVox audio engines via libsunvox C bindings.</p>\n","icon":"music.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M468 7c7.6 6.1 12 15.3 12 25l0 304c0 44.2-43 80-96 80s-96-35.8-96-80 43-80 96-80c11.2 0 22 1.6 32 4.6l0-116.7-224 49.8 0 206.3c0 44.2-43 80-96 80s-96-35.8-96-80 43-80 96-80c11.2 0 22 1.6 32 4.6L128 96c0-15 10.4-28 25.1-31.2l288-64c9.5-2.1 19.4 .2 27 6.3z\"/></svg>","links":[{"key":"website","url":"https://www.warmplace.ru/soft/sunvox/"}],"projects":[{"title":"SunVox Animalese Generator","url":"./projects/assets/sounds/anamalese_generator.html","description":"Animalese voice generator module for the SunVox modular synthesizer engine.","section":"assets"},{"title":"solvox","url":"./projects/programs/solvox.html","description":"An esoteric, Wireland-inspired modular synth and tracker built off the SunVox developer library.","section":"programs"},{"title":"libsunvox","url":"./projects/libraries/libsunvox.html","description":"C-bindings for the SunVox audio library modular synthesizer engine, written in Crystal.","section":"libraries"}],"games":[{"title":"Liminalita","url":"https://liminalita.sol.vin","description":"(IN DEVELOPMENT) A 3D first-person procedural art gallery and walking simulator.","subdomain":"liminalita","engine":"Godot 4"},{"title":"Solo Oasis : Unlimited Places","url":"https://soup.sol.vin","description":"A surreal, minimalist walking simulator collaboration consisting of fever-dream rooms, inspired by SOUP and LSD: Dream Emulator.","subdomain":"soup","engine":"Godot 4.3"}],"achievements":[{"title":"SOUPJAM 2026","category":"Game Jams","date":"2026","issuer":"Itch.io Jam","description":"A collaborative 72-hour game jam focused on creating interconnected surreal rooms and walking experiences inspired by SOUP and LSD: Dream Emulator.","link":"https://itch.io/jam/soupjam2026"}],"posts":[]},"svg":{"name":"SVG","slug":"svg","category":"Design & Art","years":"6 years","date_started":"2018-01-01","description":"Scalable Vector Graphics XML format for resolution-independent vector illustrations and programmatic rendering.","long_description_html":"<p>Scalable Vector Graphics (SVG) is an XML-based vector image format. Used for creating UI icon sets, generating programmatic vector graphics in Crystal/Ruby, and clean web illustrations.</p>\n","icon":"vector-square.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M32 119.4C12.9 108.4 0 87.7 0 64 0 28.7 28.7 0 64 0 87.7 0 108.4 12.9 119.4 32l273.1 0c11.1-19.1 31.7-32 55.4-32 35.3 0 64 28.7 64 64 0 23.7-12.9 44.4-32 55.4l0 273.1c19.1 11.1 32 31.7 32 55.4 0 35.3-28.7 64-64 64-23.7 0-44.4-12.9-55.4-32l-273.1 0c-11.1 19.1-31.7 32-55.4 32-35.3 0-64-28.7-64-64 0-23.7 12.9-44.4 32-55.4l0-273.1zm64 0l0 273.1c9.7 5.6 17.8 13.7 23.4 23.4l273.1 0c5.6-9.7 13.7-17.8 23.4-23.4l0-273.1c-9.7-5.6-17.8-13.7-23.4-23.4L119.4 96c-5.6 9.7-13.7 17.8-23.4 23.4z\"/></svg>","links":[{"key":"website","url":"https://www.w3.org/TR/SVG2/"}],"projects":[{"title":"celestine","url":"./projects/libraries/celestine.html","description":"An SVG library and DSL written in Crystal for creating generative art, animations, and graphics.","section":"libraries"}],"games":[],"achievements":[{"title":"Generative Art, SVG, and Celestine (Raw Crystal 2020)","category":"Talks","date":"2020","issuer":"Raw Crystal 2020","description":"Presentation detailing vector mathematics, procedural graphics generation in SVG format, and architectural decisions behind the Celestine library in Crystal.","link":"https://www.youtube.com/watch?v=X150LMZy7uY"}],"posts":[]},"terraform":{"name":"Terraform","slug":"terraform","category":"Tools & Infrastru
610cture","years":"6 years","date_started":"2018-01-01","description":"Declarative Infrastructure-as-Code (IaC) tool for provisioning cloud resources.","long_description_html":"<p>Terraform enables declarative management of cloud infrastructure via code, enabling reproducible state and automated deployment pipelines across AWS and cloud providers.</p>\n","icon":"layer-group.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M232.5 5.2c14.9-6.9 32.1-6.9 47 0l218.6 101c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L13.9 149.8C5.4 145.8 0 137.3 0 128s5.4-17.9 13.9-21.8L232.5 5.2zM48.1 218.4l164.3 75.9c27.7 12.8 59.6 12.8 87.3 0l164.3-75.9 34.1 15.8c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L13.9 277.8C5.4 273.8 0 265.3 0 256s5.4-17.9 13.9-21.8l34.1-15.8zM13.9 362.2l34.1-15.8 164.3 75.9c27.7 12.8 59.6 12.8 87.3 0l164.3-75.9 34.1 15.8c8.5 3.9 13.9 12.4 13.9 21.8s-5.4 17.9-13.9 21.8l-218.6 101c-14.9 6.9-32.1 6.9-47 0L13.9 405.8C5.4 401.8 0 393.3 0 384s5.4-17.9 13.9-21.8z\"/></svg>","links":[{"key":"website","url":"https://www.terraform.io"}],"projects":[],"games":[],"achievements":[],"posts":[]},"trenchbroom":{"name":"TrenchBroom","slug":"trenchbroom","category":"Design & Art","years":"2 years","date_started":"2022-01-01","description":"Cross-platform level editor for Quake-style engine maps and 3D level design.","long_description_html":"<p>TrenchBroom is a modern, intuitive level editor designed for Quake-style brush geometry and 3D level construction for classic retro FPS engines and Godot integrations.</p>\n","icon":"box.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M369.4 128l-34.3-48-222.1 0-34.3 48 290.7 0zM0 148.5c0-13.3 4.2-26.3 11.9-37.2L60.9 42.8C72.9 26 92.3 16 112.9 16l222.1 0c20.7 0 40.1 10 52.1 26.8l48.9 68.5c7.8 10.9 11.9 23.9 11.9 37.2L448 416c0 35.3-28.7 64-64 64L64 480c-35.3 0-64-28.7-64-64L0 148.5z\"/></svg>","links":[{"key":"website","url":"https://trenchbroom.github.io"}],"projects":[],"games":[{"title":"BOX WARP","url":"https://box-warp.sol.vin","description":"[TRIJAM 346] A box warping puzzle game made in 3 hours for TRIJAM 346.","subdomain":"box-warp","engine":"Godot 4"},{"title":"Liminalita","url":"https://liminalita.sol.vin","description":"(IN DEVELOPMENT) A 3D first-person procedural art gallery and walking simulator.","subdomain":"liminalita","engine":"Godot 4"}],"achievements":[{"title":"TRIJAM 346","category":"Game Jams","date":"2025","issuer":"Itch.io Jam","description":"A fast-paced 3-hour game jam where developers have a strict 3-hour development window to design and build a complete game around a secret theme.","link":"https://itch.io/jam/trijam-346"}],"posts":[]},"tui":{"name":"Terminal UI","slug":"tui","category":"Tools & Frameworks","years":"5 years","date_started":"2019-01-01","description":"Terminal user interface architecture, Elm architecture (TEA), ANSI escape sequences, and virtual terminal emulation.","long_description_html":"<p>Building rich, double-buffered, and accessible terminal user interfaces using ANSI/VT100 escape codes, TrueColor rasterization, and Elm-inspired architecture models.</p>\n","icon":"terminal.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M9.4 118.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l160 160c12.5 12.5 12.5 32.8 0 45.3l-160 160c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L146.7 256 9.4 118.6zM224 384l256 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-256 0c-17.7 0-32-14.3-32-32s14.3-32 32-32z\"/></svg>","links":[],"projects":[{"title":"Fluorite","url":"./projects/libraries/fluorite.html","description":"Modern FFMPEG bindings, fluent Crystal DSL, streaming process wrapper, smart presets, and interactive Opal TUI.","section":"libraries"},{"title":"Opal","url":"./projects/libraries/opal.html","description":"Next-generation terminal user interface (TUI) framework and Elm Architecture engine for Crystal.","section":"libraries"}],"games":[],"achievements":[],"posts":[]}
610,"typescript":{"name":"TypeScript","slug":"typescript","category":"Languages","years":"6 years","date_started":"2018-01-01","description":"Strongly typed programming language that builds on JavaScript for scalable front-end and back-end development.","long_description_html":"<p>TypeScript enables robust type safety across large web applications, client-side tools, and web integrations.</p>\n","icon":"js.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 448 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M0 32l0 448 448 0 0-448-448 0zM243.8 381.4c0 43.6-25.6 63.5-62.9 63.5-33.7 0-53.2-17.4-63.2-38.5L152 385.7c6.6 11.7 12.6 21.6 27.1 21.6 13.8 0 22.6-5.4 22.6-26.5l0-143.1 42.1 0 0 143.7zm99.6 63.5c-39.1 0-64.4-18.6-76.7-43L301 382.1c9 14.7 20.8 25.6 41.5 25.6 17.4 0 28.6-8.7 28.6-20.8 0-14.4-11.4-19.5-30.7-28l-10.5-4.5c-30.4-12.9-50.5-29.2-50.5-63.5 0-31.6 24.1-55.6 61.6-55.6 26.8 0 46 9.3 59.8 33.7L368 290c-7.2-12.9-15-18-27.1-18-12.3 0-20.1 7.8-20.1 18 0 12.6 7.8 17.7 25.9 25.6l10.5 4.5c35.8 15.3 55.9 31 55.9 66.2 0 37.8-29.8 58.6-69.7 58.6z\"/></svg>","links":[{"key":"website","url":"https://www.typescriptlang.org"}],"projects":[],"games":[],"achievements":[],"posts":[]},"voip":{"name":"VoIP","slug":"voip","category":"Networking & Security","years":"6 years","date_started":"2018-01-01","description":"Voice over Internet Protocol technologies for real-time voice, video, and multimedia communication over IP networks.","long_description_html":"<p>VoIP encompasses protocols and media streaming technologies (SIP, RTP, RTSP, SDP) enabling audio/video transport over IP networks.</p>\n","icon":"phone.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 512 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M160.2 25C152.3 6.1 131.7-3.9 112.1 1.4l-5.5 1.5c-64.6 17.6-119.8 80.2-103.7 156.4 37.1 175 174.8 312.7 349.8 349.8 76.3 16.2 138.8-39.1 156.4-103.7l1.5-5.5c5.4-19.7-4.7-40.3-23.5-48.1l-97.3-40.5c-16.5-6.9-35.6-2.1-47 11.8l-38.6 47.2C233.9 335.4 177.3 277 144.8 205.3L189 169.3c13.9-11.3 18.6-30.4 11.8-47L160.2 25z\"/></svg>","links":[{"key":"wikipedia","url":"https://en.wikipedia.org/wiki/Voice_over_IP"}],"projects":[],"games":[],"achievements":[],"posts":[]},"vscode":{"name":"VS Code","slug":"vscode","category":"Developer Tools","years":"7 years","date_started":"2017-01-01","description":"Lightweight, extensible code editor used for daily multi-language development and debugging.","long_description_html":"<p>Visual Studio Code is a cross-platform source-code editor with native debugging support, Git integration, custom tasks, and extensive extension ecosystems for Crystal, Ruby, Python, and C/C++.</p>\n","icon":"code.svg","svg_content":"<svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 576 512\"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill=\"currentColor\" d=\"M360.8 1.2c-17-4.9-34.7 5-39.6 22l-128 448c-4.9 17 5 34.7 22 39.6s34.7-5 39.6-22l128-448c4.9-17-5-34.7-22-39.6zm64.6 136.1c-12.5 12.5-12.5 32.8 0 45.3l73.4 73.4-73.4 73.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l96-96c12.5-12.5 12.5-32.8 0-45.3l-96-96c-12.5-12.5-32.8-12.5-45.3 0zm-274.7 0c-12.5-12.5-32.8-12.5-45.3 0l-96 96c-12.5 12.5-12.5 32.8 0 45.3l96 96c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 150.6 182.6c12.5-12.5 12.5-32.8 0-45.3z\"/></svg>","links":[{"key":"website","url":"https://code.visualstudio.com"}],"projects":[],"games":[],"achievements":[],"posts":[]}}
611  </script>
611
612
613  <div id="favorite-modal-overlay" class="skill-modal-overlay" role="dialog" aria-modal="true" aria-labelledby="favorite-modal-title">
614    <div class="terminal-window skill-modal-window favorite-modal-window">
615      <div class="window-header">
616        <h1 id="favorite-modal-title" class="window-title"><span class="window-header-icon" title="Favorite Spec"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M309.5-18.9c-4.1-8-12.4-13.1-21.4-13.1s-17.3 5.1-21.4 13.1L193.1 125.3 33.2 150.7c-8.9 1.4-16.3 7.7-19.1 16.3s-.5 18 5.8 24.4l114.4 114.5-25.2 159.9c-1.4 8.9 2.3 17.9 9.6 23.2s16.9 6.1 25 2L288.1 417.6 432.4 491c8 4.1 17.7 3.3 25-2s11-14.2 9.6-23.2L441.7 305.9 556.1 191.4c6.4-6.4 8.6-15.8 5.8-24.4s-10.1-14.9-19.1-16.3L383 125.3 309.5-18.9z"/></svg></span>FAVORITE // Specification // Media Details</h1>
617        <div class="window-controls">
618          <span id="favorite-modal-close-btn" class="window-btn skill-modal-close window-btn-close" title="Close Window"><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M55.1 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L147.2 256 9.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192.5 301.3 329.9 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.8 256 375.1 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192.5 210.7 55.1 73.4z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></span>
619        </div>
620      </div>
621      <div class="window-body favorite-modal-body">
622        <div id="favorite-modal-single-body">
623          <div class="skill-modal-meta">
624            <div><strong>Category:</strong> <span id="favorite-modal-category"></span></div>
625            <div id="favorite-modal-creator-wrap"><strong>Creator:</strong> <span id="favorite-modal-creator"></span></div>
626            <div id="favorite-modal-year-wrap"><strong>Year:</strong> <span id="favorite-modal-year"></span></div>
627            <div id="favorite-modal-rating-wrap"><strong>Rating:</strong> <span id="favorite-modal-rating"></span></div>
628            <div id="favorite-modal-links-wrap">
629              <strong>Link:</strong>
630              <span id="favorite-modal-links"></span>
631            </div>
632          </div>
633          <div class="skill-modal-short-desc" id="favorite-modal-short-desc"></div>
634          <div class="skill-modal-long-desc" id="favorite-modal-long-desc"></div>
635          
636          <div id="favorite-modal-player-section">
637            <h2 class="modal-section-h2">[ MEDIA PLAYER / EMBED ]</h2>
638            <div id="favorite-modal-player-container"></div>
639          </div>
640        </div>
641
642        <div id="favorite-modal-collection-body">
643          <div class="skill-modal-meta favorite-modal-meta">
644            <div><strong>Artist / Creator:</strong> <span id="favorite-modal-col-creator"></span></div>
645            <div><strong>Total Tracks / Items:</strong> <span id="favorite-modal-col-count" class="fav-badge-collection fav-badge-collection-inline"></span></div>
646            <div id="favorite-modal-col-link-wrap">
647              <a id="favorite-modal-col-artist-link" href="#" target="_blank" class="accolade-link-btn" title="View Artist Profile"><span>ARTIST WEBSITE / PROFILE →</span></a>
648            </div>
649          </div>
650          <div class="fav-desc" id="favorite-modal-col-desc"></div>
651          
652          <div class="favorite-modal-section-divider">
653            <h2 class="modal-section-h2">[ COLLECTION PLAYERS &amp; MEDIA LINKS ]</h2>
654            <div id="favorite-modal-items-container"></div>
655          </div>
656        </div>
657      </div>
658    </div>
659  </div>
660
661  <div id="jam-modal-overlay" class="skill-modal-overlay" role="dialog" aria-modal="true" aria-labelledby="jam-modal-title">
662    <div class="terminal-window skill-modal-window jam-modal-window">
663      <div class="window-header">
664        <h1 id="jam-modal-title" class="window-title"><span class="window-header-icon" title="Game Jam Spec"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
664<path fill="currentColor" d="M144.3 0l224 0c26.5 0 48.1 21.8 47.1 48.2-.2 5.3-.4 10.6-.7 15.8l49.6 0c26.1 0 49.1 21.6 47.1 49.8-7.5 103.7-60.5 160.7-118 190.5-15.8 8.2-31.9 14.3-47.2 18.8-20.2 28.6-41.2 43.7-57.9 51.8l0 73.1 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-192 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l64 0 0-73.1c-16-7.7-35.9-22-55.3-48.3-18.4-4.8-38.4-12.1-57.9-23.1-54.1-30.3-102.9-87.4-109.9-189.9-1.9-28.1 21-49.7 47.1-49.7l49.6 0c-.3-5.2-.5-10.4-.7-15.8-1-26.5 20.6-48.2 47.1-48.2zM101.5 112l-52.4 0c6.2 84.7 45.1 127.1 85.2 149.6-14.4-37.3-26.3-86-32.8-149.6zM380 256.8c40.5-23.8 77.1-66.1 83.3-144.8L411 112c-6.2 60.9-17.4 108.2-31 144.8z"/></svg></span>JAM // Specification // Event Details</h1>
665        <div class="window-controls">
666          <span id="jam-modal-close-btn" class="window-btn skill-modal-close window-btn-close" title="Close Window"><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M55.1 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L147.2 256 9.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192.5 301.3 329.9 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.8 256 375.1 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192.5 210.7 55.1 73.4z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></span>
667        </div>
668      </div>
669      <div class="window-body">
670        <h2 id="jam-modal-name"></h2>
671        <p id="jam-modal-tagline"></p>
672        
673        <div class="skill-modal-meta jam-modal-meta-grid">
674          <div id="jam-modal-host-wrap"><strong>Host / Organizer:</strong> <span id="jam-modal-host"></span></div>
675          <div id="jam-modal-dates-wrap"><strong>Dates:</strong> <span id="jam-modal-dates"></span></div>
676          <div id="jam-modal-link-wrap"><strong>Link:</strong> <span id="jam-modal-link"></span></div>
677        </div>
678
679        <div id="jam-modal-live-stats-wrap">
680          <h3 class="jam-modal-section-h3">[ LIVE JAM STATS ]</h3>
681          <div id="jam-modal-live-stats" class="project-live-stats jam-live-stats"></div>
682        </div>
683
684        <div id="jam-modal-desc-wrap">
685          <h3 class="jam-modal-section-h3">[ OVERVIEW ]</h3>
686          <p id="jam-modal-desc"></p>
687        </div>
688
689        <div id="jam-modal-games-wrap">
690          <h3 class="jam-modal-section-h3">[ SUBMITTED GAMES ]</h3>
691          <div id="jam-modal-games-list"></div>
692        </div>
693      </div>
694    </div>
695  </div>
696
697  <div id="carousel-thumbs-modal-overlay" class="skill-modal-overlay" role="dialog" aria-modal="true" aria-labelledby="carousel-thumbs-modal-title">
698    <div class="terminal-window skill-modal-window carousel-thumbs-window">
699      <div class="window-header window-header-flex">
700        <h1 id="carousel-thumbs-modal-title" class="window-title carousel-thumbs-title">
701          <span class="window-header-icon" title="Gallery Selector"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
701<path fill="currentColor" d="M96 96c0-35.3 28.7-64 64-64l320 0c35.3 0 64 28.7 64 64l0 256c0 35.3-28.7 64-64 64l-320 0c-35.3 0-64-28.7-64-64L96 96zM24 128c13.3 0 24 10.7 24 24l0 296c0 8.8 7.2 16 16 16l360 0c13.3 0 24 10.7 24 24s-10.7 24-24 24L64 512c-35.3 0-64-28.7-64-64L0 152c0-13.3 10.7-24 24-24zm168 32a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm196.5 11.5c-4.4-7.1-12.1-11.5-20.5-11.5s-16.1 4.4-20.5 11.5l-56.3 92.1-24.5-30.6c-4.6-5.7-11.4-9-18.7-9s-14.2 3.3-18.7 9l-64 80c-5.8 7.2-6.9 17.1-2.9 25.4S174.8 352 184 352l272 0c8.7 0 16.7-4.7 20.9-12.3s4.1-16.8-.5-24.3l-88-144z"/></svg></span>GALLERY // Slide Selector // Thumbnails
702        </h1>
703        <div class="window-controls">
704          <button type="button" id="carousel-thumbs-modal-close" class="window-btn window-btn-close" title="Close Gallery"><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg></span><span class="window-btn-icon-wrap"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M55.1 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L147.2 256 9.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192.5 301.3 329.9 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.8 256 375.1 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192.5 210.7 55.1 73.4z"/></svg></span><span class="window-btn-bracket"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg></span></button>
705        </div>
706      </div>
707
708      <div class="window-body carousel-thumbs-body">
709        <div id="carousel-thumbs-modal-grid"></div>
710        
711        <div id="carousel-thumbs-modal-pagination">
712          <button type="button" id="carousel-thumbs-prev-page" class="export-btn export-btn-page">[ ◄ PREV PAGE ]</button>
713          <span id="carousel-thumbs-page-badge">[ PAGE 1 / 1 ]</span>
714          <button type="button" id="carousel-thumbs-next-page" class="export-btn export-btn-page">[ NEXT PAGE ► ]</button>
715        </div>
716      </div>
717    </div>
718  </div>
719
720  <div id="game-player-modal-overlay" class="skill-modal-overlay" role="dialog" aria-modal="true" aria-labelledby="game-player-modal-title">
721    <div id="game-player-window" class="terminal-window game-player-window">
722      <div class="window-header game-player-window-header">
723        <h1 id="game-player-modal-title" class="window-title game-player-modal-title">
724          <span class="window-header-icon" title="Game Player"><svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M448 64c106 0 192 86 192 192S554 448 448 448l-256 0C86 448 0 362 0 256S86 64 192 64l256 0zM192 176c-13.3 0-24 10.7-24 24l0 32-32 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l32 0 0 32c0 13.3 10.7 24 24 24s24-10.7 24-24l0-32 32 0c13.3 0 24-10.7 24-24s-10.7-24-24-24l-32 0 0-32c0-13.3-10.7-24-24-24zm240 96a32 32 0 1 0 0 64 32 32 0 1 0 0-64zm64-96a32 32 0 1 0 0 64 32 32 0 1 0 0-64z"/></svg></span>PLAYER // Web Game // Godot &amp; Emulators
725        </h1>
726        <div class="window-controls game-player-controls">
727          <button type="button" id="game-player-maximize-btn" class="window-btn window-btn-clean" title="Maximize Window to Viewport">
728            <svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M32 32C14.3 32 0 46.3 0 64l0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-64 64 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 32zM64 352c0-17.7-14.3-32-32-32S0 334.3 0 352l0 96c0 17.7 14.3 32 32 32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0 0-64zM320 32c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0 0 64c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96c0-17.7-14.3-32-32-32l-96 0zM448 352c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 64-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c17.7 0 32-14.3 32-32l0-96z"/></svg>
729            <span id="maximize-btn-text">[ MAXIMIZE ]</span>
730          </button>
731          <button type="button" id="game-player-fullscreen-btn" class="window-btn window-btn-clean" title="Fullscreen Monitor Mode">
732            <svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M32 32C14.3 32 0 46.3 0 64l0 96c0 17.7 14.3 32 32 32s32-14.3 32-32l0-64 64 0c17.7 0 32-14.3 32-32s-14.3-32-32-32L32 32zM64 352c0-17.7-14.3-32-32-32S0 334.3 0 352l0 96c0 17.7 14.3 32 32 32l96 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-64 0 0-64zM320 32c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0 0 64c0 17.7 14.3 32 32 32s32-14.3 32-32l0-96c0-17.7-14.3-32-32-32l-96 0zM448 352c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 64-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l96 0c17.7 0 32-14.3 32-32l0-96z"/></svg>
733            <span>[ FULLSCREEN ]</span>
734          </button>
735          <button type="button" id="game-player-close-btn" class="window-btn window-btn-clean" title="Close Game">
736            <svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M55.1 73.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L147.2 256 9.9 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0L192.5 301.3 329.9 438.6c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L237.8 256 375.1 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L192.5 210.7 55.1 73.4z"/></svg>
737            <span>[ CLOSE ]</span>
738          </button>
739        </div>
740      </div>
741
742      <div class="window-body game-player-window-body">
743        <iframe id="game-player-iframe" data-src="./shell.html" allow="autoplay; fullscreen; focus-without-user-activation; cross-origin-isolated; pointer-lock; gamepad" credentialless></iframe>
744      </div>
745    </div>
746  </div>
747
748  
748<script id="favorites-catalog-data" type="application/json">
749{"frieren":{"name":"Frieren","title":"Frieren: Beyond Journey's End","slug":"frieren","category":"Anime","type":"standard","is_collection":false,"creator":"Keiichiro Saito","label":null,"studio":"Madhouse","year":"2023-2024","rating":"8.9/10 IMDb","description":"Masterpiece fantasy anime about an elven mage reflecting on time, mortality, human relationships, and memories after defeating the Demon King.","long_description_html":"<p>Frieren: Beyond Journey&#39;s End (Sousou no Frieren) is an extraordinary high-fantasy anime produced by Madhouse. Rather than focusing on the battle to save the world, the story begins after the 10-year hero quest has concluded. Frieren, an immortal elven mage, grapples with the fleeting nature of human lifespan as her former companions age and pass away, prompting her to embark on a quiet journey to retrace their path and understand human hearts.</p>\n","url":"https://www.imdb.com/title/tt22248376/","link_type":"imdb","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":"tt22248376","steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Anime","High Fantasy","Slice of Life","Adventure","Madhouse"],"items":[]},"tatami_galaxy":{"name":"The Tatami Galaxy","title":"The Tatami Galaxy","slug":"tatami_galaxy","category":"Anime","type":"standard","is_collection":false,"creator":"Masaaki Yuasa","label":null,"studio":"Madhouse / Noitamina","year":"2010","rating":"8.4/10 IMDb","description":"Visually inventive and fast-paced anime series directed by Masaaki Yuasa following a college student trapped in parallel timelines searching for the rose-colored campus life.","long_description_html":"<p>Based on Tomihiko Morimi&#39;s novel and directed by visionary Masaaki Yuasa, The Tatami Galaxy is a landmark 11-episode anime masterpiece. Utilizing rapid-fire dialogue, kinetic mixed-media animation, and Groundhog Day-style parallel universe timelines, the series follows a nameless college student in Kyoto as he resets his college years repeatedly to find true fulfillment, friendship with Ozu, and love with Akashi.</p>\n","url":"https://www.imdb.com/title/tt1847445/","link_type":"imdb","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":"tt1847445","steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Anime","Surreal","Comedy","Psychological","Masaaki Yuasa"],"items":[]},"2_mello":{"name":"2 Mello","title":"2 Mello","slug":"2_mello","category":"Collections","type":"collection","is_collection":true,"creator":"2 Mello","label":null,"studio":null,"year":null,"rating":null,"description":"Hip-hop producer, composer, and sound designer known for Jet Set Radio spiritual successor soundtracks and funky breakbeats.","long_description_html":"","url":"https://2mello.bandcamp.com","link_type":"bandcamp","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Jet Set Radio","Cyberfunk","Hip-Hop","Breakbeat","OST","YouTube"],"items":[{"title":"Memories Of Tokyo-To (Full Album)","url":"https://www.youtube.com/watch?v=OBt8ioYEXBw","description":"Full tribute concept album to Jet Set Radio featuring high-energy funk and scratching.","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"OBt8ioYEXBw","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"Sounds Of Tokyo-To Future (Full Album)","url":"https://youtu.be/upIDgvEJrlg","description":"Follow-up album expanding the funky cyberpunk soundscapes with new vocal collabs.","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"upIDgvEJrlg","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"Sunsound Collisions (Full Album)","url":"https://www.youtube.com/watch?v=Ua0_JA4xQQg","description":"Smooth boom-bap hip-h
749op and sample-heavy beat tape.","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"Ua0_JA4xQQg","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"}]},"anamanaguchi":{"name":"Anamanaguchi","title":"Anamanaguchi","slug":"anamanaguchi","category":"Collections","type":"collection","is_collection":true,"creator":"Anamanaguchi","label":null,"studio":null,"year":null,"rating":null,"description":"Loud, hyperactive chiptune indie rock quartet utilizing NES and Game Boy sound generators blended with live instrumentation.","long_description_html":"","url":"https://soundcloud.com/anamanaguchi","link_type":"soundcloud","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Chiptune","Indie Rock","Scott Pilgrim","8-Bit","SoundCloud"],"items":[{"title":"Another Winter (Scott Pilgrim OST)","url":"https://soundcloud.com/anamanaguchi/another-winter","description":"Legendary overworld theme from Scott Pilgrim vs. The World: The Game OST.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/anamanaguchi/another-winter","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Air On Line","url":"https://soundcloud.com/anamanaguchi/anamanaguchi-air-on-line","description":"High-concept electronic rock piece from [USA].","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/anamanaguchi/anamanaguchi-air-on-line","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Lorem Ipsum (Arctic Anthem)","url":"https://soundcloud.com/anamanaguchi/anamanaguchi-lorem-ipsum-arctic-anthem","description":"Fast-tempo anthemic 8-bit rock cut.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/anamanaguchi/anamanaguchi-lorem-ipsum-arctic-anthem","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Pop It (ABSRDST Remix)","url":"https://soundcloud.com/anamanaguchi/pop-it-absrdst-remix","description":"Glitchy bass remix by producer ABSRDST.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/anamanaguchi/pop-it-absrdst-remix","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"android52":{"name":"Android52","title":"Android52","slug":"android52","category":"Collections","type":"collection","is_collection":true,"creator":"Android52","label":"Neoncity Records","studio":null,"year":null,"rating":null,"description":"High-energy French Touch, Future Funk, and anime groove productions by Android52 on Neoncity Records.","long_description_html":"","url":"https://neoncityrecords.bandcamp.com/album/future-groove-product","link_type":"bandcamp","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Future Funk","French Touch","Neoncity Records","Electronic","Bandcamp"],"items":[{"title":"Future Groove Product","url":"https://neoncityrecords.bandcamp.com/album/future-groove-product","description":"Dynamic 10-track Future Funk album packed with driving basslines and anime sample chops.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://neoncityrecords.bandcamp.com/album/future-groove-product","bandcamp_album_id":"2395065892","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"}]},"caravan_palace":{"name":"Caravan Palace","title":"Caravan Palace","slug":"caravan_palace","category":"Collections","type":"collection","is_collection":true,"creator":"Caravan Palace","label":null,"studio":null,"year":null,"rating":null,"description":"Pioneering French electro-swing and gypsy jazz band blending acoustic instruments with electronic house beats.","long_description_html":"","url":"https://soundcloud.com/caravan-palace-official","link_type":"soundcloud","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Electro-Swing","Gypsy Jazz","French House","SoundCloud"],"items":[{"title":"Lone Digger","url":"https://soundcloud.com/caravan-palace-official/lone-digger","description":"Breakout platinum electro-swing anthem with driving bass and brass hooks.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/caravan-palace-official/lone-digger","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Good Mouse","url":"https://soundcloud.com/caravan-palace-official/good-mouse-1","description":"Funky, swing-infused electro track.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/caravan-palace-official/good-mouse-1","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"cinematic_sequences":{"name":"Cinematic Sequences","title":"Cinematic Sequences","slug":"cinematic_sequences","category":"Collections","type":"collection","is_collection":true,"creator":"Cinematic Sequences","label":null,"studio":null,"year":null,"rating":null,"description":"Ambient, lo-fi, and chill synth soundscapes inspired by retro aesthetics, daily rhythms, and late night cityscapes.","long_description_html":"","url":"https://cinematicsequences.bandcamp.com","link_type":"bandcamp","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Ambient","Lo-Fi","Synthwave","Chillwave","Bandcamp"],"items":[{"title":"Night Shift","url":"https://cinematicsequences.bandcamp.com/album/night-shift","description":"Atmospheric late-night synth sounds.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://cinematicsequences.bandcamp.com/album/night-shift","bandcamp_album_id":"4290757090","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Day Shift","url":"https://cinematicsequences.bandcamp.com/album/day-shift","description":"Bright daytime chill beats and electronic grooves.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://cinematicsequences.bandcamp.com/album/day-shift","bandcamp_album_id":"1731191999","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Casual Restaurant","url":"https://cinematicsequences.bandcamp.com/album/casual-restaurant","description":"Relaxed background ambient tunes for casual listening.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://cinematicsequences.bandcamp.com/album/casual-restaurant","bandcamp_album_id":"2380808922","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Between Exits","url":"https://cinematicsequences.bandcamp.com/album/between-exits","de
749scription":"Dreamy highway synthscapes and transitional ambient journeys.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://cinematicsequences.bandcamp.com/album/between-exits","bandcamp_album_id":"2238275806","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"}]},"darren_korb":{"name":"Darren Korb","title":"Darren Korb","slug":"darren_korb","category":"Collections","type":"collection","is_collection":true,"creator":"Darren Korb","label":null,"studio":"Supergiant Games","year":null,"rating":null,"description":"Iconic video game original soundtracks composed by Darren Korb for Supergiant Games.","long_description_html":"","url":"https://www.supergiantgames.com","link_type":"link","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["OST","Video Games","Acoustic / Electronic","Supergiant Games"],"items":[{"title":"Bastion OST","url":"https://www.youtube.com/watch?v=2mdQBvMBnKk&list=PL53mjgVKFq7yPfCiSJaA_aI2SPKrnEmmJ","description":"Acoustic trip-hop soundtrack for Bastion.","link_type":"youtube","embed_type":"playlist","soundcloud_url":null,"youtube_id":"2mdQBvMBnKk","youtube_playlist_id":"PL53mjgVKFq7yPfCiSJaA_aI2SPKrnEmmJ","steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"Transistor OST","url":"https://www.youtube.com/watch?v=ql8K3KJyWgY&list=PL53mjgVKFq7y63ke-WLKrowba3mdSEJMf","description":"Electronic post-rock and vocals soundtrack for Transistor.","link_type":"youtube","embed_type":"playlist","soundcloud_url":null,"youtube_id":"ql8K3KJyWgY","youtube_playlist_id":"PL53mjgVKFq7y63ke-WLKrowba3mdSEJMf","steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"Hades 1 OST","url":"https://www.youtube.com/watch?v=3GRKJ87S5cI","description":"Heavy Mediterranean rock and orchestral soundscapes for Hades.","link_type":"youtube","embed_type":null,"soundcloud_url":null,"youtube_id":"3GRKJ87S5cI","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"Hades 2 OST","url":"https://www.youtube.com/watch?v=jfIuPRP94WI","description":"Dark witchy rock and orchestral themes for Hades II.","link_type":"youtube","embed_type":null,"soundcloud_url":null,"youtube_id":"jfIuPRP94WI","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"}]},"heaven_pierce_her":{"name":"Heaven Pierce Her","title":"Heaven Pierce Her","slug":"heaven_pierce_her","category":"Collections","type":"collection","is_collection":true,"creator":"Heaven Pierce Her (Hakita)","label":null,"studio":null,"year":null,"rating":null,"description":"Aggressive industrial metal, cyber breakcore, and frantic dynamic battle soundtracks composed by Hakita for ULTRAKILL.","long_description_html":"","url":"https://soundcloud.com/user-362886855","link_type":"soundcloud","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["ULTRAKILL","Industrial Metal","Breakcore","OST","Hakita"],"items":[{"title":"War Without Reason (ULTRAKILL 7-4 Theme)","url":"https://youtu.be/Elj4zDLqJvw","de
749scription":"Epic multi-phase climactic boss theme for the Earthmover in Violence layer (7-4).","link_type":"youtube","embed_type":null,"soundcloud_url":null,"youtube_id":"Elj4zDLqJvw","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"War Without Reason (SoundCloud cut)","url":"https://soundcloud.com/mael-bouchereau/heaven-pierce-her-war-without","description":"Violence layer climax battle theme.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/mael-bouchereau/heaven-pierce-her-war-without","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"The World Looks Red (ULTRAKILL 7-1)","url":"https://soundcloud.com/mael-bouchereau/heaven-pierce-her-the-world","description":"Haunting acoustic opening transitioning into relentless industrial breakcore for 7-1.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/mael-bouchereau/heaven-pierce-her-the-world","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Suffering Leaves Suffering Leaves (ULTRAKILL 7-3)","url":"https://soundcloud.com/vipery-belarus/suffering-leaves-suffering","description":"Intense atmospheric battle theme for Violence layer 7-3.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/vipery-belarus/suffering-leaves-suffering","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Order (ULTRAKILL Minos Prime Theme)","url":"https://soundcloud.com/sexballs/03-order","description":"Legendary piano and speed-metal boss theme for Prime Sanctum P-1 (Minos Prime).","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/sexballs/03-order","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"A Complete and Utter Destruction of the Senses","url":"https://soundcloud.com/sexballs/07-a-complete-and-utter","description":"Frantic breakcore assault track from the ULTRAKILL soundtrack.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/sexballs/07-a-complete-and-utter","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Deep Blue (ULTRAKILL 5-1 Wrath Layer)","url":"https://soundcloud.com/sexballs/06-deep-blue","description":"Melodic underwater breakcore and guitar track for Oceanstaring (5-1).","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/sexballs/06-deep-blue","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"The Shattering Circle (Combat 18)","url":"https://soundcloud.com/duckoliumuploads5/ultrakill-ost-the-shattering-circle-or-a-charade-of-shadeless-ones-and-zeroes-rearranged-ad-nihilum-combat-18","description":"High-energy combat sequence arrangement.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/duckoliumuploads5/ultrakill-ost-the-shattering-circle-or-a-charade-of-shadeless-ones-and-zeroes-rearranged-ad-nihilum-combat-18","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"The Break (Crimson Glass deComposition)","url":"https://soundcloud.com/duckoliumuploads5/ultrakill-ost-the-break-1","description":"Intense combat variation theme with atmospheric build.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/duckoliumuploads5/ultrakill-ost-the-break-1","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"A Shattered Illusion","url":"https://soundcloud.com/das-itmane/ultrakill-ost-a-shattered","description":"Speed metal guitar and glitch drum grooves.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/das-itmane/ultrakill-ost-a-shattered","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"No Devil Lived On","url":"https://soundcloud.com/user-362886855/no-devil-lived-on-ultrakill-1","description":"High-octane industrial metal combat theme for ULTRAKILL.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/user-362886855/no-devil-lived-on-ultrakill-1","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Event Horizon / Reach for the...","url":"https://soundcloud.com/user-362886855/event-horizon-reach-for-the","description":"Atmospheric and intense soundtrack cut.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/user-362886855/event-horizon-reach-for-the","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"kokonoku":{"name":"kokonoku","title":"kokonoku","slug":"kokonoku","category":"Collections","type":"collection","is_collection":true,"creator":"kokonoku","label":null,"studio":null,"year":null,"rating":null,"description":"Melodic chill lo-fi beats, lyrical hip-hop rhymes, and emotive electronic soundscapes by kokonoku.","long_description_html":"","url":"https://soundcloud.com/kokonoku","link_type":"soundcloud","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Lo-Fi","Hip-Hop","Chill","S
749oundCloud"],"items":[{"title":"SUMMER WAS AWFUL","url":"https://soundcloud.com/kokonoku/summer-was-awful","description":"Reflective lo-fi hip-hop track capturing summer nostalgia.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/kokonoku/summer-was-awful","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"WHO IS SHE?","url":"https://soundcloud.com/kokonoku/who-is-she","description":"Introspective beat with vocal samples and warm keys.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/kokonoku/who-is-she","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"why do shorties write rhymes?","url":"https://soundcloud.com/kokonoku/why-do-shorties-write-rhymes","description":"Laid-back boom-bap rhythm and playful cadence.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/kokonoku/why-do-shorties-write-rhymes","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"luminous_orange":{"name":"Luminous Orange","title":"Luminous Orange","slug":"luminous_orange","category":"Collections","type":"collection","is_collection":true,"creator":"Luminous Orange","label":null,"studio":null,"year":null,"rating":null,"description":"Japanese dream pop and shoegaze band led by Rie Takeuchi, famous for ethereal vocals, lush guitar walls, and intricate math rock rhythms.","long_description_html":"","url":"https://www.youtube.com/user/luminousorange","link_type":"youtube","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Shoegaze","Dream Pop","Math Rock","Japanese Indie","YouTube"],"items":[{"title":"The White Moon","url":"https://www.youtube.com/watch?v=N4Xr2tuiDWw","description":"Ethereal, swirling shoegaze masterpiece from Drop You Vivid Colours.","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"N4Xr2tuiDWw","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"Sea of Lights","url":"https://www.youtube.com/watch?v=aT0XPrvtwis","description":"Polyrhythmic math-rock guitars and heavenly vocal harmonies.","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"aT0XPrvtwis","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"}]},"macross_82_99":{"name":"Macross 82-99","title":"Macross 82-99","slug":"macross_82_99","category":"Collections","type":"collection","is_collection":true,"creator":"Macross 82-99","label":"Neoncity Records","studio":null,"year":null,"rating":null,"description":"Pioneering Future Funk, French Touch, and Japanese 80s anime-infused dance discography by Mexican producer Macross 82-99.","long_description_html":"","url":"https://macross82-99.bandcamp.com","link_type":"bandcamp","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Future Funk","French Touch","City Pop","Anime Groove","Bandcamp","Electronic"],"items":[{"title":"SAILORWAVE","url":"https://neoncityrecords.bandcamp.com/album/sailorwave","description":"The quintessential landmark 2013 Future Funk album that defined the genre.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://neoncityrecords.bandcamp.com/album/sailorwave","bandcamp_album_id":"1892710195","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"SAILORWAVE II","url":"https://neoncityrecords.bandcamp.com/album/sailorwave-ii","description":"High-energy sequel album bursting with brass, disco basslines, and anime samples.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://neoncityrecords.bandcamp.com/album/sailorwave-ii","bandcamp_album_id":"4064191542","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"SAILORWAVE III","url":"https://neoncityrecords.bandcamp.com/album/sailorwave-iii-2","description":"The grand third installment in the legendary Sailorwave trilogy.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://neoncityrecords.bandcamp.com/album/sailorwave-iii-2","bandcamp_album_id":"1995491460","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"10 Million Miles Away","url":"https://neoncityrecords.bandcamp.com/album/10-million-miles-away","description":"Classic 2014 Future Funk album featuring upbeat French House grooves.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://neoncityrecords.bandcamp.com/album/10-million-miles-away","bandcamp_album_id":"2135592731","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Summer Touch","url":"https://neoncityrecords.bandcamp.com/album/summer-touch","de
749scription":"Breezy summer City Pop and house album released on Neoncity Records.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://neoncityrecords.bandcamp.com/album/summer-touch","bandcamp_album_id":"829133684","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"ネオ東京 (Neo Tokyo)","url":"https://neoncityrecords.bandcamp.com/album/neo-tokyo","description":"Early 2013 classic featuring cyberpunk aesthetic and sample chops.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://neoncityrecords.bandcamp.com/album/neo-tokyo","bandcamp_album_id":"354036144","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Idols, Sakura","url":"https://neoncityrecords.bandcamp.com/album/idols-sakura","description":"Iconic EP exploring Japanese idol aesthetics and upbeat dance music.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://neoncityrecords.bandcamp.com/album/idols-sakura","bandcamp_album_id":"596354313","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Shibuya Meltdown","url":"https://neoncityrecords.bandcamp.com/album/shibuya-meltdown","description":"Urban club funk with heavier French Touch synth basslines.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://neoncityrecords.bandcamp.com/album/shibuya-meltdown","bandcamp_album_id":"1461554244","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Love 4 You","url":"https://neoncityrecords.bandcamp.com/album/love-4-you","description":"Modern French Touch & Future Funk singles compilation.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://neoncityrecords.bandcamp.com/album/love-4-you","bandcamp_album_id":"3937905813","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"At Night","url":"https://soundcloud.com/macross-82-99/at-night-1","description":"Smooth late-night Future Funk cut.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/macross-82-99/at-night-1","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Melt (ft. Puniden)","url":"https://soundcloud.com/macross-82-99/melt-ft-puniden-shibuya-meltdown-out-now","description":"Collaborative Shibuya Meltdown single with punipunidenki.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/macross-82-99/melt-ft-puniden-shibuya-meltdown-out-now","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Private Caller (Macross 82-99 Edit)","url":"https://soundcloud.com/macross-82-99/private-caller-macross-82-99-edit","description":"Famous rework of Saint Pepsi's Private Caller.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/macross-82-99/private-caller-macross-82-99-edit","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"For You (feat. Morning)","url":"https://soundcloud.com/macross-82-99/for-you-feat-morning-summer-touch-now-available","description":"Sunny, warm Summer Touch single.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/macross-82-99/for-you-feat-morning-summer-touch-now-available","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Fresh ! (feat. Flamingosis)","url":"https://soundcloud.com/macross-82-99/fresh-feat-flamingosis","description":"Funky chill collab with producer Flamingosis.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/macross-82-99/fresh-feat-flamingosis","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Cool Soda","url":"https://soundcloud.com/macross-82-99/cool-soda","description":"Bubbly and energetic classic anime dance track.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/macross-82-99/cool-soda","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Now Or Never (Flamingosis x Macross 82-99)","url":"https://soundcloud.com/flamingosis/flamingosis-x-macross-82-99-now-or-never","description":"Signature disco funk beat collaboration.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/flamingosis/flamingosis-x-macross-82-99-now-or-never","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Sakurafubuki (feat. Punipunidenki & Le Real)","url":"https://soundcloud.com/macross-82-99/sakurafubuki-feat-punipunidenki-le-real","description":"Silky smooth City Pop house single with punipunidenki and Lé Real.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/macross-82-99/sakurafubuki-feat-punipunidenki-le-real","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"milk_talk":{"name":"Milk Talk","title":"Milk Talk (ミルクトーク)","slug":"milk_talk","category":"Collections","type":"collection","is_collection":true,"creator":"Milk Talk","label":null,"studio":null,"year":null,"rating":null,"description":"Japanese/American synth-funk and neo-city pop duo consisting of producer Hair Kid and singer-songwriter Q.i, crafting breezy, infectious disco and retro-futuristic boogie anthems.","long_description_html":"","url":"https://www.youtube.com/@MilkTalk","link_type":"youtube","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["City Pop","Synth Funk","Neo City Pop","Nu-Disco","J-Pop","YouTube"],"items":[{"title":"The Bay","url":"https://www.youtube.com/watch?v=h0kEsJIY6qs","description":"Breez
749y, sun-soaked neo-city pop and 80s boogie-funk anthem featuring sparkling synths and silky Japanese/English vocals.","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"h0kEsJIY6qs","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"Electric Indigo","url":"https://www.youtube.com/watch?v=olYRn-v4pQ8","description":"Pulsing neon synth-pop groove with infectious slap bass, driving drums, and vibrant bilingual hooks.","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"olYRn-v4pQ8","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"The Velvet Line","url":"https://www.youtube.com/watch?v=j-QkNPTkC8M","description":"Late-night boogie, future funk, and electro-pop fusion with driving synth bass and catchy vocoder accents.","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"j-QkNPTkC8M","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"DE DE MOUSE & Milk Talk - Beautiful Criminal","url":"https://www.youtube.com/watch?v=pA37MUCOYyY","description":"High-octane collaborative future city pop and disco single between DE DE MOUSE and Milk Talk.","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"pA37MUCOYyY","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"Medusa","url":"https://www.youtube.com/watch?v=8r_W7Rc0u3M","description":"Snappy retro-funk and electro-disco dance track with groovy basslines and hypnotic vocal harmonies.","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"8r_W7Rc0u3M","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"}]},"moe_shop":{"name":"Moe Shop","title":"Moe Shop","slug":"moe_shop","category":"Collections","type":"collection","is_collection":true,"creator":"Moe Shop","label":null,"studio":null,"year":null,"rating":null,"description":"French Touch electronic music, anime sample chops, club house, and Future Funk grooves by producer Moe Shop.","long_description_html":"","url":"https://soundcloud.com/moeshop","link_type":"soundcloud","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["French House","Future Funk","Anime Groove","Electronic","SoundCloud"],"items":[{"title":"Charm (w/ Puniden) [Music Video]","url":"https://youtu.be/1iKZhsc8WGs","description":"Official animated music video for Charm featuring punipunidenki.","link_type":"youtube","embed_type":null,"soundcloud_url":null,"youtube_id":"1iKZhsc8WGs","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"Charm (w/ Puniden)","url":"https://soundcloud.com/moeshop/charm-puniden","description":"Ultra-catchy J-pop house single with silky punipunidenki vocals.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/moeshop/charm-puniden","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Complications","url":"https://soundcloud.com/moeshop/complications","description":"Bouncy French Touch bassline and vocal chops.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/moeshop/complications","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Newly Human Feeling (feat. Jamie Paige)","url":"https://soundcloud.com/moeshop/newly-human-feeling","description":"Glitchy, emotive Future Bass / French House single with Jamie Paige.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/moeshop/newly-human-feeling","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Synchronizer (KMNZ prod. Moe Shop)","url":"https://www.youtube.com/watch?v=TsILoCA8Mm4","description":"Official music video for Virtual Hip-hop duo KMNZ produced by Moe Shop.","link_type":"youtube","embed_type":null,"soundcloud_url":null,"youtube_id":"TsILoCA8Mm4","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"Identity (w/ SEIJ)","url":"https://soundcloud.com/moeshop/identity","de
749scription":"Upbeat French House collab featuring SEIJ.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/moeshop/identity","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Tokyo Night Flyght (Moe Shop Remix)","url":"https://soundcloud.com/attackthemusic/timemaxeras-tokyo-night-flyght-moe-shop-remix","description":"High-energy dance floor remix of TiMEMAXERAS.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/attackthemusic/timemaxeras-tokyo-night-flyght-moe-shop-remix","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"UKIYO (TEMPURA KIDZ & Moe Shop)","url":"https://soundcloud.com/moeshop/ukiyo","description":"Collaborative Japanese electronic single with TEMPURA KIDZ.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/moeshop/ukiyo","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Virtual (w/ Puniden)","url":"https://soundcloud.com/moeshop/virtual","description":"Funky French House single with punipunidenki.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/moeshop/virtual","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Lovesick (w/ maisou)","url":"https://soundcloud.com/moeshop/lovesick","description":"Melodic club track featuring Japanese indie artist maisou.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/moeshop/lovesick","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Magic (w/ MYLK)","url":"https://soundcloud.com/moeshop/magic","description":"Bright, bubbly electronic house single with MYLK.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/moeshop/magic","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"ULTRAFINE (Lé Real & Moe Shop)","url":"https://soundcloud.com/nikon9200/ultrafine-prod-tsun-dealer","description":"Classic Future Funk collab produced by Lé Real & Moe Shop.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/nikon9200/ultrafine-prod-tsun-dealer","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Silhouette","url":"https://soundcloud.com/moeshop/silhouette","description":"Popular French Touch house single with upbeat vocals.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/moeshop/silhouette","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Owarini Liveshow","url":"https://soundcloud.com/futuresocietycollective/moe-shop-owarini-tokyo-liveshow","description":"High-energy live DJ set recorded at Owarini in Tokyo.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/futuresocietycollective/moe-shop-owarini-tokyo-liveshow","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Waifu Material","url":"https://soundcloud.com/futuresocietycollective/moe-shop-waifu-material-mixtape","description":"Landmark Future Funk and French House mixtape.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/futuresocietycollective/moe-shop-waifu-material-mixtape","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Moe Moe","url":"https://soundcloud.com/moeshop/sets/moe-moe","description":"Moe Moe EP set on SoundCloud.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/moeshop/sets/moe-moe","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"night_tempo":{"name":"Night Tempo","title":"Night Tempo","slug":"night_tempo","category":"Collections","type":"collection","is_collection":true,"creator":"Night Tempo","label":"Neoncity Records","studio":null,"year":null,"rating":null,"description":"Selected discography and Showa Groove remixes by South Korean Future Funk and City Pop producer Night Tempo.","long_description_html":"","url":"https://nighttempo.bandcamp.com","link_type":"bandcamp","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Future Funk","City Pop","Showa Groove","Vaporwave","Electronic","Bandcamp"],"items":[{"title":"Nighty Tape","url":"https://neoncityrecords.bandcamp.com/album/nighty-tape","description":"Essential 80s City Pop flipped into upbeat Future Funk grooves by Night Tempo.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://neoncityrecords.bandcamp.com/album/nighty-tape","bandcamp_album_id":"1324499771","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Moonrise","url":"https://nighttempo.bandcamp.com/album/moonrise","description":"Retro 80s synth vibes and disco boogie tracks.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://nighttempo.bandcamp.com/album/moonrise","bandcamp_album_id":"1899802584","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Fantasy","url":"https://neoncityrecords.bandcamp.com/album/fantasy","description":"18-track Future Funk extravaganza released via Neoncity Records.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://neoncityrecords.bandcamp.com/album/fantasy","bandcamp_album_id":"1942155638","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Babymaker 2","url":"https://nighttempo.bandcamp.com/album/babymaker-2","description":"Smooth, sensuous retro boogie and chill Future Funk beats.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://nighttempo.bandcamp.com/album/babymaker-2","bandcamp_album_id":"874626386","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Sentimental (Neon Mix) [feat. Miyu Takeuchi]","url":"https://soundcloud.com/ntreboot/sentimental-neon-mix-feat-miyu","description":"Lush City Pop collaboration featuring vocals by Miyu Takeuchi.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/ntreboot/sentimental-neon-mix-feat-miyu","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Dreams of Light","url":"https://soundcloud.com/ntreboot/dreams-of-light","description":"Sparkling retro synthesizer melody and driving dance beat.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/ntreboot/dreams-of-light","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Kiss Kara Hajimeru Mystery","url":"https://soundcloud.com/ntreboot/kiss-kara-hajimeru-mistery","description":"High-energy Showa Groove edit with classic Japanese 80s idol hooks.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/ntreboot/kiss-kara-hajimeru-mistery","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Tokyo in the Blue","url":"https://soundcloud.com/ntreboot/tokyo-in-the-blue","description":"Late-night metropolitan synth grooves and nostalgic samples.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/ntreboot/tokyo-in-the-blue","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Tell Me Tell Me","url":"https://soundcloud.com/ntreboot/tell-me-tell-me","description":"Uptempo disco house rhythm and catchy vocal sample loops.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/ntreboot/tell-me-tell-me","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"I Wanna Be With You","url":"https://soundcloud.com/ntreboot/i-wanna-be-with-you","description":"Romantic 80s City Pop boogie edit.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/ntreboot/i-wanna-be-with-you","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}
749,{"title":"Rats & Star - Megumi no Hito (Night Tempo Showa Groove Mix)","url":"https://soundcloud.com/ntreboot/ratsstar","description":"Official Showa Groove remix of the timeless 1983 classic Megumi no Hito.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/ntreboot/ratsstar","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"I Must Change My Life & Love For Me (Night Tempo Showa Groove Mix)","url":"https://soundcloud.com/ntreboot/changemylife","description":"Vibrant Showa Groove rework of 80s J-pop.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/ntreboot/changemylife","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Patchwork Love","url":"https://soundcloud.com/ntreboot/patchworklove","description":"Collaboration with punipunidenki and Pasocom Music Club.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/ntreboot/patchworklove","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Mint","url":"https://soundcloud.com/ntreboot/mint","description":"Crisp, refreshing Future Funk club single.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/ntreboot/mint","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Better Days (feat. Puniden, Super Brass)","url":"https://soundcloud.com/ntreboot/better-days-feat-puniden-super-brass","description":"Uplifting neo-city-pop single with live brass sections and punipunidenki vocals.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/ntreboot/better-days-feat-puniden-super-brass","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Lil Bit","url":"https://www.youtube.com/watch?v=u93UQcoB-rM","description":"Catchy single with energetic retro synth chops.","link_type":"youtube","embed_type":null,"soundcloud_url":null,"youtube_id":"u93UQcoB-rM","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"Silhouette","url":"https://www.youtube.com/watch?v=PX4YAla7u3A&list=RDTxhlbeNG0sY&index=24","description":"Smooth synthwave and disco groove.","link_type":"youtube","embed_type":null,"soundcloud_url":null,"youtube_id":"PX4YAla7u3A","youtube_playlist_id":"RDTxhlbeNG0sY","steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"}]},"nujabes":{"name":"Nujabes","title":"Nujabes","slug":"nujabes","category":"Collections","type":"collection","is_collection":true,"creator":"Nujabes","label":null,"studio":null,"year":null,"rating":null,"description":"Pioneering Japanese hip-hop producer and DJ whose jazz-infused beats defined the modern lo-fi and chillhop movements.","long_description_html":"","url":"https://soundcloud.com/junseba","link_type":"soundcloud","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Lo-Fi Hip-Hop","Jazz Rap","Samurai Champloo","Chillhop","YouTube","SoundCloud"],"items":[{"title":"Nujabes Essential Discography Mix","url":"https://www.youtube.com/watch?v=m4fDm4rdUdk","description":"Complete curated journey through Nujabes' most memorable jazz-hop masterpieces.","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"m4fDm4rdUdk","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"Luv (Sic) Part 3 (Whos Theme Remix)","url":"https://soundcloud.com/bazfirstbounce/nujabes-luv-sic-part-3-whos","description":"Heartfelt remix blending Luv(Sic) with MINM
749I's Who's Theme.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/bazfirstbounce/nujabes-luv-sic-part-3-whos","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"The Sign (feat. Pase Rock)","url":"https://soundcloud.com/headhunter0/07-nujabes-the-sign-feat-pase","description":"Soulful conscious hip-hop cut from Modal Soul featuring Pase Rock.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/headhunter0/07-nujabes-the-sign-feat-pase","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"oddeeo":{"name":"ODDEEO","title":"ODDEEO","slug":"oddeeo","category":"Collections","type":"collection","is_collection":true,"creator":"=ODDEEO=","label":null,"studio":null,"year":null,"rating":null,"description":"Innovative Vocaloid music, City Pop arrangements, saxophone solos, and glitch electronic pop by producer ODDEEO.","long_description_html":"","url":"https://soundcloud.com/oddeeoofficial","link_type":"soundcloud","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Vocaloid","Hatsune Miku","City Pop","Saxophone","Electronic"],"items":[{"title":"Wonder (feat. Hatsune Miku) [Music Video]","url":"https://www.youtube.com/watch?v=JDpUO29cRmA","description":"Vocaloid City Pop music video featuring saxophone performance by Soneji.","link_type":"youtube","embed_type":null,"soundcloud_url":null,"youtube_id":"JDpUO29cRmA","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"Wonder (feat. Hatsune Miku) [MIKU EXPO 2024]","url":"https://soundcloud.com/oddeeoofficial/wonder-feat-hatsune-miku-miku-expo-2024","description":"Official MIKU EXPO 2024 submission track.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/oddeeoofficial/wonder-feat-hatsune-miku-miku-expo-2024","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Pacify (nostraightanswer - ODDEEO Remix)","url":"https://soundcloud.com/oddeeoofficial/nostraightanswer-pacify-oddeeo-remix","description":"High-energy electronic remix of nostraightanswer.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/oddeeoofficial/nostraightanswer-pacify-oddeeo-remix","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"[HOME]","url":"https://soundcloud.com/oddeeoofficial/home","description":"Emotive ambient electronic soundscape.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/oddeeoofficial/home","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Pavlo's Cues [ft. Megpoid GUMI]","url":"https://soundcloud.com/oddeeoofficial/pavlos-cues-ft-megpoid-gumi","description":"Complex syncopated rhythms with Megpoid GUMI vocals.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/oddeeoofficial/pavlos-cues-ft-megpoid-gumi","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":">This_feeling_is_a_cliché...","url":"https://soundcloud.com/oddeeoofficial/this_feeling_is_a_cliche","description":"Experimental glitch pop and expressive synthesis.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/oddeeoofficial/this_feeling_is_a_cliche","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"[SELF]","url":"https://soundcloud.com/oddeeoofficial/self","description":"Moody, evolving electronic instrumental.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/oddeeoofficial/self","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Utopia [feat. Hatsune Miku]","url":"https://soundcloud.com/oddeeoofficial/utopia-feat-hatsune-miku-mikuexpo-contest-submission","description":"Dynamic MikuExpo contest entry track.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/oddeeoofficial/utopia-feat-hatsune-miku-mikuexpo-contest-submission","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"plexi":{"name":"Plexi","title":"Plexi","slug":"plexi","category":"Collections","type":"collection","is_collection":true,"creator":"Plexi","label":null,"studio":null,"year":null,"rating":null,"description":"Futuristic edits, anime vocal reworks, and electronic beats by Plexi.","long_description_html":"","url":"https://soundcloud.com/plexi-two","link_type":"soundcloud","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Future Funk","Electronic","Anime Edits","SoundCloud"],"items":[{"title":"Your Love","url":"https://soundcloud.com/plexi-two/your-love","description":"Upbeat dance edit with sparkling synths.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/plexi-two/your-love","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Let Me Be With You (Plexi Edit)","url":"https://soundcloud.com/plexitofer/let-me-be-with-you-plexi-edit","description":"Chobits opening theme flipped into a bouncy club edit.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/plexitofer/let-me-be-with-you-plexi-edit","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"porter_robinson":{"name":"Porter Robinson","title":"Porter Robinson","slug":"porter_robinson","category":"Collections","type":"collection","is_collection":true,"creator":"Porter Robinson","label":null,"studio":null,"year":null,"rating":null,"description":"Visionary electronic, synth-pop, and emotive dance tracks spanning the Worlds and Nurture eras by Porter Robinson.","long_description_html":"","url":"https://soundcloud.com/porter-robinson","link_type":"soundcloud","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Electronic","Synth-Pop","Worlds","Nurture","S
749oundCloud"],"items":[{"title":"Sad Machine","url":"https://soundcloud.com/porter-robinson/sad-machine","description":"Iconic Worlds duet between Vocaloid AVANNA and Porter Robinson.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/porter-robinson/sad-machine","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Get Your Wish","url":"https://soundcloud.com/porter-robinson/get-your-wish","description":"Lead single from Nurture with uplifting piano and pitch-shifted vocals.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/porter-robinson/get-your-wish","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Something Comforting","url":"https://soundcloud.com/porter-robinson/something-comforting","description":"Heartfelt electronic indie-pop anthemic track from Nurture.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/porter-robinson/something-comforting","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Get Your Wish (Anamanaguchi Remix)","url":"https://soundcloud.com/porter-robinson/get-your-wish-anamanaguchi","description":"Hyperactive chiptune rock remix by Anamanaguchi.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/porter-robinson/get-your-wish-anamanaguchi","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Flicker","url":"https://soundcloud.com/porter-robinson/flicker","description":"Disco-influenced Worlds anthem built around hip-hop breakbeats.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/porter-robinson/flicker","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Lionhearted (feat. Urban Cone)","url":"https://soundcloud.com/porter-robinson/lionhearted-feat-urban-cone","description":"Driving indie-electro track featuring Swedish indie band Urban Cone.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/porter-robinson/lionhearted-feat-urban-cone","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Polygon Dust (feat. Charli XCX)","url":"https://soundcloud.com/porter-robinson/polygon-dust","description":"Melodic chiptune synth-pop cut from Worlds.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/porter-robinson/polygon-dust","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Years of War (feat. Breanne Düren & Sean Caskey)","url":"https://soundcloud.com/porter-robinson/years-of-war","description":"Soaring, emotional 80s synth-pop vocal collaboration.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/porter-robinson/years-of-war","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Fresh Static Snow","url":"https://soundcloud.com/porter-robinson/fresh-static-snow","description":"Aggressive distorted synthesizer bass drops paired with emotional melody.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/porter-robinson/fresh-static-snow","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"punipunidenki":{"name":"Punipunidenki","title":"Punipunidenki (ぷにぷに電機)","slug":"punipunidenki","category":"Collections","type":"collection","is_collection":true,"creator":"punipunidenki","label":null,"studio":null,"year":null,"rating":null,"description":"Enchanting neo-city pop, jazz fusion, and Jap
749anese electronic soul compositions by singer-songwriter & producer Punipunidenki.","long_description_html":"","url":"https://soundcloud.com/puniden","link_type":"soundcloud","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["City Pop","Neo Soul","Jazz Fusion","J-Pop","SoundCloud"],"items":[{"title":"Wonder Underground (EP Crossfade)","url":"https://soundcloud.com/puniden/wonderunderxfd","description":"Crossfade preview of the landmark Wonder Underground EP.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/puniden/wonderunderxfd","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Life is SUPER DOPE","url":"https://soundcloud.com/puniden/life-is-super-dope","description":"Funky indie pop single with soulful vocal hooks.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/puniden/life-is-super-dope","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Imaginary boi (w/ Mikazuki BIGWAVE)","url":"https://soundcloud.com/puniden/imaginaryboi_sample","description":"Collaborative Future Funk single with producer Mikazuki BIGWAVE.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/puniden/imaginaryboi_sample","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"A Drop","url":"https://soundcloud.com/puniden/a-drop","description":"Atmospheric electronic soul and minimal percussion.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/puniden/a-drop","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"INterNe... (インターネッ)","url":"https://soundcloud.com/puniden/interne","description":"Intimate cyber-nostalgic vocal cut.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/puniden/interne","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Miracle! (w/ うさこ kotu)","url":"https://soundcloud.com/kotu/miracle","description":"Bright, energetic electronic pop collaboration with kotu.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/kotu/miracle","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"shawn_wasabi":{"name":"Shawn Wasabi","title":"Shawn Wasabi","slug":"shawn_wasabi","category":"Collections","type":"collection","is_collection":true,"creator":"Shawn Wasabi","label":null,"studio":null,"year":null,"rating":null,"description":"Bubbly MIDI Fighter controllerism, bright bubblegum bass, and catchy pop productions by Shawn Wasabi.","long_description_html":"","url":"https://soundcloud.com/sssshawnnnn","link_type":"soundcloud","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Midi Fighter","Bubblegum Bass","Pop","Electronic","SoundCloud"],"items":[{"title":"Marble Tea","url":"https://soundcloud.com/sssshawnnnn/marble-tea","description":"Complex Midi Fighter finger-drumming composition and upbeat synth melody.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/sssshawnnnn/marble-tea","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"The Snack That Smiles Back (feat. Raychel Jay)","url":"https://soundcloud.com/sssshawnnnn/snack-feat-raychel-jay","description":"Playful and bouncy pop single with singer Raychel Jay.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/sssshawnnnn/snack-feat-raychel-jay","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"HALO HALO (feat. Chevy)","url":"https://soundcloud.com/sssshawnnnn/halo-halo-feat-chevy","de
749scription":"Sweet ukulele and pop collaboration celebrating the Filipino dessert.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/sssshawnnnn/halo-halo-feat-chevy","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"MANGO LOVE (feat. Satica)","url":"https://soundcloud.com/sssshawnnnn/mango-love-feat-satica","description":"Tropical electronic pop groove featuring Satica.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/sssshawnnnn/mango-love-feat-satica","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"MEDICINE (feat. Tia Scola)","url":"https://soundcloud.com/sssshawnnnn/medicine-feat-tia-scola","description":"Catchy electronic RnB and pop hybrid with Tia Scola.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/sssshawnnnn/medicine-feat-tia-scola","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Princess Peach","url":"https://soundcloud.com/sssshawnnnn/princess-peach-2","description":"Chiptune-infused Midi Fighter live mashup tribute.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/sssshawnnnn/princess-peach-2","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"ANIMAL CROSSING","url":"https://soundcloud.com/sssshawnnnn/animal-crossing-1","description":"Cozy, wholesome Nintendo-inspired sample track.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/sssshawnnnn/animal-crossing-1","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"LEMONS (feat. Kennedi)","url":"https://soundcloud.com/sssshawnnnn/lemons-feat-kennedi","description":"Citrusy, infectious summer pop single.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/sssshawnnnn/lemons-feat-kennedi","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"snowshoo":{"name":"Snowshoo","title":"Snowshoo","slug":"snowshoo","category":"Collections","type":"collection","is_collection":true,"creator":"snowshoo","label":null,"studio":null,"year":null,"rating":null,"description":"Lush future beats, warm synthesizer chords, and chill electronic grooves by snowshoo.","long_description_html":"","url":"https://soundcloud.com/snowshoo","link_type":"soundcloud","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Future Beats","Chill","Electronic","SoundCloud"],"items":[{"title":"My Love","url":"https://soundcloud.com/snowshoo/my-love","description":"Warm, melodic future beats track with vocal chops.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/snowshoo/my-love","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Touch","url":"https://soundcloud.com/snowshoo/touch","de
749scription":"Silky smooth synth progressions and relaxed groove.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/snowshoo/touch","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"supercar":{"name":"Supercar","title":"Supercar (スーパーカー)","slug":"supercar","category":"Collections","type":"collection","is_collection":true,"creator":"Supercar","label":null,"studio":null,"year":null,"rating":null,"description":"Iconic Japanese indie rock, shoegaze, and electronic dance rock quartet known for defining the 90s/00s Japanese alternative sound.","long_description_html":"","url":"https://soundcloud.com/supercarofficial","link_type":"soundcloud","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Japanese Rock","Shoegaze","Indie Rock","Electronic Rock","SoundCloud"],"items":[{"title":"Rollin' Rollin'","url":"https://soundcloud.com/supercarofficial/rollin-rollin-1","description":"Hypnotic electronic shoegaze groove from their experimental era.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/supercarofficial/rollin-rollin-1","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Last Scene","url":"https://soundcloud.com/supercarofficial/last-scene-1","description":"Melancholic alternative rock anthem with shimmering guitars.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/supercarofficial/last-scene-1","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Soratobi (空飛ぶ)","url":"https://soundcloud.com/nicholasmuldoon/supercar-soratobi","description":"Classic guitar rock track full of youthful noise pop energy.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/nicholasmuldoon/supercar-soratobi","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"HELP","url":"https://soundcloud.com/supercarofficial/help","description":"Driving indie rock cut with fuzzy distortion.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/supercarofficial/help","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"RECREATION","url":"https://soundcloud.com/supercarofficial/recreation","description":"Upbeat blend of electronic drum programming and indie guitar riffs.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/supercarofficial/recreation","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"HARMONY","url":"https://soundcloud.com/supercarofficial/harmony","description":"Dreamy atmospheric rock cut showcasing their electronic evolution.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/supercarofficial/harmony","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"team_reptile":{"name":"Team Reptile","title":"Team Reptile","slug":"team_reptile","category":"Collections","type":"collection","is_collection":true,"creator":"Team Reptile","label":null,"studio":"Team Reptile","year":null,"rating":null,"description":"High-energy fighting games and funk-infused soundtracks developed by indie studio Team Reptile.","long_description_html":"","url":"https://team-reptile.com","link_type":"link","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Indie Games","Cyberfunk","Breakbeat","Steam"],"items":[{"title":"Lethal League Blaze","url":"https://store.steampowered.com/app/553310/Lethal_League_Blaze/","description":"High-speed projectile fighting game with beat-matching mechanics.","link_type":"steam","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":"553310","bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"steam-symbol.svg"},{"title":"Lethal League Blaze OST","url":"https://www.youtube.com/watch?v=GT_DW35F-vw&list=PL5ZYa6WKvySBCqnkvR7y3pLpS2LbnUNja","de
749scription":"Full Original Soundtrack for Lethal League Blaze featuring Hideki Naganuma, Frankkle, and more.","link_type":"youtube","embed_type":"playlist","soundcloud_url":null,"youtube_id":"GT_DW35F-vw","youtube_playlist_id":"PL5ZYa6WKvySBCqnkvR7y3pLpS2LbnUNja","steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"Bomb Rush Cyberfunk","url":"https://store.steampowered.com/app/1353230/Bomb_Rush_Cyberfunk/","description":"Cel-shaded graffiti action game inspired by Jet Set Radio.","link_type":"steam","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":"1353230","bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"steam-symbol.svg"},{"title":"Bomb Rush Cyberfunk OST","url":"https://www.youtube.com/watch?v=5t4KSZw_ekA&list=PLD6ujQ0tHAv2qLS5FKH6B8MjtfEg1kwsn","description":"Full Original Soundtrack for Bomb Rush Cyberfunk.","link_type":"youtube","embed_type":"playlist","soundcloud_url":null,"youtube_id":"5t4KSZw_ekA","youtube_playlist_id":"PLD6ujQ0tHAv2qLS5FKH6B8MjtfEg1kwsn","steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"}]},"teddyloid":{"name":"TeddyLoid","title":"TeddyLoid","slug":"teddyloid","category":"Collections","type":"collection","is_collection":true,"creator":"TeddyLoid","label":null,"studio":null,"year":null,"rating":null,"description":"Japanese electronic music producer and DJ renowned for high-energy electro house, anime OSTs (Panty & Stocking, ME!ME!ME!), and bass music.","long_description_html":"","url":"https://www.teddyloid.com","link_type":"link","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Electro House","Anime OST","Bass Music","YouTube","SoundCloud"],"items":[{"title":"Angels and Demons","url":"https://www.youtube.com/watch?v=bBXDP2ZNq3Y","description":"Heavy electronic dance anthem with dark synth progression.","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"bBXDP2ZNq3Y","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"},{"title":"Fly Away (Fusq Remix)","url":"https://youtu.be/57I3maUeP3c","description":"Panty & Stocking battle track remixed with bright Future Bass synths by Fusq.","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"57I3maUeP3c","youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"youtube.svg"}]},"tokyopill":{"name":"Tokyopill","title":"Tokyopill","slug":"tokyopill","category":"Collections","type":"collection","is_collection":true,"creator":"Tokyopill","label":null,"studio":null,"year":null,"rating":null,"description":"Breakcore, cyber-aesthetic drum and bass, and Serial Experiments Lain inspired electronic soundscapes by Tokyopill.","long_description_html":"","url":"https://soundcloud.com/tokyopill","link_type":"soundcloud","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Breakcore","Drum & Bass","Cyberpunk","SoundCloud"],"items":[{"title":"Ethereal","url":"https://soundcloud.com/tokyopill/ethereal","description":"Atmospheric breakcore track.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/tokyopill/ethereal","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Lets all love lain","url":"https://soundcloud.com/tokyopill/e-x-t-e-n-d-e-d","description":"Extended ambient breakcore tribute.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/tokyopill/e-x-t-e-n-d-e-d","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Club Cyberia","url":"https://soundcloud.com/tokyopill/club-cyberia","description":"Cyberpunk rave beat.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/tokyopill/club-cyberia","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Virtual Tears","url":"https://soundcloud.com/tokyopill/virtual-tears","description":"Melanch
749olic synth breakcore track.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/tokyopill/virtual-tears","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Cyber Psyche Green","url":"https://soundcloud.com/tokyopill/psyche","description":"Fast-paced breakbeat single.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/tokyopill/psyche","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"S u r r e a l i t y 1","url":"https://soundcloud.com/tokyopill/s-u-r-r-e-a-l-i-t-y-1","description":"Surreal glitch beat.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/tokyopill/s-u-r-r-e-a-l-i-t-y-1","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Unlike Me Remix","url":"https://soundcloud.com/tokyopill/unlike-me-remix","description":"Hard-hitting breakcore remix.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/tokyopill/unlike-me-remix","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Tokyofruit","url":"https://soundcloud.com/tokyopill/tokyofruit","description":"Upbeat electronic breakbeat.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/tokyopill/tokyofruit","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"hotline_miami":{"name":"Hotline Miami 1 & 2","title":"Hotline Miami 1 & 2","slug":"hotline_miami","category":"Games","type":"standard","is_collection":false,"creator":"Dennaton Games","label":null,"studio":"Devolver Digital","year":"2012 / 2015","rating":"Overwhelmingly Positive","description":"High-octane neon-soaked top-down action games featuring brutal fast-paced combat, surreal storytelling, and legendary synthwave soundtracks.","long_description_html":"<p>Created by Jonatan Söderström and Dennis Wedin (Dennaton Games), Hotline Miami and Hotline Miami 2: Wrong Number are genre-defining top-down action games set in a surreal 1980s Miami. Demanding frame-perfect execution, lethal gunplay, and animal masks with unique abilities, the games are propelled by an iconic synthwave soundtrack featuring Jasper Byrne, Perturbator, M|O|O|N, Scattle, and Carpenter Brut.</p>\n","url":"https://store.steampowered.com/app/219150/Hotline_Miami/","link_type":"steam","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":"219150","bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Top-Down Shooter","Synthwave","Brutal","Retro","Action"],"items":[]},"noita":{"name":"Noita","title":"Noita","slug":"noita","category":"Games","type":"standard","is_collection":false,"creator":"Nolla Games","label":null,"studio":"Nolla Games","year":"2020","rating":"Overwhelmingly Positive","description":"Magical action roguelite set in a world where every single pixel is physically simulated—burn, melt, freeze, explosion, and wand crafting chaos.","long_description_html":"<p>Developed by Finnish studio Nolla Games (creators of Crayon Physics Deluxe, Swapper, and Baba Is You), Noita is a magical action roguelite set in a world where every single pixel is physically simulated. Players customize and craft infinite combinations of spell wands as they melt ice, ignite oil reserves, vaporize toxic sludge, and cause catastrophic chain reactions in procedural underground dungeons.</p>\n","url":"https://store.steampowered.com/app/881100/Noita/","link_type":"steam","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":"881100","bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Pixel Physics","Roguelite","Wand Crafting","Simulation","Indie"],"items":[]}
749,"ultrakill":{"name":"ULTRAKILL","title":"ULTRAKILL","slug":"ultrakill","category":"Games","type":"standard","is_collection":false,"creator":"Arsi 'Hakita' Patala","label":null,"studio":"New Blood Interactive","year":"2020","rating":"Overwhelmingly Positive","description":"Fast-paced ultraviolent retro FPS combining classic arena shooters with stylish combo mechanics where MANKIND IS DEAD. BLOOD IS FUEL. HELL IS FULL.","long_description_html":"<p>ULTRAKILL is a high-speed ultraviolent retro FPS developed by Arsi &#39;Hakita&#39; Patala and published by New Blood Interactive. Combining movement mechanics reminiscent of Quake, weapon switching tricks, projectile boosting, and Devil May Cry-style combo ranking systems, players control V1—a machine fueled by fresh blood—as they plummet through the layers of Dante&#39;s Inferno.</p>\n","url":"https://store.steampowered.com/app/1229490/ULTRAKILL/","link_type":"steam","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":"1229490","bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Fast-Paced FPS","Movement Shooter","Retro","Stylish","Action"],"items":[]},"moe_shop_owarini_tokyo_liveshow":{"name":"Moe Shop - Owarini Tokyo Liveshow","title":"Moe Shop - Owarini Tokyo Liveshow","slug":"moe_shop_owarini_tokyo_liveshow","category":"Mixtapes","type":"standard","is_collection":false,"creator":"Moe Shop","label":"Future Society","studio":null,"year":"2017","rating":null,"description":"High-energy live DJ mixtape recorded at Owarini in Tokyo featuring signature French Touch beats and upbeat anime sample chops.","long_description_html":"","url":"https://soundcloud.com/futuresocietycollective/moe-shop-owarini-tokyo-liveshow","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/futuresocietycollective/moe-shop-owarini-tokyo-liveshow","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["French House","Future Funk","Live Set","Future Society","SoundCloud"],"items":[]},"moe_shop_waifu_material_mixtape":{"name":"Moe Shop - Waifu Material Mixtape","title":"Moe Shop - Waifu Material Mixtape","slug":"moe_shop_waifu_material_mixtape","category":"Mixtapes","type":"standard","is_collection":false,"creator":"Moe Shop","label":"Future Society","studio":null,"year":"2016","rating":null,"description":"Landmark Future Funk, French Touch, and Nu-Disco mixtape by Moe Shop packed with nostalgic dance floor anthems.","long_description_html":"","url":"https://soundcloud.com/futuresocietycollective/moe-shop-waifu-material-mixtape","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/futuresocietycollective/moe-shop-waifu-material-mixtape","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["French House","Future Funk","Nu-Disco","Future Society","SoundCloud"],"items":[]},"night_tempo_nighty_tape":{"name":"Night Tempo - Nighty Tape","title":"Night Tempo - Nighty Tape","slug":"night_tempo_nighty_tape","category":"Mixtapes","type":"standard","is_collection":false,"creator":"Night Tempo","label":"Neoncity Records","studio":null,"year":"2017","rating":null,"description":"Essential 80s City Pop flipped into upbeat Future Funk grooves and cassette tape beats by Night Tempo.","long_description_html":"","url":"https://neoncityrecords.bandcamp.com/album/nighty-tape","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":"https://neoncityrecords.bandcamp.com/album/nighty-tape","bandcamp_album_id":"1324499771","bandcamp_track_id":null,"tags":["Future Funk","City Pop","Vaporwave","Neoncity Records","Bandcamp"],"items":[]},"scr_guest_neon_city_records":{"name":"SCR Guest - Neon City Records (April 10, 2018)","title":"SCR Guest: Neon City Records w/ Night Tempo, Daviouxx, Aritus, Desired (April 10, 2018)","slug":"scr_guest_neon_city_records","category":"Mixtapes","type":"standard","is_collection":false,"creator":"Seoul Community Radio","label":"Neoncity Records","studio":null,"year":"2018","rating":null,"description":"Live Future Funk guest mix by Aritus and Daviouxx featuring Night Tempo and Desired from the Neoncity Records showcase at Seoul Community Radio.","long_description_html":"","url":"https://soundcloud.com/seoulcommunityradio/scr-guest-neon-city-records-w-night-tempo-daviouxx-aritus-desired-april-10-2018","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/seoulcommunityradio/scr-guest-neon-city-records-w-night-tempo-daviouxx-aritus-desired-april-10-2018","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Future Funk","City Pop","Neoncity Records","Seoul Community Radio","SoundCloud"],"items":[]},"session_9":{"name":"Session 9","title":"Session 9","slug":"session_9","category":"Movies","type":"standard","is_collection":false,"creator":"Brad Anderson","label":null,"studio":null,"year":"2001","rating":"6.4/10 IMDb","description":"Psychological horror film set in the abandoned Danvers State Mental Hospital, where an asbestos cleanup crew slowly unravels under terrifying atmospheric dread.","long_description_html":"<p>Directed by Brad Anderson and starring Peter Mullan, David Caruso, and Josh Lucas, Session 9 is a masterclass in low-budget psych
749ological dread. Filmed on location at the real, abandoned Danvers State Hospital in Massachusetts, the film follows a desperate hazardous materials abatement crew as they discover nine audio tape sessions recording the treatment of a patient with multiple personality disorder.</p>\n","url":"https://www.imdb.com/title/tt0261983/","link_type":"imdb","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":"tt0261983","steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Horror","Psychological Thriller","Mystery","Cult Classic"],"items":[]},"smile_now_cry_later":{"name":"Smile Now Cry Later","title":"Smile Now Cry Later","slug":"smile_now_cry_later","category":"Movies","type":"standard","is_collection":false,"creator":"Spoken Reason","label":null,"studio":null,"year":"2011","rating":"Indie Feature","description":"Dramatic indie film exploring street life, mask of toughness, personal struggles, and raw emotional vulnerability.","long_description_html":"<p>Smile Now Cry Later captures the raw emotion and dualities of urban life. Taking its title from classic theater masks and tattoo art, the film explores how individuals present a brave smile to the world while dealing with quiet heartbreak, survival, and inner drama behind closed doors.</p>\n","url":"https://www.imdb.com/title/tt1380811/","link_type":"imdb","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":"tt1380811","steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Drama","Indie Film","Urban Life","Independent"],"items":[]},"arlo_parks_portra_400":{"name":"Arlo Parks - Portra 400","title":"Arlo Parks - Portra 400","slug":"arlo_parks_portra_400","category":"Music","type":"standard","is_collection":false,"creator":"Arlo Parks","label":null,"studio":null,"year":"2021","rating":null,"description":"Warm, nostalgic neo-soul and bedroom pop groove with lush jazz chords, analogue warmth, and poetic lyrics.","long_description_html":"","url":"https://www.youtube.com/watch?v=nAVqjnxg89w","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"nAVqjnxg89w","youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Neo Soul","Indie Pop","Bedroom Pop","Arlo Parks","YouTube"],"items":[]},"blackballoons_final_fantasy":{"name":"black balloons - FINAL FANTASY","title":"black balloons - FINAL FANTASY","slug":"blackballoons_final_fantasy","category":"Music","type":"standard","is_collection":false,"creator":"black balloons","label":null,"studio":null,"year":null,"rating":null,"description":"Atmospheric electronic beats and melancholic sample chops.","long_description_html":"","url":"https://soundcloud.com/blackballoonss/final-fantasy","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/blackballoonss/final-fantasy","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Electronic","Lo-Fi","Sampled","SoundCloud"],"items":[]},"brain_rot":{"name":"Brain Rot","title":"Brain Rot","slug":"brain_rot","category":"Music","type":"standard","is_collection":false,"creator":"Tokyo Manaka feat. 1","label":null,"studio":null,"year":null,"rating":null,"description":"Fast-paced synth breakcore track on SoundCloud.","long_description_html":"","url":"https://soundcloud.com/boss-54604603/brain-rot-tokyo-manaka-feat-1","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/boss-54604603/brain-rot-tokyo-manaka-feat-1","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Breakcore","Electronic"],"items":[]},"creepynuts_losstime":{"name":"Creepy Nuts - Losstime","title":"Creepy Nuts - Losstime (ロスタイム)","slug":"creepynuts_losstime","category":"Music","type":"standard","is_collection":false,"creator":"Creepy Nuts (R-Shitei & DJ Matsunaga)","label":null,"studio":null,"year":"2022","rating":null,"description":"Introspective Japanese hi
749p-hop cut featuring world champion turntable scratching by DJ Matsunaga and lyrical flow by R-Shitei (Call of the Night insert song).","long_description_html":"","url":"https://soundcloud.com/creepynuts/losstime","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/creepynuts/losstime","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Japanese Hip-Hop","Call of the Night","Turntablism","SoundCloud"],"items":[]},"dj_kuroneko_around_u":{"name":"Around U","title":"Around U","slug":"dj_kuroneko_around_u","category":"Music","type":"standard","is_collection":false,"creator":"DJ kuroneko","label":null,"studio":null,"year":null,"rating":null,"description":"Atmospheric jungle / drum and bass track.","long_description_html":"","url":"https://soundcloud.com/dissolve4/around-u-1","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/dissolve4/around-u-1","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Jungle","Drum & Bass"],"items":[]},"ev_exi_you_cant_run":{"name":"ev.exi - You Can't Run (ft. Lavera)","title":"ev.exi - You Can't Run (ft. Lavera)","slug":"ev_exi_you_cant_run","category":"Music","type":"standard","is_collection":false,"creator":"ev.exi","label":null,"studio":null,"year":null,"rating":null,"description":"Funky French House and Future Funk track packed with heavy slapping bass and soulful vocals.","long_description_html":"","url":"https://soundcloud.com/ev-exi/you-cant-run","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/ev-exi/you-cant-run","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Future Funk","French House","Nu-Disco","SoundCloud"],"items":[]},"fusq_yeah":{"name":"fusq - Yeah!","title":"fusq - Yeah!","slug":"fusq_yeah","category":"Music","type":"standard","is_collection":false,"creator":"fusq","label":null,"studio":null,"year":null,"rating":null,"description":"Hyper-bouncy future bass and chiptune electro dance track with playful vocal samples.","long_description_html":"","url":"https://soundcloud.com/fusq/yeah","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/fusq/yeah","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Future Bass","Chiptune","Electro","SoundCloud"],"items":[]},"gorillaz_humility":{"name":"Gorillaz - Humility","title":"Gorillaz - Humility (feat. George Benson)","slug":"gorillaz_humility","category":"Music","type":"standard","is_collection":false,"creator":"Gorillaz","label":null,"studio":null,"year":"2018","rating":null,"description":"Sun-drenched funk-pop single featuring jazz guitar virtuoso George Benson from The Now Now.","long_description_html":"","url":"https://www.youtube.com/watch?v=E5yFcdPAGv0","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"E5yFcdPAGv0","youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Indie Pop","Funk","Gorillaz","Music Video"],"items":[]},"hideki_naganuma_aint_nothin_like_a_funky_beat":{"name":"Hideki Naganuma - AINT NOTHIN LIKE A FUNKY BEAT","title":"Hideki Naganuma - AINT NOTHIN LIKE A FUNKY BEAT","slug":"hideki_naganuma_aint_nothin_like_a_funky_beat","category":"Music","type":"standard","is_collection":false,"creator":"Hideki Naganuma","label":null,"studio":"Team Reptile","year":null,"rating":null,"description":"Wild breakbeat cyberfunk anthem composed by Hideki Naganuma for Lethal League Blaze.","long_description_html":"","url":"https://soundcloud.com/immajustuploadthisokay/hideki-naganuma-aint-nothin-like-a-funky-beat","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/immajustuploadthisokay/hideki-naganuma-aint-nothin-like-a-funky-beat","y
749outube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Breakbeat","Cyberfunk","Hideki Naganuma","Lethal League Blaze"],"items":[]},"hkmori_lost":{"name":"Lost","title":"Lost","slug":"hkmori_lost","category":"Music","type":"standard","is_collection":false,"creator":"hkmori","label":null,"studio":null,"year":null,"rating":null,"description":"Melancholic atmospheric electronic breakcore track by hkmori.","long_description_html":"","url":"https://soundcloud.com/hkmori/lost","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/hkmori/lost","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Breakcore","Electronic"],"items":[]},"joey_valence_and_brae_punk_tactics":{"name":"PUNK TACTICS","title":"PUNK TACTICS","slug":"joey_valence_and_brae_punk_tactics","category":"Music","type":"standard","is_collection":false,"creator":"Joey Valence & Brae","label":null,"studio":null,"year":"2022","rating":null,"description":"Explosive 90s Beastie Boys-inspired boom bap and hip-hop punk anthem.","long_description_html":"","url":"https://soundcloud.com/joeyvalenceandbrae/punk-tactics","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/joeyvalenceandbrae/punk-tactics","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Hip-Hop","Punk Rap","Boom Bap","90s Revival"],"items":[]},"kero_kero_bonito_flyway":{"name":"Kero Kero Bonito - Flyway","title":"Kero Kero Bonito - Flyway","slug":"kero_kero_bonito_flyway","category":"Music","type":"standard","is_collection":false,"creator":"Kero Kero Bonito","label":null,"studio":null,"year":"2018","rating":null,"description":"Dynamic indie rock and dream-pop single from Time 'n' Place with soaring distorted guitars and introspective bilingual vocals.","long_description_html":"","url":"https://www.youtube.com/watch?v=dSuINZdJBk8","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"dSuINZdJBk8","youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Indie Rock","Dream Pop","Kero Kero Bonito","J-Rock","YouTube"],"items":[]},"keygen_church_la_chiave_del_mio_amor":{"name":"Keygen Church - La Chiave Del Mio Amor","title":"Keygen Church - La Chiave Del Mio Amor","slug":"keygen_church_la_chiave_del_mio_amor","category":"Music","type":"standard","is_collection":false,"creator":"Keygen Church (Master Boot Record)","label":"Metal Blade Records","studio":null,"year":"2024","rating":null,"description":"Majestic pipe organ baroque counterpoint fused with heavy 8-string synth metal and chiptune arpeggios.","long_description_html":"","url":"https://soundcloud.com/metalbladerecords/keygen-church-la-chiave-del-mio-amor","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/metalbladerecords/keygen-church-la-chiave-del-mio-amor","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Baroque Metal","Pipe Organ","Chiptune","Synth Metal"],"items":[]},"kiss_me_nerdy_girl_lost_summer_2020":{"name":"kissmenerdygirl - Lost Summer 2020","title":"kissmenerdygirl - Lost Summer 2020","slug":"kiss_me_nerdy_girl_lost_summer_2020","category":"Music","type":"standard","is_collection":false,"creator":"kissmenerdygirl","label":null,"studio":null,"year":"2020","rating":null,"description":"Nostalgic lo-fi future funk and summer chillwave beat tape cut.","long_description_html":"","url":"https://soundcloud.com/kissmenerdygirl/lost-summer-2020","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/kissmenerdygirl/lost-summer-2020","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Future Funk","Chillwave","Lo-Fi","SoundCloud"],"items":[]},"kiyosumi_whenever":{"name":"kiyosumi - whenever","title":"kiyosumi - whenever","slug":"kiyosumi_whenever","category":"Music","type":"standard","is_collection":false,"creator":"kiyosumi","label":null,"studio":null,"year":null,"rating":null,"description":"Melodic chillwave and emotive electronic beat with lush chords.","long_description_html":"","url":"https://soundcloud.com/kiyosumi76/whenever","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/kiyosumi76/whenever","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Chillwave","Electronic","Beats","SoundCloud"],"items":[]},"lomaji_rr":{"name":"LOMAJI - RR","title":"LOMAJI - RR","slug":"lomaji_rr","category":"Music","type":"standard","is_collection":false,"creator":"LOMAJI","label":null,"studio":null,"year":null,"rating":null,"description":"Atmospheric ambient electronic breakbeat and ethereal synth textures.","long_description_html":"","url":"https://soundcloud.com/vaguefi/rr-1","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/vaguefi/rr-1","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Ambient","Breakbeat","Electronic","SoundCloud"],"items":[]},"magic_sword_legend_of_the_keeper":{"name":"Magic Sword - Legend Of The Keeper","title":"Magic Sword - Legend Of The Keeper","slug":"magic_sword_legend_of_the_keeper","category":"Music","type":"standard","is_collection":false,"creator":"Magic Sword","label":null,"studio":null,"year":"2015","rating":null,"description":"Epic synthwave and retro electro rock with roaring lead guitars (featured in Hotline Miami 2).","long_description_html":"","url":"https://soundcloud.com/magic-sword/legend-of-the-keeper","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/magic-sword/legend-of-the-keeper","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Synthwave","Darksynth","Electronic Rock","SoundCloud"],"items":[]},"mikazuki_bigwave_stardust_disco":{"name":"Mikazuki BIGWAVE - Stardust Disco","title":"Mikazuki BIGWAVE - Stardust Disco (星屑ディスコ)","slug":"mikazuki_bigwave_stardust_disco","category":"Music","type":"standard","is_collection":false,"creator":"Mikazuki BIGWAVE","label":"Sleepless Tapes","studio":null,"year":null,"rating":null,"description":"Sparkling Kawaii Future Funk and French House dance floor burner.","long_description_html":"","url":"https://soundcloud.com/sleeplesstapes/stardust-disco","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/sleeplesstapes/stardust-disco","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Future Funk","Kawaii Bass","French House","SoundCloud"],"items":[]},"ninajirachi_wannacry":{"name":"WannaCry","title":"WannaCry","slug":"ninajirachi_wannacry","category":"Music","type":"standard","is_collection":false,"creator":"Ninajirachi","label":null,"studio":null,"year":null,"rating":null,"description":"Forward-thinking hyperpop and intricate club sound design by Australian electronic producer Ninajirachi.","long_description_html":"","url":"https://soundcloud.com/ninajirachi/wannacry","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/ninajirachi/wannacry","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Hyperpop","Club","
749Electronic","SoundCloud"],"items":[]},"number_girl_teppuu_surudoku_natte":{"name":"Number Girl - Teppuu Surudoku Natte","title":"Number Girl - Teppuu Surudoku Natte (鉄風 鋭くなって)","slug":"number_girl_teppuu_surudoku_natte","category":"Music","type":"standard","is_collection":false,"creator":"Number Girl","label":null,"studio":null,"year":"2000","rating":null,"description":"Legendary Japanese noise rock and math punk anthem featuring ferocious angular guitar riffs and frantic vocals by Shutoku Mukai.","long_description_html":"","url":"https://soundcloud.com/numbergirl-music/teppuu-surudoku-natte","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/numbergirl-music/teppuu-surudoku-natte","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Japanese Noise Rock","Math Rock","Post-Hardcore","Alternative"],"items":[]},"otsukare_summer":{"name":"Otsukare Summer","title":"Otsukare Summer","slug":"otsukare_summer","category":"Music","type":"standard","is_collection":false,"creator":"HALCALI","label":null,"studio":null,"year":null,"rating":null,"description":"Catchy Japanese hip-hop/pop summer track by duo HALCALI.","long_description_html":"","url":"https://soundcloud.com/damian2811/halcali-otsukare-summer","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/damian2811/halcali-otsukare-summer","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["J-Pop","Hip-Hop","Summer"],"items":[]},"rose_after_hours":{"name":"rose - after hours (w/ hentai dude)","title":"rose - after hours (w/ hentai dude)","slug":"rose_after_hours","category":"Music","type":"standard","is_collection":false,"creator":"rose & hentai dude","label":null,"studio":null,"year":null,"rating":null,"description":"Late night chillwave and electronic RnB collaboration.","long_description_html":"","url":"https://soundcloud.com/unerose/after-hours","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/unerose/after-hours","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Chillwave","Electronic","Future Beats","SoundCloud"],"items":[]},"so87_ride":{"name":"SO87 - Ride (w/ Jamie Paige)","title":"SO87 - Ride (w/ Jamie Paige)","slug":"so87_ride","category":"Music","type":"standard","is_collection":false,"creator":"SO87 & Jamie Paige","label":null,"studio":null,"year":null,"rating":null,"description":"Glitchy electronic vocal track with dynamic future garage beats.","long_description_html":"","url":"https://soundcloud.com/so87/ride-w-jamie-paige","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/so87/ride-w-jamie-paige","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Future Garage","Electronic","Glitch","SoundCloud"],"items":[]},"syojo_satori_chain_of_love":{"name":"Syojo Satori - Chain of Love","title":"Syojo Satori - Chain of Love (愛の鎖)","slug":"syojo_satori_chain_of_love","category":"Music","type":"standard","is_collection":false,"creator":"Syojo Satori","label":null,"studio":null,"year":null,"rating":null,"description":"Catchy Future Funk and retro anime disco groove.","long_description_html":"","url":"https://soundcloud.com/syojosatori/chain-of-love","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/syojosatori/chain-of-love","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Future Funk","Nu-Disco","Anime Groove","SoundCloud"],"items":[]},"takako_mamiya_love_trip":{"name":"Takako Mamiya - Love Trip","title":"Takako Mamiya - Love Trip (間宮貴子 - LOVE TRIP)","slug":"takako_mamiya_love_trip","category":"Music","type":"standard","is_collection":false,"creator":"Takako Mamiya","label":null,"studio":null,"year":"1982","rating":null,"description":"Seminal Japanese City Pop masterpiece with flawless jazz-fusion arrangements, silky basslines, and brass sections.","long_description_html":"","url":"https://www.youtube.com/watch?v=M0HmUICJRZc","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"M0HmUICJRZc","youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["City Pop","Jazz Funk","80s J-Pop","Takako Mamiya","YouTube"],"items":[]},"tokimeki_records_orange_sea":{"name":"Orange Sea","title":"Orange Sea (prod. Tokimeki Records)","slug":"tokimeki_records_orange_sea","category":"Music","type":"standard","is_collection":false,"creator":"Tokimeki Records","label":null,"studio":null,"year":null,"rating":null,"description":"Modern Japanese city pop groove featuring retro synthesizers, silky brass, and nostalgic melodies.","long_description_html":"","url":"https://soundcloud.com/user-769779415/5b71e105-f58b-4c68-a7ae-1a9316b84658","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/user-769779415/5b71e105-f58b-4c68-a7ae-1a9316b84658","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["City Pop","Neo City Pop","Japanese Groove","SoundCloud"],"items":[]},"vylet_pony_ni4ni":{"name":"NI4NI","title":"NI4NI","slug":"vylet_pony_ni4ni","category":"Music","type":"standard","is_collection":false,"creator":"Vylet Pony","label":null,"studio":null,"year":null,"rating":null,"description":"Expansive electronic art pop and emotional hyperpop journey by producer and vocalist Vylet Pony.","long_description_html":"","url":"https://soundcloud.com/vyletpony/ni4ni-1","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/vyletpony/ni4ni-1","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Art Pop","Hyperpop","Electronic","SoundCloud"],"items":[]},"air_gear_ost":{"name":"Air Gear OST","title":"Air Gear OST","slug":"air_gear_ost","category":"OST","type":"standard","is_collection":false,"creator":"Hideki Naganuma","label":null,"studio":null,"year":null,"rating":null,"description":"High-octane funk and breakbeat anime original soundtrack composed by Hideki Naganuma.","long_description_html":"","url":"https://www.youtube.com/watch?v=D1qAA9BjMjc","link_type":"youtube","embed_type":null,"soundcloud_url":null,"youtube_id":"D1qAA9BjMjc","youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Anime OST","Breakbeat","Funk"],"items":[]},"aivi_surasshu_ost":{"name":"aivi & surasshu","title":"aivi & surasshu","slug":"aivi_surasshu_ost","category":"OST","type":"collection","is_collection":true,"creator":"aivi & surasshu","label":null,"studio":null,"year":null,"rating":null,"description":"Charming piano and chiptune duo famous for the Steven Universe score, FEZ arrangements, and original electronic compositions.","long_description_html":"","url":"https://aivisura.bandcamp.com","link_type":"bandcamp","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Chiptune","Piano","Steven Universe","FEZ","Bandcamp"],"items":[{"title":"The Black Box","url":"https://aivisura.bandcamp.com/album/the-black-box","de
749scription":"Full landmark album combining expressive jazz piano and Game Boy sound hardware.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://aivisura.bandcamp.com/album/the-black-box","bandcamp_album_id":"1996609636","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Come Back (FEZ Remix)","url":"https://soundcloud.com/aiviwave/aivi-surasshu-come-back","description":"Joyful and intricate remix of Disasterpeace's FEZ soundtrack.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/aiviwave/aivi-surasshu-come-back","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"c418_minecraft_ost":{"name":"Minecraft - Volume Alpha","title":"Minecraft - Volume Alpha","slug":"c418_minecraft_ost","category":"OST","type":"standard","is_collection":false,"creator":"C418 (Daniel Rosenfeld)","label":null,"studio":null,"year":"2011","rating":null,"description":"Iconic, minimalist ambient and piano soundtrack composed by C418 for Minecraft, universally celebrated as a masterpiece of video game music.","long_description_html":"<p>Minecraft - Volume Alpha is Daniel Rosenfeld&#39;s timeless ambient masterpiece. Featuring delicate acoustic piano melodies, warm analogue synth pads, and subtle environmental sounds, it defined the identity and emotional depth of Minecraft for millions of players around the world.</p>\n","url":"https://c418.bandcamp.com/album/minecraft-volume-alpha","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":"https://c418.bandcamp.com/album/minecraft-volume-alpha","bandcamp_album_id":"1349219244","bandcamp_track_id":null,"tags":["Minecraft","Ambient","Piano","Video Game OST","Bandcamp"],"items":[]},"goblin_slayer_ost":{"name":"Goblin Slayer OST","title":"Goblin Slayer Original Soundtrack","slug":"goblin_slayer_ost","category":"OST","type":"collection","is_collection":true,"creator":"Kenichiro Suehiro & Mili","label":null,"studio":null,"year":null,"rating":null,"description":"Dark fantasy orchestral compositions by Kenichiro Suehiro along with iconic anime openings by classical-electronic band Mili.","long_description_html":"","url":"https://soundcloud.com/search?q=goblin%20slayer%20ost","link_type":"soundcloud","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Anime OST","Dark Fantasy","Orchestral","Mili","SoundCloud"],"items":[{"title":"Rightfully (Opening Full by Mili)","url":"https://soundcloud.com/admiral_goblinslayer/goblin-slayer-op-opening-full-rightfully-mili","description":"Acclaimed baroque-pop opening theme performed by Mili.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/admiral_goblinslayer/goblin-slayer-op-opening-full-rightfully-mili","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Goblin Slayer Main Theme","url":"https://soundcloud.com/guild_girl/1-maintheme-goblin-slayer","description":"Grim, driving orchestral battle motif composed by Kenichiro Suehiro.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/guild_girl/1-maintheme-goblin-slayer","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Goblin Slayer Battle Theme (15)","url":"https://soundcloud.com/guild_girl/15-goblin-slayer-original","description":"Tense strings and heavy drums depicting brutal close-quarters combat.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/guild_girl/15-goblin-slayer-original","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Goblin Slayer Cave Theme (16)","url":"https://soundcloud.com/guild_girl/16-goblin-slayer-original","description":"Eerie dungeon crawler ambiance.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/guild_girl/16-goblin-slayer-original","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Goblin Slayer Climax Theme (19)","url":"https://soundcloud.com/guild_girl/19-goblin-slayer-original","description":"Epic heroic orchestral climax.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/guild_girl/19-goblin-slayer-original","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"hades_ost":{"name":"Hades OST","title":"Hades OST","slug":"hades_ost","category":"OST","type":"standard","is_collection":false,"creator":"Darren Korb","label":null,"studio":"Supergiant Games","year":"2020","rating":null,"description":"Electrifying Mediterranean-infused acoustic and progressive metal soundtrack composed by Darren Korb for Supergiant Games' rogue-like masterpiece Hades.","long_description_html":"<p>Composed, produced, and performed by Darren Korb (with vocals by Ashley Barrett), the Hades Original Soundtrack blends Mediterranean folk instruments like bouzouki and Turkish baglama with heavy electric guitars, progressive drums, and haunting vocal harmonie
749s to match the relentless action of the Underworld.</p>\n","url":"https://www.youtube.com/watch?v=3GRKJ87S5cI","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"3GRKJ87S5cI","youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Game Soundtrack","Progressive Metal","Acoustic Folk","Supergiant Games"],"items":[]},"hotline_miami_bloodline":{"name":"Scattle - Bloodline","title":"Scattle - Bloodline","slug":"hotline_miami_bloodline","category":"OST","type":"standard","is_collection":false,"creator":"Scattle","label":null,"studio":"Dennaton Games","year":"2015","rating":null,"description":"Dark, pulsing synthwave and electro combat track from Hotline Miami 2: Wrong Number OST by Scattle.","long_description_html":"","url":"https://soundcloud.com/user-326777983/scattle-bloodline","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/user-326777983/scattle-bloodline","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Hotline Miami","Synthwave","Dark Electro","OST"],"items":[]},"hotline_miami_heist":{"name":"EL TIGR3 - Heist","title":"EL TIGR3 - Heist","slug":"hotline_miami_heist","category":"OST","type":"standard","is_collection":false,"creator":"EL TIGR3","label":null,"studio":"Dennaton Games","year":"2015","rating":null,"description":"Relentless cyberpunk electro house track from Hotline Miami 2: Wrong Number OST.","long_description_html":"","url":"https://soundcloud.com/el-tigr3/heist","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/el-tigr3/heist","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Hotline Miami","Electro House","Cyberpunk","OST"],"items":[]},"lethal_league_snibbit":{"name":"Klaus Veen - Snibbit","title":"Klaus Veen - Snibbit","slug":"lethal_league_snibbit","category":"OST","type":"standard","is_collection":false,"creator":"Klaus Veen","label":null,"studio":"Team Reptile","year":"2018","rating":null,"description":"Infectious 90s speed garage and funky breakbeat battle track composed for Lethal League Blaze.","long_description_html":"","url":"https://soundcloud.com/klausveen/klaus-veen-snibbit","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/klausveen/klaus-veen-snibbit","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Lethal League Blaze","Speed Garage","Breakbeat","OST"],"items":[]},"lifeformed_ost":{"name":"Lifeformed OST Discography","title":"Lifeformed OST Discography","slug":"lifeformed_ost","category":"OST","type":"collection","is_collection":true,"creator":"Lifeformed (Terence Lee)","label":null,"studio":"Hitbox Team","year":null,"rating":null,"description":"Acoustic chiptune, ambient electronic, and platformer original soundtracks by Lifeformed including Dustforce (Fastfall), Immerse, and Umbra.","long_description_html":"","url":"https://lifeformed.bandcamp.com","link_type":"bandcamp","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Dustforce","Chiptune","Indie Game OST","Ambient","Bandcamp"],"items":[{"title":"Fastfall (Dustforce OST Full Album)","url":"https://lifeformed.bandcamp.com/album/fastfall","description":"Award-winning soundtrack for sweeping acrobatic platformer Dustforce.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://lifeformed.bandcamp.com/album/fastfall","bandcamp_album_id":"2118918607","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Immerse","url":"https://lifeformed.bandcamp.com/album/immerse","description":"Melodic electronic album exploring lush synth atmospheres.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://lifeformed.bandcamp.com/album/immerse","bandcamp_album_id":"1653268435","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Umbra (Lifeformed × Janice Kwan)","url":"https://lifeformed.bandcamp.com/album/umbra","description":"Original soundtrack for indie adventure Tunic.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://lifeformed.bandcamp.com/album/umbra","bandcamp_album_id":"568006953","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Fastfall - \"Dream\"","url":"https://soundcloud.com/lifeformed/fastfall-dustforce-ost-dream","description":"Gentle acoustic guitar and soft 8-bit synth arpeggios.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/lifeformed/fastfall-dustforce-ost-dream","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Fastfall - \"Your Favorite Color\"","url":"https://soundcloud.com/lifeformed/fastfall-dustforce-ost-your","description":"Warm, rhythmic piano and electronic percussion.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/lifeformed/fastfall-dustforce-ost-your","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Fastfall - \"A Safe Place To Sleep\"","url":"https://soundcloud.com/lifeformed/fastfall-dustforce-ost-a-safe","description":"Serene and comforting hub level theme.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/lifeformed/fastfall-dustforce-ost-a-safe","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}
749,{"title":"Fastfall - \"9-bit Expedition\"","url":"https://soundcloud.com/lifeformed/dustforce-9-bit-expedition","description":"Energetic chiptune melody and driving beat.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/lifeformed/dustforce-9-bit-expedition","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Fastfall - \"Cider Time\"","url":"https://soundcloud.com/lifeformed/dustforce-cider-time","description":"Playful syncopated acoustic chiptune melody.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/lifeformed/dustforce-cider-time","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"marzuku_ost":{"name":"Marzuku - Fraudulence & ULTRAViolence OST","title":"Marzuku - Fraudulence & ULTRAViolence OST","slug":"marzuku_ost","category":"OST","type":"collection","is_collection":true,"creator":"Marzuku","label":null,"studio":null,"year":null,"rating":null,"description":"Dark industrial metal, cybernetic breakcore, and jazz-fusion boss battle soundtracks composed by Marzuku for ULTRAKILL fan projects and ULTRAViolence.","long_description_html":"","url":"https://marzuku.bandcamp.com","link_type":"bandcamp","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["ULTRAKILL","Fan OST","Industrial Metal","Breakcore","Bandcamp"],"items":[{"title":"Agony & Imminence","url":"https://marzuku.bandcamp.com/album/agony-imminence","description":"Full release featuring high-intensity industrial 
749combat tracks.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://marzuku.bandcamp.com/album/agony-imminence","bandcamp_album_id":"110939586","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"ULTRAViolence (Original Soundtrack)","url":"https://marzuku.bandcamp.com/album/ultraviolence-original-soundtrack","description":"Complete industrial metal and breakcore soundtrack album.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://marzuku.bandcamp.com/album/ultraviolence-original-soundtrack","bandcamp_album_id":"691865275","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Industrial Hell","url":"https://marzuku.bandcamp.com/album/industrial-hell","description":"Heavy distorted electronic metal assault.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://marzuku.bandcamp.com/album/industrial-hell","bandcamp_album_id":"607746923","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Colliding Stars","url":"https://marzuku.bandcamp.com/album/colliding-stars","description":"Epic synth-metal and melodic breakcore release.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://marzuku.bandcamp.com/album/colliding-stars","bandcamp_album_id":"2704067357","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Caelum","url":"https://marzuku.bandcamp.com/album/caelum","description":"Heavenly choral progressions over punishing drum patterns.","link_type":"bandcamp","embed_type":"album","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://marzuku.bandcamp.com/album/caelum","bandcamp_album_id":"2955753723","bandcamp_track_id":null,"icon_filename":"bandcamp.svg"},{"title":"Harmony","url":"https://marzuku.bandcamp.com/track/harmony","description":"Complex melodic industrial 
749composition.","link_type":"bandcamp","embed_type":"track","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://marzuku.bandcamp.com/track/harmony","bandcamp_album_id":null,"bandcamp_track_id":"3366003343","icon_filename":"bandcamp.svg"},{"title":"Cross Turned Dagger","url":"https://marzuku.bandcamp.com/track/cross-turned-dagger","description":"Ferocious collab track with Duv.","link_type":"bandcamp","embed_type":"track","soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":"https://marzuku.bandcamp.com/track/cross-turned-dagger","bandcamp_album_id":null,"bandcamp_track_id":"3673573405","icon_filename":"bandcamp.svg"},{"title":"Turning Point (From \"Fraudulence Vol. 1\")","url":"https://soundcloud.com/marzuku-music/turning-point-from-fraudulence","description":"Climactic battle sequence theme from the Fraudulence soundtrack.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/marzuku-music/turning-point-from-fraudulence","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Valley of Fools","url":"https://soundcloud.com/marzuku-871072200/valley-of-fools","description":"Sinister electronic atmosphere and relentless percussion.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/marzuku-871072200/valley-of-fools","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Profaned Community (w/ YEM ft. Perrell)","url":"https://soundcloud.com/marzuku-871072200/profaned-community-w-yem-ft-saxophonist-perrell-fraudulence-soundtrack","description":"Industrial jazz fusion featuring live saxophone solos by Perrell.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/marzuku-871072200/profaned-community-w-yem-ft-saxophonist-perrell-fraudulence-soundtrack","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Imminence","url":"https://soundcloud.com/marzuku-871072200/imminence","description":"Driving combat cut building tense speed and aggression.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/marzuku-871072200/imminence","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"panty_and_stocking_theme":{"name":"Theme for Scanty & Knee Socks","title":"Theme for Scanty & Knee Socks","slug":"panty_and_stocking_theme","category":"OST","type":"standard","is_collection":false,"creator":"TeddyLoid & TCY FORCE","label":null,"studio":"Gainax","year":"2010","rating":null,"description":"Cult classic high-energy French electro house battle theme from the Panty & Stocking with Garterbelt Original Soundtrack.","long_description_html":"","url":"https://soundcloud.com/panty-and-stocking/14-theme-for-scanty-knee-socks","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/panty-and-stocking/14-theme-for-scanty-knee-socks","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Anime OST","Electro House","Panty & Stocking","TeddyLoid"],"items":[]},"risk_of_rain_2_ost":{"name":"The Rain Formerly Known as Purple","title":"The Rain Formerly Known as Purple","slug":"risk_of_rain_2_ost","category":"OST","type":"standard","is_collection":false,"creator":"Chris Christodoulou","label":null,"studio":"Hopoo Games","year":"2020","rating":null,"description":"Monumental 7-minute progressive rock and synth masterpiece composed by Chris Christodoulou for Risk of Rain 2's Sky Meadow stage.","long_description_html":"<p>Composed by Greek multi-instrumentalist Chris Christodoulou, &#39;The Rain Formerly Known as Purple&#39; serves as the musical centerpiece of Risk of Rain 2. Transitioning from contemplative guitar arpeggios to a soaring guitar solo over vintage synthesizers and aggressive drum grooves, it is 
749widely considered one of the greatest tracks in modern gaming.</p>\n","url":"https://soundcloud.com/chrischristodouloumusic/the-rain-formerly-known-as","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/chrischristodouloumusic/the-rain-formerly-known-as","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Risk of Rain 2","Progressive Rock","Synthwave","Video Game OST"],"items":[]},"shatter_ost":{"name":"Shatter OST","title":"Shatter OST","slug":"shatter_ost","category":"OST","type":"standard","is_collection":false,"creator":"Module","label":null,"studio":"Sidhe","year":"2009","rating":null,"description":"Award-winning synthwave, electro-rock, and retro video game soundtrack composed by Module for the brick-breaking arcade game Shatter.","long_description_html":"<p>Composed by New Zealand musician Module (Jeramiah Ross), the Shatter Original Soundtrack is widely regarded as one of the greatest video game electronic soundtracks. Featuring driving synthlines, vocoder vocals, upbeat guitar riffs, and soaring melodies across 14 tracks, it received numerous awards and defined modern arcade music.</p>\n","url":"https://www.youtube.com/watch?v=k76eJ2_ilis&list=OLAK5uy_muAw6jWyN3GgtQNWhZddJ8W40aPiglhGo","link_type":"youtube","embed_type":"playlist","soundcloud_url":null,"youtube_id":"k76eJ2_ilis","youtube_playlist_id":"OLAK5uy_muAw6jWyN3GgtQNWhZddJ8W40aPiglhGo","imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Game Soundtrack","Synthwave","Electro Rock","Chiptune"],"items":[]},"ultrakill_fan_ost":{"name":"ULTRAKILL Fan Soundtracks","title":"ULTRAKILL Fan Soundtracks","slug":"ultrakill_fan_ost","category":"OST","type":"collection","is_collection":true,"creator":"Various Community Composers","label":null,"studio":null,"year":null,"rating":null,"description":"Community-composed original soundtrack tributes and unofficial level themes for ULTRAKILL.","long_description_html":"","url":"https://soundcloud.com/search?q=ultrakill%20fan%20ost","link_type":"soundcloud","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["ULTRAKILL","Fan OST","Industrial Metal","Breakcore","SoundCloud"],"items":[{"title":"Blood-Red Sakura (ULTRAKILL 7-3 UST)","url":"https://soundcloud.com/agnab-lol/blood-red-sakura-ultrakill-7-3-ust","description":"Unofficial soundtrack arrangement by AGNAB for Violence layer (7-3).","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/agnab-lol/blood-red-sakura-ultrakill-7-3-ust","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Stolen Heaven","url":"https://soundcloud.com/triagegremlin/ultrakill-fan-ost-stolen-heaven","description":"Frantic breakcore and guitar track composed by Triage Gremlin.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/triagegremlin/ultrakill-fan-ost-stolen-heaven","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Reverse Lunar Evisceration","url":"https://soundcloud.com/triagegremlin/ultrakill-album-collab-reverse-lunar-evisceration","description":"High-speed industrial metal collaboration for ULTRAKILL community album.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/triagegremlin/ultrakill-album-collab-reverse-lunar-evisceration","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"},{"title":"Primordial Hunger","url":"https://soundcloud.com/requiemine/primordial-hunger","description":"Dark, oppressive industrial battle theme by Requiemine.","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/requiemine/primordial-hunger","youtube_id":null,"youtube_playlist_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"icon_filename":"soundcloud.svg"}]},"ultrakill_fan_ost_corporate_martyrs":{"name":"ULTRAKILL Fan OST - Corporate Martyrs (Fraud Climax)","title":"ULTRAKILL Fan OST - Corporate Martyrs (Fraud Climax)","slug":"ultrakill_fan_ost_corporate_martyrs","category":"OST","type":"standard","is_collection":false,"creator":"Rey Hunter","label":null,"studio":null,"year":null,"rating":null,"description":"High-intensity fan-composed climax theme for ULTRAKILL Fraud layer.","long_description_html":"","url":"https://soundcloud.com/rey-hunter-169341173/ultrakill-fan-ost-corporate-martyrs-fraud-climax","link_type":"soundcloud","embed_type":null,"soundcloud_url":"https://soundcloud.com/rey-hunter-169341173/ultrakill-fan-ost-corporate-martyrs-fraud-climax","youtube_id":null,"youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["ULTRAKILL","Fan OST","Industrial Metal"],"items":[]},"burn_notice":{"name":"Burn Notice","title":"Burn Notice","slug":"burn_notice","category":"TV","type":"standard","is_collection":false,"creator":"Matt Nix","label":null,"studio":"USA Network","year":"2007-2013","rating":"8.0/10 IMDb","description":"Slick spy drama following blacklisted CIA operative Michael Westen as he relies on tradecraft, voiceovers, and improvised gadgets in Miami while trying to figure out who burned him.","long_description_html":"<p>Created by Matt Nix and starring Jeffrey Donovan as Michael Westen, Gabrielle Anwar as Fiona Glenanne, and Bruce Campbell as Sam Axe. When CIA operative Michael Westen is issued a burn notice mid-operation, he finds himself stranded in Miami with no money or records. Taking on freelance PI jobs for ordinary people using DIY espionage tactics, homemade explosives, and undercover personas, he methodically hunts down the shadowy organization that betrayed him.</p>\n","url":"https://www.imdb.com/title/tt0810788/","link_type":"imdb","embed_type":null,"soundcloud_url":null,"youtube_id":null,"youtube_playlist_id":null,"imdb_id":"tt0810788","steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Action","Espionage","Drama","Comedy","Tradecraft"],"items":[]},"collatz_multiverse":{"name":"Collatz Multiverse","title":"The Simplest Math Problem No One Can Solve","slug":"collatz_multiverse","category":"Videos","type":"standard","is_collection":false,"creator":"Veritasium","label":null,"studio":null,"year":"2021","rating":null,"description":"Deep dive into the famous unproven Collatz Conjecture (3n+1) in mathematics and its chaotic branching tree structures.","long_description_html":"<p>An extraordinary science documentary video by Derek Muller on the Veritasium channel exploring the Collatz Conjecture (also known as the 3n + 1 problem). The video breaks down the deceptively simple rules, mathematical visualizations, infinite loops, p-adic numbers, and why Paul Erdős famously remarked that mathematics is not yet ready for such problems.</p>\n","url":"https://www.youtube.com/watch?v=n63FBYqj98E","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"n63FBYqj98E","youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Mathematics","Science","Veritasium","Collatz Conjecture"],"items":[]},"dirt_man":{"name":"Dirt Man","title":"Dirt Man","slug":"dirt_man","category":"Videos","type":"standard","is_collection":false,"creator":"Carter Vail","label":null,"studio":null,"year":"2024","rating":null,"description":"Viral indie-pop comedy track by Carter Vail about keeping a piece of dirt under your pillow for the Dirt Man.","long_description_html":"<p>A hilarious and ridiculously catchy viral song created by musician Carter Vail. Featuring smooth 70s soft-rock harmonie
749s and funky electric guitar, the song warns listeners to keep a little dirt under their pillow so the Dirt Man won&#39;t take them down to his lair under the mountain.</p>\n","url":"https://www.youtube.com/watch?v=XEgvqHdWybo","link_type":"youtube","embed_type":"video","soundcloud_url":null,"youtube_id":"XEgvqHdWybo","youtube_playlist_id":null,"imdb_id":null,"steam_appid":null,"bandcamp_url":null,"bandcamp_album_id":null,"bandcamp_track_id":null,"tags":["Indie Pop","Comedy","Viral Video","Music Video"],"items":[]}}
750  </script>
750
751
752  <svg id="duotone-svg-container" aria-hidden="true">
753    <filter id="palette-duotone-filter" color-interpolation-filters="sRGB">
754      <feColorMatrix id="palette-duotone-matrix" type="matrix" values="0.2126 0.7152 0.0722 0 0  0.2126 0.7152 0.0722 0 0  0.2126 0.7152 0.0722 0 0  0 0 0 1 0"/>
755    </filter>
756  </svg>
757
758  
759    
759<script src="./js/chart.min.js"></script>
759
760    
760<script src="./js/highlight.min.js"></script>
760
761    
761<script src="./js/hold_click.js"></script>
761
762    
762<script src="./js/image_viewer.js"></script>
762
763    
763<script src="./js/window_drag.js"></script>
763
764  
765  
765<script>
766    try {
767      if (typeof hljs !== 'undefined' && hljs.highlightAll) {
768        hljs.highlightAll();
769      }
770    } catch(e) {
771      console.warn('Highlight.js skipped:', e);
772    }
773
774    function initLayout() {
775      // Hamburger Menu Toggle Logic
776      const hamburgerBtn = document.getElementById('hamburger-btn');
777      const menuContent = document.getElementById('header-menu-content');
778
779      if (hamburgerBtn && menuContent) {
780        hamburgerBtn.addEventListener('click', (e) => {
781          e.stopPropagation();
782          const isOpen = menuContent.classList.toggle('is-open');
783          hamburgerBtn.setAttribute('aria-expanded', isOpen ? 'true' : 'false');
784        });
785
786        document.addEventListener('click', (e) => {
787          if (menuContent.classList.contains('is-open') && !menuContent.contains(e.target) && e.target !== hamburgerBtn) {
788            menuContent.classList.remove('is-open');
789            hamburgerBtn.setAttribute('aria-expanded', 'false');
790          }
791        });
792
793        document.addEventListener('keydown', (e) => {
794          if (e.key === 'Escape' && menuContent.classList.contains('is-open')) {
795            menuContent.classList.remove('is-open');
796            hamburgerBtn.setAttribute('aria-expanded', 'false');
797          }
798        });
799      }
800
801      // Palette Swapping Engine (Modularized)
802      if (window.PaletteEngine) {
803        PaletteEngine.initDom();
804      }
805
806      // Modular Draggable Snap-Back Windows
807      if (window.WindowDraggable) {
808        WindowDraggable.init();
809      }
810
811      // Terminal Window Behavior
812      document.querySelectorAll('.terminal-window').forEach(win => {
813        if (win.classList.contains('image-viewer-window') || win.classList.contains('game-player-window') || win.id === 'game-player-window') return;
814        if (win.dataset.windowInitialized) return;
815        win.dataset.windowInitialized = 'true';
816
817        const header = win.querySelector(':scope > .window-header');
818        const controls = header ? header.querySelector(':scope > .window-controls') : win.querySelector('.window-controls');
819        if (!controls) return;
820
821        const btns = controls.querySelectorAll('.window-btn');
822        if (btns.length >= 2) {
823          const minBtn = controls.querySelector('.window-btn-min, .minimize-btn') || btns[0];
824          const closeBtn = controls.querySelector('.window-btn-close, .close-btn') || btns[btns.length - 1];
825
826          // Minimize behavior: toggle window body display and switch SVG symbol
827          const bracketLeft = `<svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 96C0 60.7 28.7 32 64 32l64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0 0 320 64 0c17.7 0 32 14.3 32 32s-14.3 32-32 32l-64 0c-35.3 0-64-28.7-64-64L0 96z"/></svg>`;
828          const bracketRight = `<svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M192 96c0-35.3-28.7-64-64-64L64 32C46.3 32 32 46.3 32 64S46.3 96 64 96l64 0 0 320-64 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l64 0c35.3 0 64-28.7 64-64l0-320z"/></svg>`;
829          const minusIcon = `<svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. --><path fill="currentColor" d="M0 256c0-17.7 14.3-32 32-32l384 0c17.7 0 32 14.3 32 32s-14.3 32-32 32L32 288c-17.7 0-32-14.3-32-32z"/></svg>`;
830          const plusIcon = `<svg class="project-icon-svg" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 7.1.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2025 Fonticons, Inc. -->
830<path fill="currentColor" d="M256 64c0-17.7-14.3-32-32-32s-32 14.3-32 32l0 160-160 0c-17.7 0-32 14.3-32 32s14.3 32 32 32l160 0 0 160c0 17.7 14.3 32 32 32s32-14.3 32-32l0-160 160 0c17.7 0 32-14.3 32-32s-14.3-32-32-32l-160 0 0-160z"/></svg>`;
831
832          minBtn.addEventListener('click', (e) => {
833            e.preventDefault();
834            e.stopPropagation();
835            const body = win.querySelector(':scope > .window-body');
836            if (body) {
837              if (body.style.display === 'none') {
838                body.style.display = '';
839                minBtn.innerHTML = `<span class="window-btn-bracket">${bracketLeft}</span><span class="window-btn-icon-wrap">${minusIcon}</span><span class="window-btn-bracket">${bracketRight}</span>`;
840              } else {
841                body.style.display = 'none';
842                minBtn.innerHTML = `<span class="window-btn-bracket">${bracketLeft}</span><span class="window-btn-icon-wrap">${plusIcon}</span><span class="window-btn-bracket">${bracketRight}</span>`;
843              }
844            }
845          });
846
847
848          // Close behavior: hide the window element or its parent modal overlay instead of removing from DOM
849          closeBtn.addEventListener('click', (e) => {
850            e.preventDefault();
851            e.stopPropagation();
852
853            const overlay = win.closest('.skill-modal-overlay, [role="dialog"]');
854            if (overlay) {
855              overlay.style.display = 'none';
856              document.body.style.overflow = '';
857              const iframe = overlay.querySelector('iframe');
858              if (iframe) iframe.src = 'about:blank';
859            } else {
860              win.style.display = 'none';
861            }
862          });
863        }
864      });
865
866      // Modular Retro GUI OS Image Viewer Logic
867      const viewer = window.ImageViewer ? window.ImageViewer.getInstance() : null;
868      if (viewer) {
869        const postImages = document.querySelectorAll('.post-body-markdown img, .window-body img:not(#image-viewer-img)');
870        postImages.forEach((img, index) => {
871          if (img.closest('.gallery-main-frame, .carousel-main-frame, .gallery-thumbs, .photo-carousel-container, .game-carousel-wrapper')) return;
872          const figNum = index + 1;
873          img.setAttribute('data-figure-num', figNum);
874          img.style.cursor = 'pointer';
875          img.addEventListener('click', (e) => {
876            e.preventDefault();
877            e.stopPropagation();
878            const imgSrc = img.getAttribute('src') || img.src;
879            const imgAlt = img.getAttribute('alt') || img.getAttribute('title') || '';
880            viewer.open(imgSrc, imgAlt, figNum);
881          });
882        });
883      }
884
885      // Floating Series Quick Jump Observer & Interaction
886      const topJumpNav = document.getElementById('top-series-jump-nav') || document.getElementById('combined-toc');
887      const floatingNav = document.getElementById('series-floating-nav');
888      const floatingToggle = document.getElementById('floating-nav-toggle');
889
890      if (topJumpNav && floatingNav) {
891        const observer = new IntersectionObserver((entries) => {
892          entries.forEach(entry => {
893            if (!entry.isIntersecting) {
894              floatingNav.classList.add('is-active');
895            } else {
896              floatingNav.classList.remove('is-active');
897              floatingNav.classList.remove('is-open');
898            }
899          });
900        }, { threshold: 0 });
901
902        observer.observe(topJumpNav);
903
904        if (floatingToggle) {
905          floatingToggle.addEventListener('click', (e) => {
906            e.stopPropagation();
907            floatingNav.classList.toggle('is-open');
908          });
909        }
910
911        // Close floating menu when clicking links
912        floatingNav.querySelectorAll('.floating-jump-btn').forEach(link => {
913          link.addEventListener('click', () => {
914            floatingNav.classList.remove('is-open');
915          });
916        });
917      }
918
919      // Smooth scroll to entry targets
920      document.querySelectorAll('a[href^="#entry-"]').forEach(anchor => {
921        anchor.addEventListener('click', (e) => {
922          e.preventDefault();
923          const targetId = anchor.getAttribute('href').substring(1);
924          const targetEl = document.getElementById(targetId);
925          if (targetEl) {
926            targetEl.scrollIntoView({ behavior: 'smooth', block: 'start' });
927            history.pushState(null, '', '#' + targetId);
928          }
929        });
930      });
931
932      // Smooth scroll to top button
933      const scrollToTopBtn = document.getElementById('scroll-to-top-btn');
934      if (scrollToTopBtn) {
935        scrollToTopBtn.addEventListener('click', (e) => {
936          e.preventDefault();
937          window.scrollTo({ top: 0, behavior: 'smooth' });
938        });
939      }
940
941      // Series Jump Tooltip Edge-Fit Logic
942      document.querySelectorAll('.series-jump-btn').forEach(btn => {
943        btn.addEventListener('mouseenter', () => {
944          const rect = btn.getBoundingClientRect();
945          const tooltip = btn.querySelector('.btn-title');
946          if (tooltip) {
947            if (rect.left + 260 > window.innerWidth) {
948              tooltip.style.left = 'auto';
949              tooltip.style.right = '0';
950            } else {
951              tooltip.style.left = '0';
952              tooltip.style.right = 'auto';
953            }
954          }
955        });
956      });
957
958      // Global Dynamic Tooltip Handler for Skills & Tech Tags
959      (function() {
960        let tooltipEl = document.getElementById('global-skill-tooltip');
961        if (!tooltipEl) {
962          tooltipEl = document.createElement('div');
963          tooltipEl.id = 'global-skill-tooltip';
964          tooltipEl.className = 'global-skill-tooltip-box';
965          document.body.appendChild(tooltipEl);
966        }
967
968        const selector = '[data-tooltip], [data-skill], .skill-tooltip-trigger, .jam-tooltip-trigger, .skill-tag, .skill-tag-icon-only, .project-filter-btn, .series-filter-btn, .chain-filter-btn, .section-project-filter-btn, .fav-filter-btn';
969
970        document.addEventListener('mouseover', function(e) {
971          const target = e.target.closest(selector);
972          if (!target) return;
973
974          if (target.hasAttribute('title')) {
975            target.removeAttribute('title');
976          }
977          const childrenWithTitle = target.querySelectorAll('[title]');
978          for (var i = 0; i < childrenWithTitle.length; i++) {
979            childrenWithTitle[i].removeAttribute('title');
980          }
981
982          let text = target.getAttribute('data-tooltip') || '';
983          const slug = target.getAttribute('data-skill');
984          const isFilterBtn = target.matches('.chain-filter-btn, .series-filter-btn, .project-filter-btn, .section-project-filter-btn, .fav-filter-btn');
985          const isPaletteBtn = target.matches('.palette-swap-btn');
986          const isSkillElement = target.matches('.skill-tooltip-trigger, .skill-tag, .skill-tag-icon-only') || !!slug;
987
988          if ((!text || !text.trim()) && isSkillElement) {
989            const catalogScript = document.getElementById('skills-catalog-data');
990            let catalog = {};
991            if (catalogScript) {
992              try { catalog = JSON.parse(catalogScript.textContent); } catch(err) {}
993            }
994            let cleanSlug = slug ? String(slug).trim().toLowerCase().replace(/[^a-z0-9]+/g, '_').replace(/^_+|_+$/g, '') : '';
995            if (!cleanSlug && target.textContent) {
996              cleanSlug = target.textContent.trim().toLowerCase().replace(/[^a-z0-9]+/g, '_').replace(/^_+|_+$/g, '');
997            }
998            const sObj = catalog[slug] || catalog[cleanSlug];
999            if (sObj) {
1000              if (sObj.description && sObj.description.trim()) {
1001                if (target.matches('.skill-tag-icon-only')) {
1002                  text = sObj.name + ': ' + sObj.description;
1003                } else {
1004                  text = sObj.description;
1005                }
1006              } else {
1007                text = sObj.name;
1008              }
1009            } else if (target.textContent && target.textContent.trim()) {
1010              text = target.textContent.trim();
1011            }
1012          }
1013
1014          if ((!text || !text.trim()) && !isFilterBtn && !isPaletteBtn) return;
1015
1016          function escapeHtml(str) {
1017            return String(str || '').replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;');
1018          }
1019
1020          if (isPaletteBtn) {
1021            let html = "<div style=\"margin-bottom: 0.2rem;\">Left-click: Next palette</div><div style=\"margin-bottom: 0.2rem;\">Right-click: Previous palette</div><div style=\"margin-bottom: 0.2rem;\">Left Click Hold: Open Palette Menu</div><div>Right Click Hold: Reset to default</div>";
1022            tooltipEl.innerHTML = html;
1023          } else if (isFilterBtn) {
1024            const isAllBtn = (target.getAttribute('data-home-filter') === 'all') ||
1025                             (target.getAttribute('data-series-filter') === 'all') ||
1026                             (target.getAttribute('data-project-filter') === 'all') ||
1027                             (target.getAttribute('data-section-filter') === 'all') ||
1028                             (target.textContent.trim().toUpperCase() === '[ ALL ]');
1029            let html = '';
1030            const filterLegend = "<div style=\"font-size: 0.75rem; color: var(--text-dim); margin-top: 0.35rem; font-style: italic;\">Left: Select | Right: Select Multiple<br>Left Click Hold: Inspect</div>";
1031            const filterAllLegend = "<div style=\"font-size: 0.75rem; color: var(--text-dim); font-style: italic;\">Left: Select | Right: Select Multiple<br>Left Click Hold: Reset ALL</div>";
1032            if (isAllBtn) {
1033              html += filterAllLegend;
1034            } else {
1035              if (text && text.trim()) {
1036                html += '<div>' + escapeHtml(text) + '</div>';
1037                html += filterLegend;
1038              } else {
1039                html += filterLegend;
1040              }
1041            }
1042            tooltipEl.innerHTML = html;
1043          } else {
1044            tooltipEl.textContent = text;
1045          }
1046
1047          tooltipEl.classList.add('is-visible');
1048
1049          const rect = target.getBoundingClientRect();
1050          const tooltipRect = tooltipEl.getBoundingClientRect();
1051
1052          let top = rect.top - tooltipRect.height - 8;
1053          let left = rect.left + (rect.width / 2) - (tooltipRect.width / 2);
1054
1055          if (top < 10) {
1056            top = rect.bottom + 8;
1057          }
1058          if (left < 10) left = 10;
1059          if (left + tooltipRect.width > window.innerWidth - 10) {
1060            left = window.innerWidth - tooltipRect.width - 10;
1061          }
1062
1063          tooltipEl.style.top = (top + window.scrollY) + 'px';
1064          tooltipEl.style.left = (left + window.scrollX) + 'px';
1065        });
1066
1067        document.addEventListener('mouseout', function(e) {
1068          const target = e.target.closest(selector);
1069          if (target) {
1070            if (e.relatedTarget && target.contains(e.relatedTarget)) return;
1071            tooltipEl.classList.remove('is-visible');
1072          }
1073        });
1074      })();
1075
1076      // Retro Skill Spec Modal Interaction Logic
1077      (function() {
1078        var overlay = document.getElementById('skill-modal-overlay');
1079        if (!overlay) return;
1080
1081        var catalogScript = document.getElementById('skills-catalog-data');
1082        if (!catalogScript) return;
1083
1084        var catalog = {};
1085        try {
1086          catalog = JSON.parse(catalogScript.textContent);
1087        } catch(e) {
1088          console.error('Failed to parse skills catalog:', e);
1089        }
1090
1091        function escapeHtml(str) {
1092          return String(str || '').replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;');
1093        }
1094
1095        function openModal(slug) {
1096          if (!slug) return;
1097          var cleanSlug = String(slug).trim().toLowerCase().replace(/[^a-z0-9]+/g, '_').replace(/^_+|_+$/g, '');
1098          var skill = catalog[slug] || catalog[cleanSlug];
1099          if (!skill) return;
1100
1101          document.getElementById('skill-modal-title-text').textContent = 'SKILL_SPEC // ' + (skill.name || slug).toUpperCase();
1102          var iconEl = document.getElementById('skill-modal-icon');
1103          if (iconEl) {
1104            if (skill.svg_content) {
1105              iconEl.innerHTML = skill.svg_content;
1106              var svg = iconEl.querySelector('svg');
1107              if (svg) {
1108                svg.classList.add('skill-icon-svg');
1109                svg.style.width = '1em';
1110                svg.style.height = '1em';
1111                svg.style.verticalAlign = '-0.1em';
1112                svg.style.fill = 'currentColor';
1113                svg.style.display = 'inline-block';
1114              }
1115            } else if (skill.icon) {
1116              var cleanIcon = skill.icon.endsWith('.svg') ? skill.icon : skill.icon + '.svg';
1117              iconEl.innerHTML = '<span class="skill-icon-svg skill-icon-mask icon-' + (skill.slug || slug) + '"></span>';
1118              var maskSpan = iconEl.querySelector('.skill-icon-mask');
1119              if (maskSpan) {
1120                maskSpan.style.maskImage = "url('/icons/" + cleanIcon + "')";
1121                maskSpan.style.webkitMaskImage = "url('/icons/" + cleanIcon + "')";
1122              }
1123            } else {
1124              iconEl.innerHTML = '';
1125            }
1126          }
1127          document.getElementById('skill-modal-category').textContent = skill.category || 'General';
1128
1129          var expWrap = document.getElementById('skill-modal-exp-wrap');
1130          if (skill.years) {
1131            document.getElementById('skill-modal-exp').textContent = skill.years;
1132            expWrap.style.display = 'block';
1133          } else {
1134            expWrap.style.display = 'none';
1135          }
1136
1137          var startedWrap = document.getElementById('skill-modal-started-wrap');
1138          if (skill.date_started) {
1139            document.getElementById('skill-modal-started').textContent = skill.date_started;
1140            startedWrap.style.display = 'block';
1141          } else {
1142            startedWrap.style.display = 'none';
1143          }
1144
1145          var linksWrap = document.getElementById('skill-modal-links-wrap');
1146          var linksContainer = document.getElementById('skill-modal-links');
1147          linksContainer.innerHTML = '';
1148          if (skill.links && skill.links.length > 0) {
1149            skill.links.forEach(function(l) {
1150              var a = document.createElement('a');
1151              a.href = l.url;
1152              a.target = '_blank';
1153              a.className = 'nav-link';
1154              a.style.fontSize = '0.8rem';
1155              a.textContent = '[ ' + l.key.toUpperCase() + ' ]';
1156              linksContainer.appendChild(a);
1157            });
1158            linksWrap.style.display = 'flex';
1159          } else {
1160            linksWrap.style.display = 'none';
1161          }
1162
1163          document.getElementById('skill-modal-short-desc').textContent = skill.description || '';
1164
1165          var longDescEl = document.getElementById('skill-modal-long-desc');
1166          if (skill.long_description_html && skill.long_description_html.trim().length > 0) {
1167            longDescEl.innerHTML = skill.long_description_html;
1168            longDescEl.style.display = 'block';
1169          } else {
1170            longDescEl.innerHTML = '';
1171            longDescEl.style.display = 'none';
1172          }
1173
1174          var projSection = document.getElementById('skill-modal-projects-section');
1175          var projList = document.getElementById('skill-modal-projects-list');
1176          var projCount = document.getElementById('skill-modal-projects-count');
1177          if (projSection && projList && projCount) {
1178            projList.innerHTML = '';
1179            if (skill.projects && skill.projects.length > 0) {
1180              projCount.textContent = skill.projects.length;
1181              skill.projects.forEach(function(p) {
1182                var card = document.createElement('div');
1183                card.className = 'skill-modal-project-item';
1184                card.innerHTML = '<div><a href="' + escapeHtml(p.url) + '" class="skill-modal-project-title">' + escapeHtml(p.title) + '</a> <span class="skill-modal-tag">[' + escapeHtml(p.section.toUpperCase()) + ']</span></div><div class="skill-modal-desc">' + escapeHtml(p.description) + '</div>';
1185                projList.appendChild(card);
1186              });
1187            } else {
1188              projCount.textContent = '0';
1189              var emptyCard = document.createElement('div');
1190              emptyCard.className = 'skill-modal-project-item';
1191              emptyCard.style.fontStyle = 'italic';
1192              emptyCard.style.color = 'var(--text-dim)';
1193              emptyCard.style.fontSize = '0.82rem';
1194              emptyCard.textContent = 'No matching projects recorded for this skill.';
1195              projList.appendChild(emptyCard);
1196            }
1197            projSection.style.display = 'block';
1198          }
1199
1200          var gameSection = document.getElementById('skill-modal-games-section');
1201          var gameList = document.getElementById('skill-modal-games-list');
1202          var gameCount = document.getElementById('skill-modal-games-count');
1203          if (gameSection && gameList && gameCount) {
1204            gameList.innerHTML = '';
1205            if (skill.games && skill.games.length > 0) {
1206              gameCount.textContent = skill.games.length;
1207              skill.games.forEach(function(g) {
1208                var card = document.createElement('div');
1209                card.className = 'skill-modal-project-item';
1210                var titleHtml = '<a href="' + escapeHtml(g.url) + '" class="skill-modal-project-title">' + escapeHtml(g.title) + '</a>';
1211                var metaParts = [];
1212                if (g.engine) metaParts.push(g.engine.toUpperCase());
1213                if (g.subdomain) metaParts.push(g.subdomain.toUpperCase());
1214                var metaStr = metaParts.length > 0 ? ' <span class="skill-modal-tag">[' + escapeHtml(metaParts.join(' • ')) + ']</span>' : '';
1215                var descStr = g.description ? '<div class="skill-modal-desc skill-modal-desc-margin">' + escapeHtml(g.description) + '</div>' : '';
1216
1217                card.innerHTML = '<div><div>' + titleHtml + metaStr + '</div>' + descStr + '</div>';
1218                gameList.appendChild(card);
1219              });
1220            } else {
1221              gameCount.textContent = '0';
1222              var emptyCard = document.createElement('div');
1223              emptyCard.className = 'skill-modal-project-item';
1224              emptyCard.style.fontStyle = 'italic';
1225              emptyCard.style.color = 'var(--text-dim)';
1226              emptyCard.style.fontSize = '0.82rem';
1227              emptyCard.textContent = 'No matching games recorded for this skill.';
1228              gameList.appendChild(emptyCard);
1229            }
1230            gameSection.style.display = 'block';
1231          }
1232
1233          var achSection = document.getElementById('skill-modal-achievements-section');
1234          var achList = document.getElementById('skill-modal-achievements-list');
1235          var achCount = document.getElementById('skill-modal-achievements-count');
1236          if (achSection && achList && achCount) {
1237            achList.innerHTML = '';
1238            if (skill.achievements && skill.achievements.length > 0) {
1239              achCount.textContent = skill.achievements.length;
1240              skill.achievements.forEach(function(a) {
1241                var card = document.createElement('div');
1242                card.className = 'skill-modal-project-item';
1243                var titleHtml = a.link
1244                  ? '<a href="' + escapeHtml(a.link) + '" target="_blank" class="skill-modal-project-title">' + escapeHtml(a.title) + '</a>'
1245                  : '<span class="skill-modal-project-title skill-modal-title-plain">' + escapeHtml(a.title) + '</span>';
1246
1247                var metaParts = [];
1248                if (a.category) metaParts.push(a.category.toUpperCase());
1249                if (a.issuer) metaParts.push(a.issuer);
1250                if (a.date) metaParts.push(a.date);
1251
1252                var metaStr = metaParts.length > 0 ? ' <span class="skill-modal-tag">[' + escapeHtml(metaParts.join(' • ')) + ']</span>' : '';
1253                var descStr = a.description ? '<div class="skill-modal-desc skill-modal-desc-margin">' + escapeHtml(a.description) + '</div>' : '';
1254
1255                card.innerHTML = '<div><div>' + titleHtml + metaStr + '</div>' + descStr + '</div>';
1256                achList.appendChild(card);
1257              });
1258            } else {
1259              achCount.textContent = '0';
1260              var emptyCard = document.createElement('div');
1261              emptyCard.className = 'skill-modal-project-item';
1262              emptyCard.style.fontStyle = 'italic';
1263              emptyCard.style.color = 'var(--text-dim)';
1264              emptyCard.style.fontSize = '0.82rem';
1265              emptyCard.textContent = 'No matching accolades or achievements recorded for this skill.';
1266              achList.appendChild(emptyCard);
1267            }
1268            achSection.style.display = 'block';
1269          }
1270
1271          var postSection = document.getElementById('skill-modal-posts-section');
1272          var postList = document.getElementById('skill-modal-posts-list');
1273          var postCount = document.getElementById('skill-modal-posts-count');
1274          if (postSection && postList && postCount) {
1275            postList.innerHTML = '';
1276            if (skill.posts && skill.posts.length > 0) {
1277              postCount.textContent = skill.posts.length;
1278              skill.posts.forEach(function(p) {
1279                var card = document.createElement('div');
1280                card.className = 'skill-modal-project-item';
1281                var metaParts = [];
1282                if (p.chain_title || p.category) metaParts.push((p.chain_title || p.category).toUpperCase());
1283                metaParts.push('ENTRY #' + p.index);
1284                if (p.date) metaParts.push(p.date);
1285                var metaStr = ' <span class="skill-modal-tag">[' + escapeHtml(metaParts.join(' • ')) + ']</span>';
1286                card.innerHTML = '<div><a href="' + escapeHtml(p.url) + '" class="skill-modal-project-title">' + escapeHtml(p.title) + '</a>' + metaStr + '</div>';
1287                postList.appendChild(card);
1288              });
1289            } else {
1290              postCount.textContent = '0';
1291              var emptyCard = document.createElement('div');
1292              emptyCard.className = 'skill-modal-project-item';
1293              emptyCard.style.fontStyle = 'italic';
1294              emptyCard.style.color = 'var(--text-dim)';
1295              emptyCard.style.fontSize = '0.82rem';
1296              emptyCard.textContent = 'No matching journal posts recorded for this skill.';
1297              postList.appendChild(emptyCard);
1298            }
1299            postSection.style.display = 'block';
1300          }
1301
1302          overlay.style.display = 'flex';
1303          document.body.style.overflow = 'hidden';
1304        }
1305
1306        function closeModal() {
1307          overlay.style.display = 'none';
1308          document.body.style.overflow = '';
1309        }
1310
1311        window.openSkillModal = openModal;
1312
1313        document.addEventListener('click', function(e) {
1314          var trigger = e.target.closest('.skill-modal-trigger');
1315          if (trigger) {
1316            if (trigger.classList.contains('chain-filter-btn') ||
1317                trigger.classList.contains('series-filter-btn') ||
1318                trigger.classList.contains('project-filter-btn') ||
1319                trigger.classList.contains('section-project-filter-btn') ||
1320                trigger.classList.contains('fav-filter-btn')) {
1321              return;
1322            }
1323            e.preventDefault();
1324            e.stopPropagation();
1325            var slug = trigger.getAttribute('data-skill');
1326            if (slug) {
1327              openModal(slug);
1328            }
1329          }
1330        });
1331
1332        var closeBtn = document.getElementById('skill-modal-close-btn');
1333        if (closeBtn) {
1334          closeBtn.addEventListener('click', closeModal);
1335        }
1336
1337        overlay.addEventListener('click', function(e) {
1338          if (e.target === overlay) {
1339            closeModal();
1340          }
1341        });
1342
1343        document.addEventListener('keydown', function(e) {
1344          if (e.key === 'Escape' && overlay.style.display === 'flex') {
1345            closeModal();
1346          }
1347        });
1348      })();
1349
1350      // Retro Jam Spec Modal Interaction Logic
1351      (function() {
1352        var overlay = document.getElementById('jam-modal-overlay');
1353        if (!overlay) return;
1354
1355        var jamsList = window.SITE_JAMS || [];
1356
1357        function escapeHtml(str) {
1358          return String(str || '').replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;');
1359        }
1360
1361        function openModal(jamQuery) {
1362          if (!jamQuery) return;
1363          var qNorm = String(jamQuery).trim().toLowerCase();
1364          var jam = jamsList.find(function(j) {
1365            return (j.id && j.id.toLowerCase() === qNorm) ||
1366                   (j.name && j.name.toLowerCase() === qNorm) ||
1367                   (j.id && qNorm.includes(j.id.toLowerCase())) ||
1368                   (j.name && j.name.toLowerCase().includes(qNorm));
1369          });
1370          if (!jam) return;
1371
1372          document.getElementById('jam-modal-title').textContent = '[ JAM_SPEC // ' + (jam.name || jamQuery).toUpperCase() + ' ]';
1373          document.getElementById('jam-modal-name').textContent = jam.name || 'Game Jam';
1374          document.getElementById('jam-modal-tagline').textContent = jam.tagline || '';
1375          document.getElementById('jam-modal-host').textContent = jam.host || 'N/A';
1376          document.getElementById('jam-modal-dates').textContent = (jam.start_date && jam.end_date) ? (jam.start_date + ' to ' + jam.end_date) : (jam.start_date || jam.end_date || 'N/A');
1377          
1378          var linkWrap = document.getElementById('jam-modal-link');
1379          if (jam.link) {
1380            linkWrap.innerHTML = '<a href="' + escapeHtml(jam.link) + '" target="_blank" class="export-btn jam-visit-btn">[ VISIT JAM PAGE ↗ ]</a>';
1381          } else {
1382            linkWrap.textContent = 'N/A';
1383          }
1384
1385          var liveStatsEl = document.getElementById('jam-modal-live-stats');
1386          var liveStatsWrap = document.getElementById('jam-modal-live-stats-wrap');
1387          var jamSlug = jam.itch_jam_slug || (jam.link && jam.link.includes('itch.io/jam/') ? jam.link.split('itch.io/jam/')[1].split('/')[0].split('?')[0] : null);
1388
1389          if (jamSlug && liveStatsEl) {
1390            if (liveStatsWrap) liveStatsWrap.style.display = 'block';
1391            liveStatsEl.innerHTML = '';
1392            liveStatsEl.setAttribute('data-itch-jam', jamSlug);
1393            if (window.ItchJamWidget && typeof window.ItchJamWidget.initElement === 'function') {
1394              window.ItchJamWidget.initElement(liveStatsEl);
1395            }
1396          } else if (liveStatsWrap) {
1397            liveStatsWrap.style.display = 'none';
1398          }
1399
1400          document.getElementById('jam-modal-desc').textContent = jam.description || '';
1401
1402          var gamesListContainer = document.getElementById('jam-modal-games-list');
1403          gamesListContainer.innerHTML = '';
1404          if (jam.games && jam.games.length > 0) {
1405            jam.games.forEach(function(g) {
1406              var chip = document.createElement('div');
1407              chip.className = 'export-btn jam-game-chip';
1408              chip.innerHTML = '<span class="game-chip-title">' + escapeHtml(g.title) + '</span>' + (g.ranking ? ' <span class="game-chip-rank">[' + escapeHtml(g.ranking) + ']</span>' : '');
1409              gamesListContainer.appendChild(chip);
1410            });
1411          } else {
1412            gamesListContainer.innerHTML = '<span class="game-empty-notice">No registered game entries found.</span>';
1413          }
1414
1415          overlay.style.display = 'flex';
1416          document.body.style.overflow = 'hidden';
1417        }
1418
1419        function closeModal() {
1420          overlay.style.display = 'none';
1421          document.body.style.overflow = '';
1422        }
1423
1424        var closeBtn = document.getElementById('jam-modal-close-btn');
1425        if (closeBtn) {
1426          closeBtn.addEventListener('click', closeModal);
1427        }
1428
1429        overlay.addEventListener('click', function(e) {
1430          if (e.target === overlay) {
1431            closeModal();
1432          }
1433        });
1434
1435        document.addEventListener('keydown', function(e) {
1436          if (e.key === 'Escape' && overlay.style.display !== 'none') {
1437            closeModal();
1438          }
1439        });
1440
1441        document.addEventListener('click', function(e) {
1442          var trigger = e.target.closest('.jam-modal-trigger');
1443          if (trigger) {
1444            e.preventDefault();
1445            var jamQuery = trigger.getAttribute('data-jam') || trigger.getAttribute('data-tooltip') || trigger.textContent;
1446            openModal(jamQuery);
1447          }
1448        });
1449      })();
1450
1451      // Generic Multi-Select Filter Group Handler with HoldClick Support
1452      function setupFilterGroup(options) {
1453        var btnSelector = options.btnSelector;
1454        var attrName = options.attrName;
1455        var onFilterChange = options.onFilterChange;
1456
1457        var selectedFilters = new Set(['all']);
1458
1459        function updateUI() {
1460          var allBtns = document.querySelectorAll(btnSelector);
1461          allBtns.forEach(function(b) {
1462            var val = b.getAttribute(attrName) || 'all';
1463            if (selectedFilters.has('all')) {
1464              if (val === 'all') b.classList.add('active');
1465              else b.classList.remove('active');
1466            } else {
1467              if (selectedFilters.has(val)) b.classList.add('active');
1468              else b.classList.remove('active');
1469            }
1470          });
1471
1472          onFilterChange(selectedFilters);
1473        }
1474
1475        if (!window.HoldClick) return;
1476
1477        HoldClick.attach(document.body, {
1478          delegateSelector: btnSelector,
1479          holdDuration: 2000,
1480          spinnerDelay: 500,
1481          onLeftClick: function(e, btn) {
1482            var filterVal = btn.getAttribute(attrName) || 'all';
1483            selectedFilters.clear();
1484            selectedFilters.add(filterVal);
1485            updateUI();
1486          },
1487          onRightClick: function(e, btn) {
1488            var filterVal = btn.getAttribute(attrName) || 'all';
1489            if (filterVal === 'all') {
1490              selectedFilters.clear();
1491              selectedFilters.add('all');
1492            } else {
1493              selectedFilters.delete('all');
1494              if (selectedFilters.has(filterVal)) {
1495                selectedFilters.delete(filterVal);
1496                if (selectedFilters.size === 0) {
1497                  selectedFilters.add('all');
1498                }
1499              } else {
1500                selectedFilters.add(filterVal);
1501              }
1502            }
1503            updateUI();
1504          },
1505          onLeftHold: function(e, btn) {
1506            var filterVal = btn.getAttribute(attrName) || 'all';
1507            if (filterVal === 'all') {
1508              selectedFilters.clear();
1509              selectedFilters.add('all');
1510              updateUI();
1511            } else {
1512              var slug = btn.getAttribute('data-skill');
1513              if (slug && window.openSkillModal) {
1514                window.openSkillModal(slug);
1515              }
1516            }
1517          },
1518          onRightHold: function(e, btn) {
1519            var slug = btn.getAttribute('data-skill');
1520            if (slug && window.openSkillModal) {
1521              window.openSkillModal(slug);
1522            }
1523          }
1524        });
1525      }
1526
1527      // 1. Home Page Post Chain Skill Filter
1528      setupFilterGroup({
1529        btnSelector: '.chain-filter-btn',
1530        attrName: 'data-home-filter',
1531        onFilterChange: function(selected) {
1532          var chainBoxes = document.querySelectorAll('.terminal-window[data-skills]');
1533          chainBoxes.forEach(function(box) {
1534            if (selected.has('all')) {
1535              box.style.display = '';
1536            } else {
1537              var skills = (box.getAttribute('data-skills') || '').split(/\s+/);
1538              var match = Array.from(selected).every(function(s) { return skills.includes(s); });
1539              box.style.display = match ? '' : 'none';
1540            }
1541          });
1542        }
1543      });
1544
1545      // 2. Series Page Post Skill Filter
1546      setupFilterGroup({
1547        btnSelector: '.series-filter-btn',
1548        attrName: 'data-series-filter',
1549        onFilterChange: function(selected) {
1550          var postItems = document.querySelectorAll('.post-link-item[data-skills]');
1551          postItems.forEach(function(item) {
1552            if (selected.has('all')) {
1553              item.style.display = '';
1554            } else {
1555              var skills = (item.getAttribute('data-skills') || '').split(/\s+/);
1556              var match = Array.from(selected).every(function(s) { return skills.includes(s); });
1557              item.style.display = match ? '' : 'none';
1558            }
1559          });
1560
1561          var entryBoxes = document.querySelectorAll('.terminal-window[id^="entry-"][data-skills]');
1562          entryBoxes.forEach(function(box) {
1563            if (selected.has('all')) {
1564              box.style.display = '';
1565            } else {
1566              var skills = (box.getAttribute('data-skills') || '').split(/\s+/);
1567              var match = Array.from(selected).every(function(s) { return skills.includes(s); });
1568              box.style.display = match ? '' : 'none';
1569            }
1570          });
1571
1572          var jumpBtns = document.querySelectorAll('.series-jump-btn[data-skills], .floating-jump-btn[data-skills]');
1573          jumpBtns.forEach(function(jbtn) {
1574            if (selected.has('all')) {
1575              jbtn.style.display = '';
1576            } else {
1577              var skills = (jbtn.getAttribute('data-skills') || '').split(/\s+/);
1578              var match = Array.from(selected).every(function(s) { return skills.includes(s); });
1579              jbtn.style.display = match ? '' : 'none';
1580            }
1581          });
1582        }
1583      });
1584
1585      // 3. Main Projects Page Skill Filter
1586      setupFilterGroup({
1587        btnSelector: '.project-filter-btn',
1588        attrName: 'data-project-filter',
1589        onFilterChange: function(selected) {
1590          var flexGrid = document.getElementById('projects-flex-grid');
1591          var resultsGrid = document.getElementById('projects-filter-results-grid');
1592
1593          if (selected.has('all')) {
1594            if (flexGrid) flexGrid.style.display = '';
1595            if (resultsGrid) resultsGrid.style.display = 'none';
1596          } else {
1597            if (flexGrid) flexGrid.style.display = 'none';
1598            if (resultsGrid) {
1599              resultsGrid.style.display = 'flex';
1600              var filterCards = resultsGrid.querySelectorAll('.filter-project-card');
1601              filterCards.forEach(function(card) {
1602                var skills = (card.getAttribute('data-skills') || '').split(/\s+/);
1603                var match = Array.from(selected).every(function(s) { return skills.includes(s); });
1604                card.style.display = match ? '' : 'none';
1605              });
1606            }
1607          }
1608        }
1609      });
1610
1611      // 4. Project Subsection Skill Filter
1612      setupFilterGroup({
1613        btnSelector: '.section-project-filter-btn',
1614        attrName: 'data-section-filter',
1615        onFilterChange: function(selected) {
1616          var sectionCards = document.querySelectorAll('.section-card[data-skills]');
1617          sectionCards.forEach(function(card) {
1618            if (selected.has('all')) {
1619              card.style.display = '';
1620            } else {
1621              var skills = (card.getAttribute('data-skills') || '').split(/\s+/);
1622              var match = Array.from(selected).every(function(s) { return skills.includes(s); });
1623              card.style.display = match ? '' : 'none';
1624            }
1625          });
1626        }
1627      });
1628
1629      // 5. Favorites Page Category Filter
1630      setupFilterGroup({
1631        btnSelector: '.fav-filter-btn',
1632        attrName: 'data-fav-filter',
1633        onFilterChange: function(selected) {
1634          var catGroups = document.querySelectorAll('.fav-category-group');
1635          catGroups.forEach(function(group) {
1636            if (selected.has('all')) {
1637              group.style.display = '';
1638            } else {
1639              var cat = group.getAttribute('data-category');
1640              group.style.display = selected.has(cat) ? '' : 'none';
1641            }
1642          });
1643        }
1644      });
1645
1646      // Retro Favorite Spec Modal Interaction Logic
1647      (function() {
1648        var overlay = document.getElementById('favorite-modal-overlay');
1649        if (!overlay) return;
1650
1651        var catalogScript = document.getElementById('favorites-catalog-data');
1652        if (!catalogScript) return;
1653
1654        var catalog = {};
1655        try {
1656          catalog = JSON.parse(catalogScript.textContent);
1657        } catch(e) {
1658          console.error('Failed to parse favorites catalog:', e);
1659        }
1660
1661        function openModal(slug) {
1662          var item = catalog[slug];
1663          if (!item) return;
1664
1665          var singleBody = document.getElementById('favorite-modal-single-body');
1666          var colBody = document.getElementById('favorite-modal-collection-body');
1667          var playerContainer = document.getElementById('favorite-modal-player-container');
1668          var itemsContainer = document.getElementById('favorite-modal-items-container');
1669
1670          if (playerContainer) playerContainer.innerHTML = '';
1671          if (itemsContainer) itemsContainer.innerHTML = '';
1672
1673          if (item.is_collection && item.items && item.items.length > 0) {
1674            if (singleBody) singleBody.style.display = 'none';
1675            if (colBody) colBody.style.display = 'block';
1676
1677            document.getElementById('favorite-modal-title').textContent = 'COLLECTION_SPEC // ' + (item.name || item.title || slug).toUpperCase();
1678            document.getElementById('favorite-modal-col-creator').textContent = item.creator || 'Various';
1679            document.getElementById('favorite-modal-col-count').textContent = item.items.length + ' ITEMS';
1680            document.getElementById('favorite-modal-col-desc').textContent = item.description || '';
1681
1682            var artistLinkEl = document.getElementById('favorite-modal-col-artist-link');
1683            if (artistLinkEl) {
1684              if (item.url) {
1685                artistLinkEl.href = item.url;
1686                artistLinkEl.style.display = 'inline-flex';
1687              } else {
1688                artistLinkEl.style.display = 'none';
1689              }
1690            }
1691
1692            item.items.forEach(function(subItem, idx) {
1693              var card = document.createElement('div');
1694              card.className = 'fav-modal-item-card';
1695              card.style.cssText = 'border: 1px solid var(--border-color); background: var(--bg-window); padding: 0.85rem; margin-bottom: 1rem;';
1696
1697              var header = document.createElement('div');
1698              header.style.cssText = 'display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 0.5rem; border-bottom: 1px dashed var(--border-color); padding-bottom: 0.4rem;';
1699
1700              var titleSpan = document.createElement('span');
1701              titleSpan.style.cssText = 'font-weight: bold; color: var(--text-color); font-size: 0.95rem;';
1702              titleSpan.textContent = (idx + 1) + '. ' + subItem.title;
1703              header.appendChild(titleSpan);
1704
1705              if (subItem.url) {
1706                var linkBtn = document.createElement('a');
1707                linkBtn.href = subItem.url;
1708                linkBtn.target = '_blank';
1709                linkBtn.className = 'accolade-link-btn';
1710                linkBtn.innerHTML = '<span>' + (subItem.link_type || 'LINK').toUpperCase() + '</span>';
1711                header.appendChild(linkBtn);
1712              }
1713
1714              card.appendChild(header);
1715
1716              if (subItem.description) {
1717                var descDiv = document.createElement('div');
1718                descDiv.style.cssText = 'font-size: 0.85rem; color: var(--text-dim); margin-bottom: 0.5rem;';
1719                descDiv.textContent = subItem.description;
1720                card.appendChild(descDiv);
1721              }
1722
1723              var playerDiv = document.createElement('div');
1724              playerDiv.className = 'fav-player-section';
1725              playerDiv.style.cssText = 'margin-top: 0.5rem; background: var(--bg-color); border: 1px solid var(--border-color); padding: 0.4rem;';
1726
1727              if (subItem.link_type === 'soundcloud' && subItem.soundcloud_url && window.SoundcloudWidget) {
1728                window.SoundcloudWidget.render(playerDiv, subItem.soundcloud_url);
1729                card.appendChild(playerDiv);
1730              } else if (subItem.link_type === 'youtube' && (subItem.youtube_id || subItem.youtube_playlist_id) && window.YoutubeWidget) {
1731                window.YoutubeWidget.render(playerDiv, subItem.youtube_id, subItem.youtube_playlist_id, subItem.embed_type);
1732                card.appendChild(playerDiv);
1733              } else if (subItem.link_type === 'bandcamp' && window.BandcampWidget) {
1734                window.BandcampWidget.render(playerDiv, subItem.bandcamp_url, subItem.bandcamp_album_id, subItem.bandcamp_track_id, subItem.title, item.creator);
1735                card.appendChild(playerDiv);
1736              } else if (subItem.link_type === 'steam' && subItem.steam_appid && window.SteamWidget) {
1737                var steamHost = document.createElement('div');
1738                steamHost.setAttribute('data-steam-appid', subItem.steam_appid);
1739                steamHost.setAttribute('data-widget-layout', 'rectangle');
1740                playerDiv.appendChild(steamHost);
1741                card.appendChild(playerDiv);
1742                window.SteamWidget.initElement(steamHost);
1743              }
1744
1745              if (itemsContainer) itemsContainer.appendChild(card);
1746            });
1747          } else {
1748            if (colBody) colBody.style.display = 'none';
1749            if (singleBody) singleBody.style.display = 'block';
1750
1751            document.getElementById('favorite-modal-title').textContent = 'FAVORITE_SPEC // ' + (item.name || item.title || slug).toUpperCase();
1752            document.getElementById('favorite-modal-category').textContent = item.category || 'General';
1753
1754            var creatorWrap = document.getElementById('favorite-modal-creator-wrap');
1755            if (item.creator) {
1756              document.getElementById('favorite-modal-creator').textContent = item.creator;
1757              creatorWrap.style.display = 'block';
1758            } else {
1759              creatorWrap.style.display = 'none';
1760            }
1761
1762            var yearWrap = document.getElementById('favorite-modal-year-wrap');
1763            if (item.year) {
1764              document.getElementById('favorite-modal-year').textContent = item.year;
1765              yearWrap.style.display = 'block';
1766            } else {
1767              yearWrap.style.display = 'none';
1768            }
1769
1770            var ratingWrap = document.getElementById('favorite-modal-rating-wrap');
1771            if (item.rating) {
1772              document.getElementById('favorite-modal-rating').textContent = item.rating;
1773              ratingWrap.style.display = 'block';
1774            } else {
1775              ratingWrap.style.display = 'none';
1776            }
1777
1778            var linksContainer = document.getElementById('favorite-modal-links');
1779            linksContainer.innerHTML = '';
1780            if (item.url) {
1781              var a = document.createElement('a');
1782              a.href = item.url;
1783              a.target = '_blank';
1784              a.className = 'nav-link';
1785              a.style.fontSize = '0.8rem';
1786              a.textContent = '[ OPEN ' + (item.link_type || 'LINK').toUpperCase() + ' ]';
1787              linksContainer.appendChild(a);
1788            }
1789
1790            document.getElementById('favorite-modal-short-desc').textContent = item.description || '';
1791
1792            var longDescEl = document.getElementById('favorite-modal-long-desc');
1793            if (item.long_description_html && item.long_description_html.trim().length > 0) {
1794              longDescEl.innerHTML = item.long_description_html;
1795              longDescEl.style.display = 'block';
1796            } else {
1797              longDescEl.innerHTML = '';
1798              longDescEl.style.display = 'none';
1799            }
1800
1801            var playerSection = document.getElementById('favorite-modal-player-section');
1802            playerSection.style.display = 'none';
1803
1804            if (item.link_type === 'soundcloud' && item.soundcloud_url && window.SoundcloudWidget) {
1805              playerSection.style.display = 'block';
1806              window.SoundcloudWidget.render(playerContainer, item.soundcloud_url);
1807            } else if (item.link_type === 'youtube' && (item.youtube_id || item.youtube_playlist_id) && window.YoutubeWidget) {
1808              playerSection.style.display = 'block';
1809              window.YoutubeWidget.render(playerContainer, item.youtube_id, item.youtube_playlist_id, item.embed_type);
1810            } else if (item.link_type === 'steam' && item.steam_appid && window.SteamWidget) {
1811              playerSection.style.display = 'block';
1812              var steamHost = document.createElement('div');
1813              steamHost.setAttribute('data-steam-appid', item.steam_appid);
1814              steamHost.setAttribute('data-widget-layout', 'rectangle');
1815              if (item.rating) steamHost.setAttribute('data-steam-review-score', item.rating);
1816              playerContainer.appendChild(steamHost);
1817              window.SteamWidget.initElement(steamHost);
1818            } else if (item.link_type === 'imdb' && window.ImdbWidget) {
1819              playerSection.style.display = 'block';
1820              window.ImdbWidget.render(playerContainer, item.imdb_id, item.rating, item.creator, item.year, item.category);
1821            } else if (item.link_type === 'bandcamp' && window.BandcampWidget) {
1822              playerSection.style.display = 'block';
1823              window.BandcampWidget.render(playerContainer, item.bandcamp_url, item.bandcamp_album_id, item.bandcamp_track_id, item.title, item.creator);
1824            }
1825          }
1826
1827          overlay.style.display = 'flex';
1828          document.body.style.overflow = 'hidden';
1829        }
1830
1831        function closeModal() {
1832          overlay.style.display = 'none';
1833          document.body.style.overflow = '';
1834          var playerContainer = document.getElementById('favorite-modal-player-container');
1835          if (playerContainer) playerContainer.innerHTML = '';
1836          var itemsContainer = document.getElementById('favorite-modal-items-container');
1837          if (itemsContainer) itemsContainer.innerHTML = '';
1838        }
1839
1840        document.addEventListener('click', function(e) {
1841          var trigger = e.target.closest('.favorite-modal-trigger');
1842          if (trigger) {
1843            e.preventDefault();
1844            e.stopPropagation();
1845            var slug = trigger.getAttribute('data-favorite');
1846            if (slug) {
1847              openModal(slug);
1848            }
1849          }
1850        });
1851
1852        var closeBtn = document.getElementById('favorite-modal-close-btn');
1853        if (closeBtn) {
1854          closeBtn.addEventListener('click', closeModal);
1855        }
1856
1857        overlay.addEventListener('click', function(e) {
1858          if (e.target === overlay) {
1859            closeModal();
1860          }
1861        });
1862
1863        document.addEventListener('keydown', function(e) {
1864          if (e.key === 'Escape' && overlay.style.display === 'flex') {
1865            closeModal();
1866          }
1867        });
1868      })();
1869    }
1870
1871    (function() {
1872      if (typeof window === 'undefined' || window.location.protocol === 'file:') return;
1873      if (document.body && (document.body.classList.contains('is-export') || window.location.pathname.indexOf('/inline/') !== -1 || window.location.pathname.indexOf('/pdfs/') !== -1)) return;
1874      try {
1875        var reqPath = window.location.pathname;
1876        var reqRef = document.referrer || '';
1877        var trackUrl = '/api/track?path=' + encodeURIComponent(reqPath) +
1878                       '&referrer=' + encodeURIComponent(reqRef);
1879        if (typeof navigator !== 'undefined' && typeof navigator.sendBeacon === 'function') {
1880          navigator.sendBeacon(trackUrl);
1881        } else if (typeof fetch === 'function') {
1882          fetch(trackUrl, { method: 'POST', keepalive: true }).catch(function(){});
1883        } else {
1884          var img = new Image();
1885          img.src = trackUrl;
1886        }
1887      } catch(e) {}
1888    })();
1889
1890    if (document.readyState === 'loading') {
1891      document.addEventListener('DOMContentLoaded', initLayout);
1892    } else {
1893      initLayout();
1894    }
1895  </script>
1895
1896  
1897  
1898    
1898<script src="./js/cube.js"></script>
1898
1899  
1900
1901
1902  
1903    
1903<script src="./js/rate_limiter.js"></script>
1903
1904    
1904<script src="./js/widgets/github_widget.js"></script>
1904
1905    
1905<script src="./js/widgets/gist_widget.js"></script>
1905
1906    
1906<script src="./js/widgets/itch_widget.js"></script>
1906
1907    
1907<script src="./js/widgets/itch_jam_widget.js"></script>
1907
1908    
1908<script src="./js/widgets/steam_widget.js"></script>
1908
1909    
1909<script src="./js/widgets/soundcloud_widget.js"></script>
1909
1910    
1910<script src="./js/widgets/youtube_widget.js"></script>
1910
1911    
1911<script src="./js/widgets/bandcamp_widget.js"></script>
1911
1912    
1912<script src="./js/widgets/imdb_widget.js"></script>
1912
1913    
1913<script src="./js/live_stats.js"></script>
1913
1914    
1914<script src="./js/carousel.js"></script>
1914
1915    
1915<script src="./js/game_player.js"></script>
1915
1916  
1917</body>
1918</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.