PageSourceSearch

https://sol.vin/chains

html sol.vin collected 2026-10-09 21:58:18 UTC 688,601 bytes, 2,041 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>CHAINS // Journal Series // Technical Logs - SOL.VIN</title>
8  
9  <meta name="description" content="SOL.VIN - 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/chains">
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="CHAINS // Journal Series // Technical Logs - SOL.VIN">
24  <meta property="og:description" content="SOL.VIN - 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/chains">
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="CHAINS // Journal Series // Technical Logs - SOL.VIN">
32  <meta name="twitter:description" content="SOL.VIN - 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 chains</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            <span class="nav-link nav-link-disabled" 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            </span>
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        <div class="breadcrumbs-bar">
181          <a href="../" class="nav-link">[ HOME ]</a> <span style="color: var(--text-dim);">&gt;</span> <span class="nav-link nav-link-disabled">[ CHAINS ]</span>
182        </div>
183      
184    </nav>
185    
186    
187    
188    <main>
189      <div class="terminal-window"  >
190  <div class="window-header">
191    <h1 class="window-title"><span class="window-header-icon"><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></span>SYSTEM STATUS</h1>
192    <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. -->
192<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>
193  </div>
194  <div class="window-body">
195    <!-- src/templates/welcome_text.ecr -->
196
197<p>Welcome to the SOL.VIN journal console. Select a category chain from the lists below to explore entries.<span class="cursor"></span></p>
198<p class="welcome-stats">SYSTEM STATS: 5 chains discovered, 30 total entries loaded.</p>
199
200
201  </div>
202</div>
203<div class="terminal-window filter-dialog-box no-pdf"  >
204  <div class="window-header">
205    <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="M32 64C19.1 64 7.4 71.8 2.4 83.8S.2 109.5 9.4 118.6L192 301.3 192 416c0 8.5 3.4 16.6 9.4 22.6l64 64c9.2 9.2 22.9 11.9 34.9 6.9S320 492.9 320 480l0-178.7 182.6-182.6c9.2-9.2 11.9-22.9 6.9-34.9S492.9 64 480 64L32 64z"/></svg></span>Filter</h1>
206    <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. -->
206<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>
207  </div>
208  <div class="window-body">
209    <div class="chain-filter-container">
210  <span class="chain-filter-label">FILTER POST CHAINS BY SKILL:</span>
211  <div class="skill-tags chain-filter-tags">
212    <button type="button" class="chain-filter-btn active" data-home-filter="all" data-tooltip="">[ ALL ]</button>
213    <button type="button" class="chain-filter-btn skill-tooltip-trigger skill-modal-trigger" data-home-filter="3d_modeling" data-skill="3d_modeling" data-tooltip="Creating 3D polygonal models, retro low-poly assets, and environmental art for games.">
214      <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>3D Modeling
215    </button>
216    <button type="button" class="chain-filter-btn skill-tooltip-trigger skill-modal-trigger" data-home-filter="c" data-skill="c" data-tooltip="Low-level system programming language for high-performance applications, memory management, and low-level system software.">
217      <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="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
217c4.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>C
218    </button>
219    <button type="button" class="chain-filter-btn skill-tooltip-trigger skill-modal-trigger" data-home-filter="crystal" data-skill="crystal" data-tooltip="A fast, compiled, statically typed language with Ruby-inspired syntax.">
220      <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>Crystal
221    </button>
222    <button type="button" class="chain-filter-btn skill-tooltip-trigger skill-modal-trigger" data-home-filter="esoteric_programming" data-skill="esoteric_programming" data-tooltip="Designing non-traditional programming languages to test boundaries of language design and visual computing.">
223      <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>Esoteric Programming
224    </button>
225    <button type="button" class="chain-filter-btn skill-tooltip-trigger skill-modal-trigger" data-home-filter="exploit_poc" data-skill="exploit_poc" data-tooltip="Authoring reproducible proof-of-concept exploits to validate security vulnerabilities and verify vendor remediation.">
226      <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>Exploit PoC Development
227    </button>
228    <button type="button" class="chain-filter-btn skill-tooltip-trigger skill-modal-trigger" data-home-filter="exploitation" data-skill="exploitation" data-tooltip="Developing proof-of-concept exploits to validate security vulnerabilities in binaries, network daemons, and web apps.">
229      <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. -->
229<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>Exploitation
230    </button>
231    <button type="button" class="chain-filter-btn skill-tooltip-trigger skill-modal-trigger" data-home-filter="fuzzing" data-skill="fuzzing" data-tooltip="Automated software testing technique providing invalid or unexpected inputs to reveal crashes and memory flaws.">
232      <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>Fuzzing
233    </button>
234    <button type="button" class="chain-filter-btn skill-tooltip-trigger skill-modal-trigger" data-home-filter="game_engine_dev" data-skill="game_engine_dev" data-tooltip="Building lightweight game engines, rendering loops, input handling, and entity systems from scratch.">
235      <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>Game Engine Development
236    </button>
237    <button type="button" class="chain-filter-btn skill-tooltip-trigger skill-modal-trigger" data-home-filter="gdshader" data-skill="gdshader" data-tooltip="Godot Engine&#39;s custom shading language for 2D and 3D visual effects, materials, and post-processing.">
238      <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>GDShader
239    </button>
240    <button type="button" class="chain-filter-btn skill-tooltip-trigger skill-modal-trigger" data-home-filter="generative_art" data-skill="generative_art" data-tooltip="Algorithmic generation of visual artwork, procedural textures, vector SVG patterns, and game graphics.">
241      <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. -->
241<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>Generative Art
242    </button>
243    <button type="button" class="chain-filter-btn skill-tooltip-trigger skill-modal-trigger" data-home-filter="glsl" data-skill="glsl" data-tooltip="OpenGL Shading Language for high-performance GPU vertex and fragment shader development.">
244      <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>GLSL
245    </button>
246    <button type="button" class="chain-filter-btn skill-tooltip-trigger skill-modal-trigger" data-home-filter="godot_4" data-skill="godot_4" data-tooltip="Open-source 2D/3D game engine featuring GDScript, custom shaders, and modular scene nodes.">
247      <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>Godot 4
248    </button>
249    <button type="button" class="chain-filter-btn skill-tooltip-trigger skill-modal-trigger" data-home-filter="hardware_security" data-skill="hardware_security" data-tooltip="Physical and electrical security auditing of IoT microcontrollers, UART/JTAG interfaces, and flash dump analysis.">
250      <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="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>Hardware Security
251    </button>
252    <button type="button" class="chain-filter-btn skill-tooltip-trigger skill-modal-trigger" data-home-filter="linux_kernel" data-skill="linux_kernel" data-tooltip="In-depth Linux system administration, kernel diagnostics, performance tuning, and low-level system calls.">
253      <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. -->
253<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.1-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>Linux Kernel
254    </button>
255    <button type="button" class="chain-filter-btn skill-tooltip-trigger skill-modal-trigger" data-home-filter="low_poly_3d_modeling" data-skill="low_poly_3d_modeling" data-tooltip="Creating retro-styled, low-polygon 3D models and environmental assets optimized for game engines.">
256      <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. -->
256<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>Low Poly 3D Modelling
257    </button>
258    <button type="button" class="chain-filter-btn skill-tooltip-trigger skill-modal-trigger" data-home-filter="raylib" data-skill="raylib" data-tooltip="A simple and easy-to-use C library to enjoy videogames programming.">
259      <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>Raylib
260    </button>
261    <button type="button" class="chain-filter-btn skill-tooltip-trigger skill-modal-trigger" data-home-filter="reverse_engineering" data-skill="reverse_engineering" data-tooltip="Disassembling and decompiling embedded firmware, binary executables, and proprietary network protocols.">
262      <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="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>Reverse Engineering
263    </button>
264    <button type="button" class="chain-filter-btn skill-tooltip-trigger skill-modal-trigger" data-home-filter="security_research" data-skill="security_research" data-tooltip="Analyzing hardware, firmware, and web applications to discover vulnerabilities and document security risks.">
265      <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>Security Research
266    </button>
267    <button type="button" class="chain-filter-btn skill-tooltip-trigger skill-modal-trigger" data-home-filter="shaders" data-skill="shaders" data-tooltip="GPU shader programming for custom visual effects, post-processing, and material lighting.">
268      <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. -->
268<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>Shaders
269    </button>
270    <button type="button" class="chain-filter-btn skill-tooltip-trigger skill-modal-trigger" data-home-filter="static_analysis" data-skill="static_analysis" data-tooltip="Auditing source code and binary assets to detect software flaws, security anti-patterns, and compliance issues.">
271      <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="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>Static Analysis
272    </button>
273  </div>
274</div>
275
276  </div>
277</div>
278<div class="terminal-window"  data-skills="3d_modeling game_engine_dev gdshader generative_art glsl godot_4 low_poly_3d_modeling shaders">
279  <div class="window-header">
280    <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="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>CHAIN // Liminalita Devlog // Log Chain</h1>
281    <div class="window-controls"><a href="liminalita_devlog/rss.xml" class="window-btn window-btn-rss" title="[RSS FEED]" data-tooltip="[RSS FEED]" aria-label="Subscribe to Liminalita Devlog RSS Feed"><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 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></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. -->
281<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></a><a href="pdfs/liminalita_devlog/combined.pdf" class="window-btn window-btn-pdf" title="[PDF EXPORT]" data-tooltip="[PDF EXPORT]" download="liminalita_devlog-combined.pdf" aria-label="Download Liminalita Devlog PDF Export"><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 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 0C60.7 0 32 28.7 32 64l0 384c0 35.3 28.7 64 64 64l80 0 0-112c0-35.3 28.7-64 64-64l176 0 0-165.5c0-17-6.7-33.3-18.7-45.3L290.7 18.7C278.7 6.7 262.5 0 245.5 0L96 0zM357.5 176L264 176c-13.3 0-24-10.7-24-24L240 58.5 357.5 176zM240 380c-11 0-20 9-20 20l0 128c0 11 9 20 20 20s20-9 20-20l0-28 12 0c33.1 0 60-26.9 60-60s-26.9-60-60-60l-32 0zm32 80l-12 0 0-40 12 0c11 0 20 9 20 20s-9 20-20 20zm96-80c-11 0-20 9-20 20l0 128c0 11 9 20 20 20l32 0c28.7 0 52-23.3 52-52l0-64c0-28.7-23.3-52-52-52l-32 0zm20 128l0-88 12 0c6.6 0 12 5.4 12 12l0 64c0 6.6-5.4 12-12 12l-12 0zm88-108l0 128c0 11 9 20 20 20s20-9 20-20l0-44 28 0c11 0 20-9 20-20s-9-20-20-20l-28 0 0-24 28 0c11 0 20-9 20-20s-9-20-20-20l-48 0c-11 0-20 9-20 20z"/></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></a><a href="inline/liminalita_devlog/combined.html" class="window-btn window-btn-html" title="[HTML EXPORT]" data-tooltip="[HTML EXPORT]" download="liminalita_devlog-combined.html" aria-label="Download Liminalita Devlog HTML Export"><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="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></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></a><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. -->
281<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>
282  </div>
283  <div class="window-body">
284    <!-- src/templates/home_category_box.ecr -->
285<p>Development log entries for Liminalita, a 3D procedural art walking simulator.</p>
286<div class="post-link-container">
287  
288    
289      <a href="liminalita_devlog/0" class="post-link-item">
290        <span class="post-link-title"><span class="post-link-index">0 - </span>Project Origins, Gallery Concepts &amp; Spatial Illusions</span>
291        <span class="post-link-date">[2025-05-19]</span>
292      </a>
293    
294      <a href="liminalita_devlog/1" class="post-link-item">
295        <span class="post-link-title"><span class="post-link-index">1 - </span>Expanding Exhibits, Threaded Loading &amp; World Architecture</span>
296        <span class="post-link-date">[2025-06-06]</span>
297      </a>
298    
299      <a href="liminalita_devlog/2" class="post-link-item">
300        <span class="post-link-title"><span class="post-link-index">2 - </span>Library of Babel Modeling, Atrium Teleports &amp; Lobby Expansion</span>
301        <span class="post-link-date">[2025-06-11]</span>
302      </a>
303    
304      <a href="liminalita_devlog/3" class="post-link-item">
305        <span class="post-link-title"><span class="post-link-index">3 - </span>Shader Optimization &amp; Visual Refinements</span>
306        <span class="post-link-date">[2025-08-19]</span>
307      </a>
308    
309  
310</div>
311<div class="home-cat-box-footer">
312  <div class="chain-toc-skills">
313    
314      <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>
315    
316      <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>
317    
318      <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>
319    
320      <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>
321    
322      <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="glsl" data-tooltip="OpenGL Shading Language for high-performance GPU vertex and fragment shader development."><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">glsl</span></span>
323    
324      <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>
325    
326      <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="low_poly_3d_modeling" data-tooltip="Creating retro-styled, low-polygon 3D models and environmental assets optimized for game engines."><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">Low Poly 3d Modeling</span></span>
327    
328      <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="shaders" data-tooltip="GPU shader programming for custom visual effects, post-processing, and material lighting."><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">shaders</span></span>
329    
330  </div>
331  <div class="home-cat-footer-actions">
332    <a href="liminalita_devlog/" class="nav-link home-cat-explore-link">[ EXPLORE CHAIN → ]</a>
333  </div>
334</div>
335
336  </div>
337</div>
338<div class="terminal-window"  data-skills="crystal esoteric_programming generative_art raylib">
339  <div class="window-header">
340    <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. -->
340<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>CHAIN // PixelLang Esoteric Language // Log Chain</h1>
341    <div class="window-controls"><a href="pixellang/rss.xml" class="window-btn window-btn-rss" title="[RSS FEED]" data-tooltip="[RSS FEED]" aria-label="Subscribe to PixelLang Esoteric Language RSS Feed"><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 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></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></a><a href="pdfs/pixellang/combined.pdf" class="window-btn window-btn-pdf" title="[PDF EXPORT]" data-tooltip="[PDF EXPORT]" download="pixellang-combined.pdf" aria-label="Download PixelLang Esoteric Language PDF Export"><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 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 0C60.7 0 32 28.7 32 64l0 384c0 35.3 28.7 64 64 64l80 0 0-112c0-35.3 28.7-64 64-64l176 0 0-165.5c0-17-6.7-33.3-18.7-45.3L290.7 18.7C278.7 6.7 262.5 0 245.5 0L96 0zM357.5 176L264 176c-13.3 0-24-10.7-24-24L240 58.5 357.5 176zM240 380c-11 0-20 9-20 20l0 128c0 11 9 20 20 20s20-9 20-20l0-28 12 0c33.1 0 60-26.9 60-60s-26.9-60-60-60l-32 0zm32 80l-12 0 0-40 12 0c11 0 20 9 20 20s-9 20-20 20zm96-80c-11 0-20 9-20 20l0 128c0 11 9 20 20 20l32 0c28.7 0 52-23.3 52-52l0-64c0-28.7-23.3-52-52-52l-32 0zm20 128l0-88 12 0c6.6 0 12 5.4 12 12l0 64c0 6.6-5.4 12-12 12l-12 0zm88-108l0 128c0 11 9 20 20 20s20-9 20-20l0-44 28 0c11 0 20-9 20-20s-9-20-20-20l-28 0 0-24 28 0c11 0 20-9 20-20s-9-20-20-20l-48 0c-11 0-20 9-20 20z"/></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. -->
341<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></a><a href="inline/pixellang/combined.html" class="window-btn window-btn-html" title="[HTML EXPORT]" data-tooltip="[HTML EXPORT]" download="pixellang-combined.html" aria-label="Download PixelLang Esoteric Language HTML Export"><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="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></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></a><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. -->
341<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>
342  </div>
343  <div class="window-body">
344    <!-- src/templates/home_category_box.ecr -->
345<p>An esoteric language entirely in pixels.</p>
346<div class="post-link-container">
347  
348    
349      <a href="pixellang/0" class="post-link-item">
350        <span class="post-link-title"><span class="post-link-index">0 - </span>Intro</span>
351        <span class="post-link-date">[2019-09-05]</span>
352      </a>
353    
354      <a href="pixellang/1" class="post-link-item">
355        <span class="post-link-title"><span class="post-link-index">1 - </span>More Instructions</span>
356        <span class="post-link-date">[2019-09-06]</span>
357      </a>
358    
359      <a href="pixellang/2" class="post-link-item">
360        <span class="post-link-title"><span class="post-link-index">2 - </span>Showcase</span>
361        <span class="post-link-date">[2019-09-07]</span>
362      </a>
363    
364  
365</div>
366<div class="home-cat-box-footer">
367  <div class="chain-toc-skills">
368    
369      <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>
370    
371      <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>
372    
373      <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. -->
373<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>
374    
375      <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>
376    
377  </div>
378  <div class="home-cat-footer-actions">
379    <a href="pixellang/" class="nav-link home-cat-explore-link">[ EXPLORE CHAIN → ]</a>
380  </div>
381</div>
382
383  </div>
384</div>
385<div class="terminal-window"  data-skills="3d_modeling game_engine_dev godot_4">
386  <div class="window-header">
387    <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="M0 176c0-35.3 28.7-64 64-64 .5 0 1.1 0 1.6 0 7.4-36.5 39.7-64 78.4-64 15 0 29 4.1 40.9 11.2 13.3-25.7 40.1-43.2 71.1-43.2s57.8 17.6 71.1 43.2c12-7.1 26-11.2 40.9-11.2 38.7 0 71 27.5 78.4 64 .5 0 1.1 0 1.6 0 35.3 0 64 28.7 64 64 0 11.7-3.1 22.6-8.6 32L8.6 208C3.1 198.6 0 187.7 0 176zM0 283.4C0 268.3 12.3 256 27.4 256l457.1 0c15.1 0 27.4 12.3 27.4 27.4 0 70.5-44.4 130.7-106.7 154.1L403.5 452c-2 16-15.6 28-31.8 28l-231.5 0c-16.1 0-29.8-12-31.8-28l-1.8-14.4C44.4 414.1 0 353.9 0 283.4z"/></svg></span>CHAIN // Solo Oasis Devlog // Log Chain</h1>
388    <div class="window-controls"><a href="soup_devlog/rss.xml" class="window-btn window-btn-rss" title="[RSS FEED]" data-tooltip="[RSS FEED]" aria-label="Subscribe to Solo Oasis Devlog RSS Feed"><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 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></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. -->
388<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></a><a href="pdfs/soup_devlog/combined.pdf" class="window-btn window-btn-pdf" title="[PDF EXPORT]" data-tooltip="[PDF EXPORT]" download="soup_devlog-combined.pdf" aria-label="Download Solo Oasis Devlog PDF Export"><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 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 0C60.7 0 32 28.7 32 64l0 384c0 35.3 28.7 64 64 64l80 0 0-112c0-35.3 28.7-64 64-64l176 0 0-165.5c0-17-6.7-33.3-18.7-45.3L290.7 18.7C278.7 6.7 262.5 0 245.5 0L96 0zM357.5 176L264 176c-13.3 0-24-10.7-24-24L240 58.5 357.5 176zM240 380c-11 0-20 9-20 20l0 128c0 11 9 20 20 20s20-9 20-20l0-28 12 0c33.1 0 60-26.9 60-60s-26.9-60-60-60l-32 0zm32 80l-12 0 0-40 12 0c11 0 20 9 20 20s-9 20-20 20zm96-80c-11 0-20 9-20 20l0 128c0 11 9 20 20 20l32 0c28.7 0 52-23.3 52-52l0-64c0-28.7-23.3-52-52-52l-32 0zm20 128l0-88 12 0c6.6 0 12 5.4 12 12l0 64c0 6.6-5.4 12-12 12l-12 0zm88-108l0 128c0 11 9 20 20 20s20-9 20-20l0-44 28 0c11 0 20-9 20-20s-9-20-20-20l-28 0 0-24 28 0c11 0 20-9 20-20s-9-20-20-20l-48 0c-11 0-20 9-20 20z"/></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></a><a href="inline/soup_devlog/combined.html" class="window-btn window-btn-html" title="[HTML EXPORT]" data-tooltip="[HTML EXPORT]" download="soup_devlog-combined.html" aria-label="Download Solo Oasis Devlog HTML Export"><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="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></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></a><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. -->
388<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>
389  </div>
390  <div class="window-body">
391    <!-- src/templates/home_category_box.ecr -->
392<p>Development log entries for Solo Oasis : Unlimited Places (SOUPJAM 2026).</p>
393<div class="post-link-container">
394  
395    
396      <a href="soup_devlog/0" class="post-link-item">
397        <span class="post-link-title"><span class="post-link-index">0 - </span>Room Progress Snapshot</span>
398        <span class="post-link-date">[2026-04-30]</span>
399      </a>
400    
401      <a href="soup_devlog/1" class="post-link-item">
402        <span class="post-link-title"><span class="post-link-index">1 - </span>Android &amp; Mobile Web Support</span>
403        <span class="post-link-date">[2026-05-20]</span>
404      </a>
405    
406      <a href="soup_devlog/2" class="post-link-item">
407        <span class="post-link-title"><span class="post-link-index">2 - </span>ALL DONE</span>
408        <span class="post-link-date">[2026-07-03]</span>
409      </a>
410    
411  
412</div>
413<div class="home-cat-box-footer">
414  <div class="chain-toc-skills">
415    
416      <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. -->
416<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>
417    
418      <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>
419    
420      <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>
421    
422  </div>
423  <div class="home-cat-footer-actions">
424    <a href="soup_devlog/" class="nav-link home-cat-explore-link">[ EXPLORE CHAIN → ]</a>
425  </div>
426</div>
427
428  </div>
429</div>
430<div class="terminal-window"  data-skills="c crystal exploit_poc exploitation hardware_security linux_kernel reverse_engineering security_research static_analysis">
431  <div class="window-header">
432    <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="M157.1 7c-33.2-12.1-69.9 5-82 38.3L20.4 195.6c-12.1 33.2 5 69.9 38.3 82l93.7 34.1 0 8.3 0 96c0 4.4-3.6 8-8 8l-64 0 0-24c0-13.3-10.7-24-24-24s-24 10.7-24 24l0 96c0 13.3 10.7 24 24 24s24-10.7 24-24l0-24 64 0c30.9 0 56-25.1 56-56l0-86.8 66.2 24.1c10.9 4 23.1 1.7 31.9-5.9L491.9 179.5c18.4-16 12.9-45.9-10-54.2L157.1 7zM449.5 419.9c16.6 6 35-2.5 41-19.1l43.8-120.3c6-16.6-2.5-35-19.1-41l-13.6-4.9-165.9 143.9 113.8 41.4z"/></svg></span>CHAIN // VStarCam Security Research // Log Chain</h1>
433    <div class="window-controls"><a href="vstarcam_journey/rss.xml" class="window-btn window-btn-rss" title="[RSS FEED]" data-tooltip="[RSS FEED]" aria-label="Subscribe to VStarCam Security Research RSS Feed"><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. -->
433<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 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></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></a><a href="pdfs/vstarcam_journey/combined.pdf" class="window-btn window-btn-pdf" title="[PDF EXPORT]" data-tooltip="[PDF EXPORT]" download="vstarcam_journey-combined.pdf" aria-label="Download VStarCam Security Research PDF Export"><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 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 0C60.7 0 32 28.7 32 64l0 384c0 35.3 28.7 64 64 64l80 0 0-112c0-35.3 28.7-64 64-64l176 0 0-165.5c0-17-6.7-33.3-18.7-45.3L290.7 18.7C278.7 6.7 262.5 0 245.5 0L96 0zM357.5 176L264 176c-13.3 0-24-10.7-24-24L240 58.5 357.5 176zM240 380c-11 0-20 9-20 20l0 128c0 11 9 20 20 20s20-9 20-20l0-28 12 0c33.1 0 60-26.9 60-60s-26.9-60-60-60l-32 0zm32 80l-12 0 0-40 12 0c11 0 20 9 20 20s-9 20-20 20zm96-80c-11 0-20 9-20 20l0 128c0 11 9 20 20 20l32 0c28.7 0 52-23.3 52-52l0-64c0-28.7-23.3-52-52-52l-32 0zm20 128l0-88 12 0c6.6 0 12 5.4 12 12l0 64c0 6.6-5.4 12-12 12l-12 0zm88-108l0 128c0 11 9 20 20 20s20-9 20-20l0-44 28 0c11 0 20-9 20-20s-9-20-20-20l-28 0 0-24 28 0c11 0 20-9 20-20s-9-20-20-20l-48 0c-11 0-20 9-20 20z"/></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></a><a href="inline/vstarcam_journey/combined.html" class="window-btn window-btn-html" title="[HTML EXPORT]" data-tooltip="[HTML EXPORT]" download="vstarcam_journey-combined.html" aria-label="Download VStarCam Security Research HTML Export"><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. -->
433<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="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></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></a><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. -->
433<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>
434  </div>
435  <div class="window-body">
436    <!-- src/templates/home_category_box.ecr -->
437<p>A journey through a horribly insecure webcam, and the discovery, and fruititon of a client hijacking exploit.</p>
438<div class="post-link-container">
439  
440    
441      <a href="vstarcam_journey/0" class="post-link-item">
442        <span class="post-link-title"><span class="post-link-index">0 - </span>Intro</span>
443        <span class="post-link-date">[2019-09-03]</span>
444      </a>
445    
446      <a href="vstarcam_journey/1" class="post-link-item">
447        <span class="post-link-title"><span class="post-link-index">1 - </span>Network Protocol Analysis</span>
448        <span class="post-link-date">[2019-09-03]</span>
449      </a>
450    
451      <a href="vstarcam_journey/2" class="post-link-item">
452        <span class="post-link-title"><span class="post-link-index">2 - </span>Password Hashes &amp; Exploitation</span>
453        <span class="post-link-date">[2019-09-03]</span>
454      </a>
455    
456      <a href="vstarcam_journey/3" class="post-link-item">
457        <span class="post-link-title"><span class="post-link-index">3 - </span>Hardware Dumping</span>
458        <span class="post-link-date">[2019-09-03]</span>
459      </a>
460    
461      <a href="vstarcam_journey/4" class="post-link-item">
462        <span class="post-link-title"><span class="post-link-index">4 - </span>Writing a Client</span>
463        <span class="post-link-date">[2019-09-03]</span>
464      </a>
465    
466    <div class="home-cat-overflow-ellipsis">... (5 more)</div>
467    
468    <a href="vstarcam_journey/10" class="post-link-item">
469      <span class="post-link-title"><span class="post-link-index">10 - </span>Re-evaluating fixed vulnerabilities</span>
470      <span class="post-link-date">[2019-09-03]</span>
471    </a>
472  
473</div>
474<div class="home-cat-box-footer">
475  <div class="chain-toc-skills">
476    
477      <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. --><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>
478    
479      <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>
480    
481      <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. -->
481<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>
482    
483      <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>
484    
485      <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="hardware_security" data-tooltip="Physical and electrical security auditing of IoT microcontrollers, UART/JTAG interfaces, and flash dump analysis."><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="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 class="skill-tag-label">Hardware Security</span></span>
486    
487      <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="linux_kernel" data-tooltip="In-depth Linux system administration, kernel diagnostics, performance tuning, and low-level system calls."><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. -->
487<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.1-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><span class="skill-tag-label">Linux Kernel</span></span>
488    
489      <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="reverse_engineering" data-tooltip="Disassembling and decompiling embedded firmware, binary executables, and proprietary network protocols."><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. -->
489<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><span class="skill-tag-label">Reverse Engineering</span></span>
490    
491      <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="security_research" data-tooltip="Analyzing hardware, firmware, and web applications to discover vulnerabilities and document security risks."><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">Security Research</span></span>
492    
493      <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="static_analysis" data-tooltip="Auditing source code and binary assets to detect software flaws, security anti-patterns, and compliance issues."><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="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><span class="skill-tag-label">Static Analysis</span></span>
494    
495  </div>
496  <div class="home-cat-footer-actions">
497    <a href="vstarcam_journey/" class="nav-link home-cat-explore-link">[ EXPLORE CHAIN → ]</a>
498  </div>
499</div>
500
501  </div>
502</div>
503<div class="terminal-window"  data-skills="c exploit_poc exploitation fuzzing hardware_security reverse_engineering security_research">
504  <div class="window-header">
505    <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="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>CHAIN // Xiongmai Security Research // Log Chain</h1>
506    <div class="window-controls">
506<a href="xiongmai_journey/rss.xml" class="window-btn window-btn-rss" title="[RSS FEED]" data-tooltip="[RSS FEED]" aria-label="Subscribe to Xiongmai Security Research RSS Feed"><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 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></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></a><a href="pdfs/xiongmai_journey/combined.pdf" class="window-btn window-btn-pdf" title="[PDF EXPORT]" data-tooltip="[PDF EXPORT]" download="xiongmai_journey-combined.pdf" aria-label="Download Xiongmai Security Research PDF Export"><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 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 0C60.7 0 32 28.7 32 64l0 384c0 35.3 28.7 64 64 64l80 0 0-112c0-35.3 28.7-64 64-64l176 0 0-165.5c0-17-6.7-33.3-18.7-45.3L290.7 18.7C278.7 6.7 262.5 0 245.5 0L96 0zM357.5 176L264 176c-13.3 0-24-10.7-24-24L240 58.5 357.5 176zM240 380c-11 0-20 9-20 20l0 128c0 11 9 20 20 20s20-9 20-20l0-28 12 0c33.1 0 60-26.9 60-60s-26.9-60-60-60l-32 0zm32 80l-12 0 0-40 12 0c11 0 20 9 20 20s-9 20-20 20zm96-80c-11 0-20 9-20 20l0 128c0 11 9 20 20 20l32 0c28.7 0 52-23.3 52-52l0-64c0-28.7-23.3-52-52-52l-32 0zm20 128l0-88 12 0c6.6 0 12 5.4 12 12l0 64c0 6.6-5.4 12-12 12l-12 0zm88-108l0 128c0 11 9 20 20 20s20-9 20-20l0-44 28 0c11 0 20-9 20-20s-9-20-20-20l-28 0 0-24 28 0c11 0 20-9 20-20s-9-20-20-20l-48 0c-11 0-20 9-20 20z"/></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></a><a href="inline/xiongmai_journey/combined.html" class="window-btn window-btn-html" title="[HTML EXPORT]" data-tooltip="[HTML EXPORT]" download="xiongmai_journey-combined.html" aria-label="Download Xiongmai Security Research HTML Export"><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. -->
506<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="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></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></a><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. -->
506<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>
507  </div>
508  <div class="window-body">
509    <!-- src/templates/home_category_box.ecr -->
510<p>A journey through a horribly insecure webcam, and the discovery, and fruititon of a client hijacking exploit.</p>
511<div class="post-link-container">
512  
513    
514      <a href="xiongmai_journey/0" class="post-link-item">
515        <span class="post-link-title"><span class="post-link-index">0 - </span>Intro</span>
516        <span class="post-link-date">[2019-09-04]</span>
517      </a>
518    
519      <a href="xiongmai_journey/1" class="post-link-item">
520        <span class="post-link-title"><span class="post-link-index">1 - </span>Hardware</span>
521        <span class="post-link-date">[2019-09-04]</span>
522      </a>
523    
524      <a href="xiongmai_journey/2" class="post-link-item">
525        <span class="post-link-title"><span class="post-link-index">2 - </span>Software Overview and Audit</span>
526        <span class="post-link-date">[2019-09-04]</span>
527      </a>
528    
529      <a href="xiongmai_journey/3" class="post-link-item">
530        <span class="post-link-title"><span class="post-link-index">3 - </span>Hashing</span>
531        <span class="post-link-date">[2019-09-04]</span>
532      </a>
533    
534      <a href="xiongmai_journey/4" class="post-link-item">
535        <span class="post-link-title"><span class="post-link-index">4 - </span>Basic Fuzzing</span>
536        <span class="post-link-date">[2019-09-04]</span>
537      </a>
538    
539    <div class="home-cat-overflow-ellipsis">... (3 more)</div>
540    
541    <a href="xiongmai_journey/8" class="post-link-item">
542      <span class="post-link-title"><span class="post-link-index">8 - </span>Denial of Service</span>
543      <span class="post-link-date">[2019-09-04]</span>
544    </a>
545  
546</div>
547<div class="home-cat-box-footer">
548  <div class="chain-toc-skills">
549    
550      <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. --><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>
551    
552      <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 
55211.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>
553    
554      <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>
555    
556      <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="fuzzing" data-tooltip="Automated software testing technique providing invalid or unexpected inputs to reveal crashes and memory flaws."><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">fuzzing</span></span>
557    
558      <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="hardware_security" data-tooltip="Physical and electrical security auditing of IoT microcontrollers, UART/JTAG interfaces, and flash dump analysis."><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="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 class="skill-tag-label">Hardware Security</span></span>
559    
560      <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="reverse_engineering" data-tooltip="Disassembling and decompiling embedded firmware, binary executables, and proprietary network protocols."><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="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><span class="skill-tag-label">Reverse Engineering</span></span>
561    
562      <span class="skill-tag-icon-only skill-tooltip-trigger skill-modal-trigger" data-skill="security_research" data-tooltip="Analyzing hardware, firmware, and web applications to discover vulnerabilities and document security risks."><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">Security Research</span></span>
563    
564  </div>
565  <div class="home-cat-footer-actions">
566    <a href="xiongmai_journey/" class="nav-link home-cat-explore-link">[ EXPLORE CHAIN → ]</a>
567  </div>
568</div>
569
570  </div>
571</div>
572
573    </main>
574    
575    <footer class="terminal-footer">
576      
577        <div class="footer-nav-container">
578          <div class="footer-nav-links">
579            
580              
581                
582                
583                
584                  <span class="nav-link nav-link-disabled">[ CHAINS ]</span>
585                
586              
587                
588                
589                
590                  <a href="../projects" class="nav-link">[ PROJECTS ]</a>
591                
592              
593                
594                
595                
596                  <a href="../games" class="nav-link">[ GAMES ]</a>
597                
598              
599                
600                
601                
602                  <a href="../art" class="nav-link">[ ART ]</a>
603                
604              
605                
606                
607                
608                  <a href="../achievements" class="nav-link">[ ACHIEVEMENTS ]</a>
609                
610              
611                
612                
613                
614                  <a href="../favorites" class="nav-link">[ FAVORITES ]</a>
615                
616              
617                
618                
619                
620                  <a href="../whoami" class="nav-link">[ WHOAMI ]</a>
621                
622              
623                
624                
625                
626                  <a href="../status" class="nav-link">[ STATUS ]</a>
627                
628              
629            
630            <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>
631          </div>
632        </div>
633      
634      
635      <div class="footer-logo-wrapper">
636        <a href="../" class="terminal-logo-link" title="[ HOME ]" aria-label="[ HOME ]">
637          <div class="terminal-logo" role="img" aria-label="SOL.VIN Logo"></div>
638        </a>
639      </div>
640      <p>+---------------------------------------------------+</p>
641      
642        <p>&copy; 2026 Ian Rash - Built with Crystal &amp; Served with Nginx</p>
643      
644      <p>+---------------------------------------------------+</p>
645    </footer>
646  </div>
647
648  <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">
649    <div class="terminal-window image-viewer-window" data-palette-filter="false" data-monochrome="false">
650      <div class="window-header">
651        <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. -->
651<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>
652        <div class="window-controls">
653          <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. --><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>
654          <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>
655          <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. -->
655<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>
656        </div>
657      </div>
658      <div class="window-body image-viewer-body" data-palette-filter="false" data-monochrome="false">
659        <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" />
660      </div>
661      <div class="image-viewer-caption">
662        <span id="image-viewer-path">SOURCE: N/A</span>
663        <span>[ CLICK IMAGE TO TOGGLE ZOOM | ESC TO CLOSE ]</span>
664      </div>
665    </div>
666  </div>
667
668  <div id="palette-picker-modal-overlay" class="skill-modal-overlay" role="dialog" aria-modal="true" aria-labelledby="palette-picker-modal-title">
669    <div class="terminal-window skill-modal-window palette-picker-window">
670      <div class="window-header window-header-flex">
671        <h1 id="palette-picker-modal-title" class="window-title palette-modal-title">
672          <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
673        </h1>
674        <div class="window-controls">
675          <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. -->
675<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>
676        </div>
677      </div>
678      <div class="window-body palette-modal-body">
679        <div class="palette-modal-top-bar">
680          <p class="palette-modal-text">Select a theme palette from the catalog below to instantly customize site appearance:</p>
681          <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. --><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>
682        </div>
683        <div id="palette-picker-grid"></div>
684      </div>
685    </div>
686  </div>
687
688  <div id="skill-modal-overlay" class="skill-modal-overlay" role="dialog" aria-modal="true" aria-labelledby="skill-modal-title">
689    <div class="terminal-window skill-modal-window">
690      <div class="window-header">
691        <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>
692        <div class="window-controls">
693          <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. -->
693<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>
694        </div>
695      </div>
696      <div class="window-body">
697        <div class="skill-modal-meta">
698          <div><strong>Category:</strong> <span id="skill-modal-category"></span></div>
699          <div id="skill-modal-exp-wrap"><strong>Experience:</strong> <span id="skill-modal-exp"></span></div>
700          <div id="skill-modal-started-wrap"><strong>Started:</strong> <span id="skill-modal-started"></span></div>
701          <div id="skill-modal-links-wrap">
702            <strong>Links:</strong>
703            <span id="skill-modal-links"></span>
704          </div>
705        </div>
706        <div class="skill-modal-short-desc" id="skill-modal-short-desc"></div>
707        <div class="skill-modal-long-desc" id="skill-modal-long-desc"></div>
708        
709        <div id="skill-modal-projects-section" class="skill-modal-section">
710          <h2 class="modal-section-h2">[ MATCHING PROJECTS (<span id="skill-modal-projects-count">0</span>) ]</h2>
711          <div id="skill-modal-projects-list" class="skill-modal-projects-grid"></div>
712        </div>
713
714        <div id="skill-modal-games-section" class="skill-modal-section">
715          <h2 class="modal-section-h2">[ MATCHING GAMES (<span id="skill-modal-games-count">0</span>) ]</h2>
716          <div id="skill-modal-games-list" class="skill-modal-projects-grid"></div>
717        </div>
718
719        <div id="skill-modal-achievements-section" class="skill-modal-section">
720          <h2 class="modal-section-h2">[ MATCHING ACCOLADES & ACHIEVEMENTS (<span id="skill-modal-achievements-count">0</span>) ]</h2>
721          <div id="skill-modal-achievements-list" class="skill-modal-projects-grid"></div>
722        </div>
723
724        <div id="skill-modal-posts-section" class="skill-modal-section">
725          <h2 class="modal-section-h2">[ MATCHING JOURNAL POSTS (<span id="skill-modal-posts-count">0</span>) ]</h2>
726          <div id="skill-modal-posts-list" class="skill-modal-projects-grid"></div>
727        </div>
728      </div>
729    </div>
730  </div>
731
732  
732<script id="skills-catalog-data" type="application/json">
733{"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 
733challenged 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
733oftware.","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
733c4.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":[]}
733,"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
733apis.","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
733cture 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
7335.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
733cture 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
733cture 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
733cture","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
7330 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\"/>
733</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 infrastru
733cture 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":[]}
733,"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.
7331-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
733) 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
733cture","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. -->
733<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>
733Raylib 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
733cture 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
7336c-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 
733challenged 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
7335.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
733cture","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":[]}
733,"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":[]}}
734  </script>
734
735
736  <div id="favorite-modal-overlay" class="skill-modal-overlay" role="dialog" aria-modal="true" aria-labelledby="favorite-modal-title">
737    <div class="terminal-window skill-modal-window favorite-modal-window">
738      <div class="window-header">
739        <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>
740        <div class="window-controls">
741          <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>
742        </div>
743      </div>
744      <div class="window-body favorite-modal-body">
745        <div id="favorite-modal-single-body">
746          <div class="skill-modal-meta">
747            <div><strong>Category:</strong> <span id="favorite-modal-category"></span></div>
748            <div id="favorite-modal-creator-wrap"><strong>Creator:</strong> <span id="favorite-modal-creator"></span></div>
749            <div id="favorite-modal-year-wrap"><strong>Year:</strong> <span id="favorite-modal-year"></span></div>
750            <div id="favorite-modal-rating-wrap"><strong>Rating:</strong> <span id="favorite-modal-rating"></span></div>
751            <div id="favorite-modal-links-wrap">
752              <strong>Link:</strong>
753              <span id="favorite-modal-links"></span>
754            </div>
755          </div>
756          <div class="skill-modal-short-desc" id="favorite-modal-short-desc"></div>
757          <div class="skill-modal-long-desc" id="favorite-modal-long-desc"></div>
758          
759          <div id="favorite-modal-player-section">
760            <h2 class="modal-section-h2">[ MEDIA PLAYER / EMBED ]</h2>
761            <div id="favorite-modal-player-container"></div>
762          </div>
763        </div>
764
765        <div id="favorite-modal-collection-body">
766          <div class="skill-modal-meta favorite-modal-meta">
767            <div><strong>Artist / Creator:</strong> <span id="favorite-modal-col-creator"></span></div>
768            <div><strong>Total Tracks / Items:</strong> <span id="favorite-modal-col-count" class="fav-badge-collection fav-badge-collection-inline"></span></div>
769            <div id="favorite-modal-col-link-wrap">
770              <a id="favorite-modal-col-artist-link" href="#" target="_blank" class="accolade-link-btn" title="View Artist Profile"><span>ARTIST WEBSITE / PROFILE →</span></a>
771            </div>
772          </div>
773          <div class="fav-desc" id="favorite-modal-col-desc"></div>
774          
775          <div class="favorite-modal-section-divider">
776            <h2 class="modal-section-h2">[ COLLECTION PLAYERS &amp; MEDIA LINKS ]</h2>
777            <div id="favorite-modal-items-container"></div>
778          </div>
779        </div>
780      </div>
781    </div>
782  </div>
783
784  <div id="jam-modal-overlay" class="skill-modal-overlay" role="dialog" aria-modal="true" aria-labelledby="jam-modal-title">
785    <div class="terminal-window skill-modal-window jam-modal-window">
786      <div class="window-header">
787        <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. -->
787<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>
788        <div class="window-controls">
789          <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>
790        </div>
791      </div>
792      <div class="window-body">
793        <h2 id="jam-modal-name"></h2>
794        <p id="jam-modal-tagline"></p>
795        
796        <div class="skill-modal-meta jam-modal-meta-grid">
797          <div id="jam-modal-host-wrap"><strong>Host / Organizer:</strong> <span id="jam-modal-host"></span></div>
798          <div id="jam-modal-dates-wrap"><strong>Dates:</strong> <span id="jam-modal-dates"></span></div>
799          <div id="jam-modal-link-wrap"><strong>Link:</strong> <span id="jam-modal-link"></span></div>
800        </div>
801
802        <div id="jam-modal-live-stats-wrap">
803          <h3 class="jam-modal-section-h3">[ LIVE JAM STATS ]</h3>
804          <div id="jam-modal-live-stats" class="project-live-stats jam-live-stats"></div>
805        </div>
806
807        <div id="jam-modal-desc-wrap">
808          <h3 class="jam-modal-section-h3">[ OVERVIEW ]</h3>
809          <p id="jam-modal-desc"></p>
810        </div>
811
812        <div id="jam-modal-games-wrap">
813          <h3 class="jam-modal-section-h3">[ SUBMITTED GAMES ]</h3>
814          <div id="jam-modal-games-list"></div>
815        </div>
816      </div>
817    </div>
818  </div>
819
820  <div id="carousel-thumbs-modal-overlay" class="skill-modal-overlay" role="dialog" aria-modal="true" aria-labelledby="carousel-thumbs-modal-title">
821    <div class="terminal-window skill-modal-window carousel-thumbs-window">
822      <div class="window-header window-header-flex">
823        <h1 id="carousel-thumbs-modal-title" class="window-title carousel-thumbs-title">
824          <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. -->
824<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
825        </h1>
826        <div class="window-controls">
827          <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>
828        </div>
829      </div>
830
831      <div class="window-body carousel-thumbs-body">
832        <div id="carousel-thumbs-modal-grid"></div>
833        
834        <div id="carousel-thumbs-modal-pagination">
835          <button type="button" id="carousel-thumbs-prev-page" class="export-btn export-btn-page">[ ◄ PREV PAGE ]</button>
836          <span id="carousel-thumbs-page-badge">[ PAGE 1 / 1 ]</span>
837          <button type="button" id="carousel-thumbs-next-page" class="export-btn export-btn-page">[ NEXT PAGE ► ]</button>
838        </div>
839      </div>
840    </div>
841  </div>
842
843  <div id="game-player-modal-overlay" class="skill-modal-overlay" role="dialog" aria-modal="true" aria-labelledby="game-player-modal-title">
844    <div id="game-player-window" class="terminal-window game-player-window">
845      <div class="window-header game-player-window-header">
846        <h1 id="game-player-modal-title" class="window-title game-player-modal-title">
847          <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
848        </h1>
849        <div class="window-controls game-player-controls">
850          <button type="button" id="game-player-maximize-btn" class="window-btn window-btn-clean" title="Maximize Window to Viewport">
851            <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>
852            <span id="maximize-btn-text">[ MAXIMIZE ]</span>
853          </button>
854          <button type="button" id="game-player-fullscreen-btn" class="window-btn window-btn-clean" title="Fullscreen Monitor Mode">
855            <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>
856            <span>[ FULLSCREEN ]</span>
857          </button>
858          <button type="button" id="game-player-close-btn" class="window-btn window-btn-clean" title="Close Game">
859            <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>
860            <span>[ CLOSE ]</span>
861          </button>
862        </div>
863      </div>
864
865      <div class="window-body game-player-window-body">
866        <iframe id="game-player-iframe" data-src="./shell.html" allow="autoplay; fullscreen; focus-without-user-activation; cross-origin-isolated; pointer-lock; gamepad" credentialless></iframe>
867      </div>
868    </div>
869  </div>
870
871  
871<script id="favorites-catalog-data" type="application/json">
872{"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
872op 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
872scription":"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
872scription":"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
872oundCloud"],"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
872scription":"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
872y, 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
872scription":"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"}
872,{"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
872I'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
872oundCloud"],"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
872anese 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
872scription":"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
872scription":"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
872scription":"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
872olic 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":[]}
872,"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
872ological 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
872p-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
872outube_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","
872Electronic","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
872scription":"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
872s 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"}
872,{"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 
872combat 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 
872composition.","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 
872widely 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
872s 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":[]}}
873  </script>
873
874
875  <svg id="duotone-svg-container" aria-hidden="true">
876    <filter id="palette-duotone-filter" color-interpolation-filters="sRGB">
877      <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"/>
878    </filter>
879  </svg>
880
881  
882    
882<script src="../js/chart.min.js"></script>
882
883    
883<script src="../js/highlight.min.js"></script>
883
884    
884<script src="../js/hold_click.js"></script>
884
885    
885<script src="../js/image_viewer.js"></script>
885
886    
886<script src="../js/window_drag.js"></script>
886
887  
888  
888<script>
889    try {
890      if (typeof hljs !== 'undefined' && hljs.highlightAll) {
891        hljs.highlightAll();
892      }
893    } catch(e) {
894      console.warn('Highlight.js skipped:', e);
895    }
896
897    function initLayout() {
898      // Hamburger Menu Toggle Logic
899      const hamburgerBtn = document.getElementById('hamburger-btn');
900      const menuContent = document.getElementById('header-menu-content');
901
902      if (hamburgerBtn && menuContent) {
903        hamburgerBtn.addEventListener('click', (e) => {
904          e.stopPropagation();
905          const isOpen = menuContent.classList.toggle('is-open');
906          hamburgerBtn.setAttribute('aria-expanded', isOpen ? 'true' : 'false');
907        });
908
909        document.addEventListener('click', (e) => {
910          if (menuContent.classList.contains('is-open') && !menuContent.contains(e.target) && e.target !== hamburgerBtn) {
911            menuContent.classList.remove('is-open');
912            hamburgerBtn.setAttribute('aria-expanded', 'false');
913          }
914        });
915
916        document.addEventListener('keydown', (e) => {
917          if (e.key === 'Escape' && menuContent.classList.contains('is-open')) {
918            menuContent.classList.remove('is-open');
919            hamburgerBtn.setAttribute('aria-expanded', 'false');
920          }
921        });
922      }
923
924      // Palette Swapping Engine (Modularized)
925      if (window.PaletteEngine) {
926        PaletteEngine.initDom();
927      }
928
929      // Modular Draggable Snap-Back Windows
930      if (window.WindowDraggable) {
931        WindowDraggable.init();
932      }
933
934      // Terminal Window Behavior
935      document.querySelectorAll('.terminal-window').forEach(win => {
936        if (win.classList.contains('image-viewer-window') || win.classList.contains('game-player-window') || win.id === 'game-player-window') return;
937        if (win.dataset.windowInitialized) return;
938        win.dataset.windowInitialized = 'true';
939
940        const header = win.querySelector(':scope > .window-header');
941        const controls = header ? header.querySelector(':scope > .window-controls') : win.querySelector('.window-controls');
942        if (!controls) return;
943
944        const btns = controls.querySelectorAll('.window-btn');
945        if (btns.length >= 2) {
946          const minBtn = controls.querySelector('.window-btn-min, .minimize-btn') || btns[0];
947          const closeBtn = controls.querySelector('.window-btn-close, .close-btn') || btns[btns.length - 1];
948
949          // Minimize behavior: toggle window body display and switch SVG symbol
950          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>`;
951          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>`;
952          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>`;
953          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. -->
953<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>`;
954
955          minBtn.addEventListener('click', (e) => {
956            e.preventDefault();
957            e.stopPropagation();
958            const body = win.querySelector(':scope > .window-body');
959            if (body) {
960              if (body.style.display === 'none') {
961                body.style.display = '';
962                minBtn.innerHTML = `<span class="window-btn-bracket">${bracketLeft}</span><span class="window-btn-icon-wrap">${minusIcon}</span><span class="window-btn-bracket">${bracketRight}</span>`;
963              } else {
964                body.style.display = 'none';
965                minBtn.innerHTML = `<span class="window-btn-bracket">${bracketLeft}</span><span class="window-btn-icon-wrap">${plusIcon}</span><span class="window-btn-bracket">${bracketRight}</span>`;
966              }
967            }
968          });
969
970
971          // Close behavior: hide the window element or its parent modal overlay instead of removing from DOM
972          closeBtn.addEventListener('click', (e) => {
973            e.preventDefault();
974            e.stopPropagation();
975
976            const overlay = win.closest('.skill-modal-overlay, [role="dialog"]');
977            if (overlay) {
978              overlay.style.display = 'none';
979              document.body.style.overflow = '';
980              const iframe = overlay.querySelector('iframe');
981              if (iframe) iframe.src = 'about:blank';
982            } else {
983              win.style.display = 'none';
984            }
985          });
986        }
987      });
988
989      // Modular Retro GUI OS Image Viewer Logic
990      const viewer = window.ImageViewer ? window.ImageViewer.getInstance() : null;
991      if (viewer) {
992        const postImages = document.querySelectorAll('.post-body-markdown img, .window-body img:not(#image-viewer-img)');
993        postImages.forEach((img, index) => {
994          if (img.closest('.gallery-main-frame, .carousel-main-frame, .gallery-thumbs, .photo-carousel-container, .game-carousel-wrapper')) return;
995          const figNum = index + 1;
996          img.setAttribute('data-figure-num', figNum);
997          img.style.cursor = 'pointer';
998          img.addEventListener('click', (e) => {
999            e.preventDefault();
1000            e.stopPropagation();
1001            const imgSrc = img.getAttribute('src') || img.src;
1002            const imgAlt = img.getAttribute('alt') || img.getAttribute('title') || '';
1003            viewer.open(imgSrc, imgAlt, figNum);
1004          });
1005        });
1006      }
1007
1008      // Floating Series Quick Jump Observer & Interaction
1009      const topJumpNav = document.getElementById('top-series-jump-nav') || document.getElementById('combined-toc');
1010      const floatingNav = document.getElementById('series-floating-nav');
1011      const floatingToggle = document.getElementById('floating-nav-toggle');
1012
1013      if (topJumpNav && floatingNav) {
1014        const observer = new IntersectionObserver((entries) => {
1015          entries.forEach(entry => {
1016            if (!entry.isIntersecting) {
1017              floatingNav.classList.add('is-active');
1018            } else {
1019              floatingNav.classList.remove('is-active');
1020              floatingNav.classList.remove('is-open');
1021            }
1022          });
1023        }, { threshold: 0 });
1024
1025        observer.observe(topJumpNav);
1026
1027        if (floatingToggle) {
1028          floatingToggle.addEventListener('click', (e) => {
1029            e.stopPropagation();
1030            floatingNav.classList.toggle('is-open');
1031          });
1032        }
1033
1034        // Close floating menu when clicking links
1035        floatingNav.querySelectorAll('.floating-jump-btn').forEach(link => {
1036          link.addEventListener('click', () => {
1037            floatingNav.classList.remove('is-open');
1038          });
1039        });
1040      }
1041
1042      // Smooth scroll to entry targets
1043      document.querySelectorAll('a[href^="#entry-"]').forEach(anchor => {
1044        anchor.addEventListener('click', (e) => {
1045          e.preventDefault();
1046          const targetId = anchor.getAttribute('href').substring(1);
1047          const targetEl = document.getElementById(targetId);
1048          if (targetEl) {
1049            targetEl.scrollIntoView({ behavior: 'smooth', block: 'start' });
1050            history.pushState(null, '', '#' + targetId);
1051          }
1052        });
1053      });
1054
1055      // Smooth scroll to top button
1056      const scrollToTopBtn = document.getElementById('scroll-to-top-btn');
1057      if (scrollToTopBtn) {
1058        scrollToTopBtn.addEventListener('click', (e) => {
1059          e.preventDefault();
1060          window.scrollTo({ top: 0, behavior: 'smooth' });
1061        });
1062      }
1063
1064      // Series Jump Tooltip Edge-Fit Logic
1065      document.querySelectorAll('.series-jump-btn').forEach(btn => {
1066        btn.addEventListener('mouseenter', () => {
1067          const rect = btn.getBoundingClientRect();
1068          const tooltip = btn.querySelector('.btn-title');
1069          if (tooltip) {
1070            if (rect.left + 260 > window.innerWidth) {
1071              tooltip.style.left = 'auto';
1072              tooltip.style.right = '0';
1073            } else {
1074              tooltip.style.left = '0';
1075              tooltip.style.right = 'auto';
1076            }
1077          }
1078        });
1079      });
1080
1081      // Global Dynamic Tooltip Handler for Skills & Tech Tags
1082      (function() {
1083        let tooltipEl = document.getElementById('global-skill-tooltip');
1084        if (!tooltipEl) {
1085          tooltipEl = document.createElement('div');
1086          tooltipEl.id = 'global-skill-tooltip';
1087          tooltipEl.className = 'global-skill-tooltip-box';
1088          document.body.appendChild(tooltipEl);
1089        }
1090
1091        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';
1092
1093        document.addEventListener('mouseover', function(e) {
1094          const target = e.target.closest(selector);
1095          if (!target) return;
1096
1097          if (target.hasAttribute('title')) {
1098            target.removeAttribute('title');
1099          }
1100          const childrenWithTitle = target.querySelectorAll('[title]');
1101          for (var i = 0; i < childrenWithTitle.length; i++) {
1102            childrenWithTitle[i].removeAttribute('title');
1103          }
1104
1105          let text = target.getAttribute('data-tooltip') || '';
1106          const slug = target.getAttribute('data-skill');
1107          const isFilterBtn = target.matches('.chain-filter-btn, .series-filter-btn, .project-filter-btn, .section-project-filter-btn, .fav-filter-btn');
1108          const isPaletteBtn = target.matches('.palette-swap-btn');
1109          const isSkillElement = target.matches('.skill-tooltip-trigger, .skill-tag, .skill-tag-icon-only') || !!slug;
1110
1111          if ((!text || !text.trim()) && isSkillElement) {
1112            const catalogScript = document.getElementById('skills-catalog-data');
1113            let catalog = {};
1114            if (catalogScript) {
1115              try { catalog = JSON.parse(catalogScript.textContent); } catch(err) {}
1116            }
1117            let cleanSlug = slug ? String(slug).trim().toLowerCase().replace(/[^a-z0-9]+/g, '_').replace(/^_+|_+$/g, '') : '';
1118            if (!cleanSlug && target.textContent) {
1119              cleanSlug = target.textContent.trim().toLowerCase().replace(/[^a-z0-9]+/g, '_').replace(/^_+|_+$/g, '');
1120            }
1121            const sObj = catalog[slug] || catalog[cleanSlug];
1122            if (sObj) {
1123              if (sObj.description && sObj.description.trim()) {
1124                if (target.matches('.skill-tag-icon-only')) {
1125                  text = sObj.name + ': ' + sObj.description;
1126                } else {
1127                  text = sObj.description;
1128                }
1129              } else {
1130                text = sObj.name;
1131              }
1132            } else if (target.textContent && target.textContent.trim()) {
1133              text = target.textContent.trim();
1134            }
1135          }
1136
1137          if ((!text || !text.trim()) && !isFilterBtn && !isPaletteBtn) return;
1138
1139          function escapeHtml(str) {
1140            return String(str || '').replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;');
1141          }
1142
1143          if (isPaletteBtn) {
1144            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>";
1145            tooltipEl.innerHTML = html;
1146          } else if (isFilterBtn) {
1147            const isAllBtn = (target.getAttribute('data-home-filter') === 'all') ||
1148                             (target.getAttribute('data-series-filter') === 'all') ||
1149                             (target.getAttribute('data-project-filter') === 'all') ||
1150                             (target.getAttribute('data-section-filter') === 'all') ||
1151                             (target.textContent.trim().toUpperCase() === '[ ALL ]');
1152            let html = '';
1153            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>";
1154            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>";
1155            if (isAllBtn) {
1156              html += filterAllLegend;
1157            } else {
1158              if (text && text.trim()) {
1159                html += '<div>' + escapeHtml(text) + '</div>';
1160                html += filterLegend;
1161              } else {
1162                html += filterLegend;
1163              }
1164            }
1165            tooltipEl.innerHTML = html;
1166          } else {
1167            tooltipEl.textContent = text;
1168          }
1169
1170          tooltipEl.classList.add('is-visible');
1171
1172          const rect = target.getBoundingClientRect();
1173          const tooltipRect = tooltipEl.getBoundingClientRect();
1174
1175          let top = rect.top - tooltipRect.height - 8;
1176          let left = rect.left + (rect.width / 2) - (tooltipRect.width / 2);
1177
1178          if (top < 10) {
1179            top = rect.bottom + 8;
1180          }
1181          if (left < 10) left = 10;
1182          if (left + tooltipRect.width > window.innerWidth - 10) {
1183            left = window.innerWidth - tooltipRect.width - 10;
1184          }
1185
1186          tooltipEl.style.top = (top + window.scrollY) + 'px';
1187          tooltipEl.style.left = (left + window.scrollX) + 'px';
1188        });
1189
1190        document.addEventListener('mouseout', function(e) {
1191          const target = e.target.closest(selector);
1192          if (target) {
1193            if (e.relatedTarget && target.contains(e.relatedTarget)) return;
1194            tooltipEl.classList.remove('is-visible');
1195          }
1196        });
1197      })();
1198
1199      // Retro Skill Spec Modal Interaction Logic
1200      (function() {
1201        var overlay = document.getElementById('skill-modal-overlay');
1202        if (!overlay) return;
1203
1204        var catalogScript = document.getElementById('skills-catalog-data');
1205        if (!catalogScript) return;
1206
1207        var catalog = {};
1208        try {
1209          catalog = JSON.parse(catalogScript.textContent);
1210        } catch(e) {
1211          console.error('Failed to parse skills catalog:', e);
1212        }
1213
1214        function escapeHtml(str) {
1215          return String(str || '').replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;');
1216        }
1217
1218        function openModal(slug) {
1219          if (!slug) return;
1220          var cleanSlug = String(slug).trim().toLowerCase().replace(/[^a-z0-9]+/g, '_').replace(/^_+|_+$/g, '');
1221          var skill = catalog[slug] || catalog[cleanSlug];
1222          if (!skill) return;
1223
1224          document.getElementById('skill-modal-title-text').textContent = 'SKILL_SPEC // ' + (skill.name || slug).toUpperCase();
1225          var iconEl = document.getElementById('skill-modal-icon');
1226          if (iconEl) {
1227            if (skill.svg_content) {
1228              iconEl.innerHTML = skill.svg_content;
1229              var svg = iconEl.querySelector('svg');
1230              if (svg) {
1231                svg.classList.add('skill-icon-svg');
1232                svg.style.width = '1em';
1233                svg.style.height = '1em';
1234                svg.style.verticalAlign = '-0.1em';
1235                svg.style.fill = 'currentColor';
1236                svg.style.display = 'inline-block';
1237              }
1238            } else if (skill.icon) {
1239              var cleanIcon = skill.icon.endsWith('.svg') ? skill.icon : skill.icon + '.svg';
1240              iconEl.innerHTML = '<span class="skill-icon-svg skill-icon-mask icon-' + (skill.slug || slug) + '"></span>';
1241              var maskSpan = iconEl.querySelector('.skill-icon-mask');
1242              if (maskSpan) {
1243                maskSpan.style.maskImage = "url('/icons/" + cleanIcon + "')";
1244                maskSpan.style.webkitMaskImage = "url('/icons/" + cleanIcon + "')";
1245              }
1246            } else {
1247              iconEl.innerHTML = '';
1248            }
1249          }
1250          document.getElementById('skill-modal-category').textContent = skill.category || 'General';
1251
1252          var expWrap = document.getElementById('skill-modal-exp-wrap');
1253          if (skill.years) {
1254            document.getElementById('skill-modal-exp').textContent = skill.years;
1255            expWrap.style.display = 'block';
1256          } else {
1257            expWrap.style.display = 'none';
1258          }
1259
1260          var startedWrap = document.getElementById('skill-modal-started-wrap');
1261          if (skill.date_started) {
1262            document.getElementById('skill-modal-started').textContent = skill.date_started;
1263            startedWrap.style.display = 'block';
1264          } else {
1265            startedWrap.style.display = 'none';
1266          }
1267
1268          var linksWrap = document.getElementById('skill-modal-links-wrap');
1269          var linksContainer = document.getElementById('skill-modal-links');
1270          linksContainer.innerHTML = '';
1271          if (skill.links && skill.links.length > 0) {
1272            skill.links.forEach(function(l) {
1273              var a = document.createElement('a');
1274              a.href = l.url;
1275              a.target = '_blank';
1276              a.className = 'nav-link';
1277              a.style.fontSize = '0.8rem';
1278              a.textContent = '[ ' + l.key.toUpperCase() + ' ]';
1279              linksContainer.appendChild(a);
1280            });
1281            linksWrap.style.display = 'flex';
1282          } else {
1283            linksWrap.style.display = 'none';
1284          }
1285
1286          document.getElementById('skill-modal-short-desc').textContent = skill.description || '';
1287
1288          var longDescEl = document.getElementById('skill-modal-long-desc');
1289          if (skill.long_description_html && skill.long_description_html.trim().length > 0) {
1290            longDescEl.innerHTML = skill.long_description_html;
1291            longDescEl.style.display = 'block';
1292          } else {
1293            longDescEl.innerHTML = '';
1294            longDescEl.style.display = 'none';
1295          }
1296
1297          var projSection = document.getElementById('skill-modal-projects-section');
1298          var projList = document.getElementById('skill-modal-projects-list');
1299          var projCount = document.getElementById('skill-modal-projects-count');
1300          if (projSection && projList && projCount) {
1301            projList.innerHTML = '';
1302            if (skill.projects && skill.projects.length > 0) {
1303              projCount.textContent = skill.projects.length;
1304              skill.projects.forEach(function(p) {
1305                var card = document.createElement('div');
1306                card.className = 'skill-modal-project-item';
1307                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>';
1308                projList.appendChild(card);
1309              });
1310            } else {
1311              projCount.textContent = '0';
1312              var emptyCard = document.createElement('div');
1313              emptyCard.className = 'skill-modal-project-item';
1314              emptyCard.style.fontStyle = 'italic';
1315              emptyCard.style.color = 'var(--text-dim)';
1316              emptyCard.style.fontSize = '0.82rem';
1317              emptyCard.textContent = 'No matching projects recorded for this skill.';
1318              projList.appendChild(emptyCard);
1319            }
1320            projSection.style.display = 'block';
1321          }
1322
1323          var gameSection = document.getElementById('skill-modal-games-section');
1324          var gameList = document.getElementById('skill-modal-games-list');
1325          var gameCount = document.getElementById('skill-modal-games-count');
1326          if (gameSection && gameList && gameCount) {
1327            gameList.innerHTML = '';
1328            if (skill.games && skill.games.length > 0) {
1329              gameCount.textContent = skill.games.length;
1330              skill.games.forEach(function(g) {
1331                var card = document.createElement('div');
1332                card.className = 'skill-modal-project-item';
1333                var titleHtml = '<a href="' + escapeHtml(g.url) + '" class="skill-modal-project-title">' + escapeHtml(g.title) + '</a>';
1334                var metaParts = [];
1335                if (g.engine) metaParts.push(g.engine.toUpperCase());
1336                if (g.subdomain) metaParts.push(g.subdomain.toUpperCase());
1337                var metaStr = metaParts.length > 0 ? ' <span class="skill-modal-tag">[' + escapeHtml(metaParts.join(' • ')) + ']</span>' : '';
1338                var descStr = g.description ? '<div class="skill-modal-desc skill-modal-desc-margin">' + escapeHtml(g.description) + '</div>' : '';
1339
1340                card.innerHTML = '<div><div>' + titleHtml + metaStr + '</div>' + descStr + '</div>';
1341                gameList.appendChild(card);
1342              });
1343            } else {
1344              gameCount.textContent = '0';
1345              var emptyCard = document.createElement('div');
1346              emptyCard.className = 'skill-modal-project-item';
1347              emptyCard.style.fontStyle = 'italic';
1348              emptyCard.style.color = 'var(--text-dim)';
1349              emptyCard.style.fontSize = '0.82rem';
1350              emptyCard.textContent = 'No matching games recorded for this skill.';
1351              gameList.appendChild(emptyCard);
1352            }
1353            gameSection.style.display = 'block';
1354          }
1355
1356          var achSection = document.getElementById('skill-modal-achievements-section');
1357          var achList = document.getElementById('skill-modal-achievements-list');
1358          var achCount = document.getElementById('skill-modal-achievements-count');
1359          if (achSection && achList && achCount) {
1360            achList.innerHTML = '';
1361            if (skill.achievements && skill.achievements.length > 0) {
1362              achCount.textContent = skill.achievements.length;
1363              skill.achievements.forEach(function(a) {
1364                var card = document.createElement('div');
1365                card.className = 'skill-modal-project-item';
1366                var titleHtml = a.link
1367                  ? '<a href="' + escapeHtml(a.link) + '" target="_blank" class="skill-modal-project-title">' + escapeHtml(a.title) + '</a>'
1368                  : '<span class="skill-modal-project-title skill-modal-title-plain">' + escapeHtml(a.title) + '</span>';
1369
1370                var metaParts = [];
1371                if (a.category) metaParts.push(a.category.toUpperCase());
1372                if (a.issuer) metaParts.push(a.issuer);
1373                if (a.date) metaParts.push(a.date);
1374
1375                var metaStr = metaParts.length > 0 ? ' <span class="skill-modal-tag">[' + escapeHtml(metaParts.join(' • ')) + ']</span>' : '';
1376                var descStr = a.description ? '<div class="skill-modal-desc skill-modal-desc-margin">' + escapeHtml(a.description) + '</div>' : '';
1377
1378                card.innerHTML = '<div><div>' + titleHtml + metaStr + '</div>' + descStr + '</div>';
1379                achList.appendChild(card);
1380              });
1381            } else {
1382              achCount.textContent = '0';
1383              var emptyCard = document.createElement('div');
1384              emptyCard.className = 'skill-modal-project-item';
1385              emptyCard.style.fontStyle = 'italic';
1386              emptyCard.style.color = 'var(--text-dim)';
1387              emptyCard.style.fontSize = '0.82rem';
1388              emptyCard.textContent = 'No matching accolades or achievements recorded for this skill.';
1389              achList.appendChild(emptyCard);
1390            }
1391            achSection.style.display = 'block';
1392          }
1393
1394          var postSection = document.getElementById('skill-modal-posts-section');
1395          var postList = document.getElementById('skill-modal-posts-list');
1396          var postCount = document.getElementById('skill-modal-posts-count');
1397          if (postSection && postList && postCount) {
1398            postList.innerHTML = '';
1399            if (skill.posts && skill.posts.length > 0) {
1400              postCount.textContent = skill.posts.length;
1401              skill.posts.forEach(function(p) {
1402                var card = document.createElement('div');
1403                card.className = 'skill-modal-project-item';
1404                var metaParts = [];
1405                if (p.chain_title || p.category) metaParts.push((p.chain_title || p.category).toUpperCase());
1406                metaParts.push('ENTRY #' + p.index);
1407                if (p.date) metaParts.push(p.date);
1408                var metaStr = ' <span class="skill-modal-tag">[' + escapeHtml(metaParts.join(' • ')) + ']</span>';
1409                card.innerHTML = '<div><a href="' + escapeHtml(p.url) + '" class="skill-modal-project-title">' + escapeHtml(p.title) + '</a>' + metaStr + '</div>';
1410                postList.appendChild(card);
1411              });
1412            } else {
1413              postCount.textContent = '0';
1414              var emptyCard = document.createElement('div');
1415              emptyCard.className = 'skill-modal-project-item';
1416              emptyCard.style.fontStyle = 'italic';
1417              emptyCard.style.color = 'var(--text-dim)';
1418              emptyCard.style.fontSize = '0.82rem';
1419              emptyCard.textContent = 'No matching journal posts recorded for this skill.';
1420              postList.appendChild(emptyCard);
1421            }
1422            postSection.style.display = 'block';
1423          }
1424
1425          overlay.style.display = 'flex';
1426          document.body.style.overflow = 'hidden';
1427        }
1428
1429        function closeModal() {
1430          overlay.style.display = 'none';
1431          document.body.style.overflow = '';
1432        }
1433
1434        window.openSkillModal = openModal;
1435
1436        document.addEventListener('click', function(e) {
1437          var trigger = e.target.closest('.skill-modal-trigger');
1438          if (trigger) {
1439            if (trigger.classList.contains('chain-filter-btn') ||
1440                trigger.classList.contains('series-filter-btn') ||
1441                trigger.classList.contains('project-filter-btn') ||
1442                trigger.classList.contains('section-project-filter-btn') ||
1443                trigger.classList.contains('fav-filter-btn')) {
1444              return;
1445            }
1446            e.preventDefault();
1447            e.stopPropagation();
1448            var slug = trigger.getAttribute('data-skill');
1449            if (slug) {
1450              openModal(slug);
1451            }
1452          }
1453        });
1454
1455        var closeBtn = document.getElementById('skill-modal-close-btn');
1456        if (closeBtn) {
1457          closeBtn.addEventListener('click', closeModal);
1458        }
1459
1460        overlay.addEventListener('click', function(e) {
1461          if (e.target === overlay) {
1462            closeModal();
1463          }
1464        });
1465
1466        document.addEventListener('keydown', function(e) {
1467          if (e.key === 'Escape' && overlay.style.display === 'flex') {
1468            closeModal();
1469          }
1470        });
1471      })();
1472
1473      // Retro Jam Spec Modal Interaction Logic
1474      (function() {
1475        var overlay = document.getElementById('jam-modal-overlay');
1476        if (!overlay) return;
1477
1478        var jamsList = window.SITE_JAMS || [];
1479
1480        function escapeHtml(str) {
1481          return String(str || '').replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;');
1482        }
1483
1484        function openModal(jamQuery) {
1485          if (!jamQuery) return;
1486          var qNorm = String(jamQuery).trim().toLowerCase();
1487          var jam = jamsList.find(function(j) {
1488            return (j.id && j.id.toLowerCase() === qNorm) ||
1489                   (j.name && j.name.toLowerCase() === qNorm) ||
1490                   (j.id && qNorm.includes(j.id.toLowerCase())) ||
1491                   (j.name && j.name.toLowerCase().includes(qNorm));
1492          });
1493          if (!jam) return;
1494
1495          document.getElementById('jam-modal-title').textContent = '[ JAM_SPEC // ' + (jam.name || jamQuery).toUpperCase() + ' ]';
1496          document.getElementById('jam-modal-name').textContent = jam.name || 'Game Jam';
1497          document.getElementById('jam-modal-tagline').textContent = jam.tagline || '';
1498          document.getElementById('jam-modal-host').textContent = jam.host || 'N/A';
1499          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');
1500          
1501          var linkWrap = document.getElementById('jam-modal-link');
1502          if (jam.link) {
1503            linkWrap.innerHTML = '<a href="' + escapeHtml(jam.link) + '" target="_blank" class="export-btn jam-visit-btn">[ VISIT JAM PAGE ↗ ]</a>';
1504          } else {
1505            linkWrap.textContent = 'N/A';
1506          }
1507
1508          var liveStatsEl = document.getElementById('jam-modal-live-stats');
1509          var liveStatsWrap = document.getElementById('jam-modal-live-stats-wrap');
1510          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);
1511
1512          if (jamSlug && liveStatsEl) {
1513            if (liveStatsWrap) liveStatsWrap.style.display = 'block';
1514            liveStatsEl.innerHTML = '';
1515            liveStatsEl.setAttribute('data-itch-jam', jamSlug);
1516            if (window.ItchJamWidget && typeof window.ItchJamWidget.initElement === 'function') {
1517              window.ItchJamWidget.initElement(liveStatsEl);
1518            }
1519          } else if (liveStatsWrap) {
1520            liveStatsWrap.style.display = 'none';
1521          }
1522
1523          document.getElementById('jam-modal-desc').textContent = jam.description || '';
1524
1525          var gamesListContainer = document.getElementById('jam-modal-games-list');
1526          gamesListContainer.innerHTML = '';
1527          if (jam.games && jam.games.length > 0) {
1528            jam.games.forEach(function(g) {
1529              var chip = document.createElement('div');
1530              chip.className = 'export-btn jam-game-chip';
1531              chip.innerHTML = '<span class="game-chip-title">' + escapeHtml(g.title) + '</span>' + (g.ranking ? ' <span class="game-chip-rank">[' + escapeHtml(g.ranking) + ']</span>' : '');
1532              gamesListContainer.appendChild(chip);
1533            });
1534          } else {
1535            gamesListContainer.innerHTML = '<span class="game-empty-notice">No registered game entries found.</span>';
1536          }
1537
1538          overlay.style.display = 'flex';
1539          document.body.style.overflow = 'hidden';
1540        }
1541
1542        function closeModal() {
1543          overlay.style.display = 'none';
1544          document.body.style.overflow = '';
1545        }
1546
1547        var closeBtn = document.getElementById('jam-modal-close-btn');
1548        if (closeBtn) {
1549          closeBtn.addEventListener('click', closeModal);
1550        }
1551
1552        overlay.addEventListener('click', function(e) {
1553          if (e.target === overlay) {
1554            closeModal();
1555          }
1556        });
1557
1558        document.addEventListener('keydown', function(e) {
1559          if (e.key === 'Escape' && overlay.style.display !== 'none') {
1560            closeModal();
1561          }
1562        });
1563
1564        document.addEventListener('click', function(e) {
1565          var trigger = e.target.closest('.jam-modal-trigger');
1566          if (trigger) {
1567            e.preventDefault();
1568            var jamQuery = trigger.getAttribute('data-jam') || trigger.getAttribute('data-tooltip') || trigger.textContent;
1569            openModal(jamQuery);
1570          }
1571        });
1572      })();
1573
1574      // Generic Multi-Select Filter Group Handler with HoldClick Support
1575      function setupFilterGroup(options) {
1576        var btnSelector = options.btnSelector;
1577        var attrName = options.attrName;
1578        var onFilterChange = options.onFilterChange;
1579
1580        var selectedFilters = new Set(['all']);
1581
1582        function updateUI() {
1583          var allBtns = document.querySelectorAll(btnSelector);
1584          allBtns.forEach(function(b) {
1585            var val = b.getAttribute(attrName) || 'all';
1586            if (selectedFilters.has('all')) {
1587              if (val === 'all') b.classList.add('active');
1588              else b.classList.remove('active');
1589            } else {
1590              if (selectedFilters.has(val)) b.classList.add('active');
1591              else b.classList.remove('active');
1592            }
1593          });
1594
1595          onFilterChange(selectedFilters);
1596        }
1597
1598        if (!window.HoldClick) return;
1599
1600        HoldClick.attach(document.body, {
1601          delegateSelector: btnSelector,
1602          holdDuration: 2000,
1603          spinnerDelay: 500,
1604          onLeftClick: function(e, btn) {
1605            var filterVal = btn.getAttribute(attrName) || 'all';
1606            selectedFilters.clear();
1607            selectedFilters.add(filterVal);
1608            updateUI();
1609          },
1610          onRightClick: function(e, btn) {
1611            var filterVal = btn.getAttribute(attrName) || 'all';
1612            if (filterVal === 'all') {
1613              selectedFilters.clear();
1614              selectedFilters.add('all');
1615            } else {
1616              selectedFilters.delete('all');
1617              if (selectedFilters.has(filterVal)) {
1618                selectedFilters.delete(filterVal);
1619                if (selectedFilters.size === 0) {
1620                  selectedFilters.add('all');
1621                }
1622              } else {
1623                selectedFilters.add(filterVal);
1624              }
1625            }
1626            updateUI();
1627          },
1628          onLeftHold: function(e, btn) {
1629            var filterVal = btn.getAttribute(attrName) || 'all';
1630            if (filterVal === 'all') {
1631              selectedFilters.clear();
1632              selectedFilters.add('all');
1633              updateUI();
1634            } else {
1635              var slug = btn.getAttribute('data-skill');
1636              if (slug && window.openSkillModal) {
1637                window.openSkillModal(slug);
1638              }
1639            }
1640          },
1641          onRightHold: function(e, btn) {
1642            var slug = btn.getAttribute('data-skill');
1643            if (slug && window.openSkillModal) {
1644              window.openSkillModal(slug);
1645            }
1646          }
1647        });
1648      }
1649
1650      // 1. Home Page Post Chain Skill Filter
1651      setupFilterGroup({
1652        btnSelector: '.chain-filter-btn',
1653        attrName: 'data-home-filter',
1654        onFilterChange: function(selected) {
1655          var chainBoxes = document.querySelectorAll('.terminal-window[data-skills]');
1656          chainBoxes.forEach(function(box) {
1657            if (selected.has('all')) {
1658              box.style.display = '';
1659            } else {
1660              var skills = (box.getAttribute('data-skills') || '').split(/\s+/);
1661              var match = Array.from(selected).every(function(s) { return skills.includes(s); });
1662              box.style.display = match ? '' : 'none';
1663            }
1664          });
1665        }
1666      });
1667
1668      // 2. Series Page Post Skill Filter
1669      setupFilterGroup({
1670        btnSelector: '.series-filter-btn',
1671        attrName: 'data-series-filter',
1672        onFilterChange: function(selected) {
1673          var postItems = document.querySelectorAll('.post-link-item[data-skills]');
1674          postItems.forEach(function(item) {
1675            if (selected.has('all')) {
1676              item.style.display = '';
1677            } else {
1678              var skills = (item.getAttribute('data-skills') || '').split(/\s+/);
1679              var match = Array.from(selected).every(function(s) { return skills.includes(s); });
1680              item.style.display = match ? '' : 'none';
1681            }
1682          });
1683
1684          var entryBoxes = document.querySelectorAll('.terminal-window[id^="entry-"][data-skills]');
1685          entryBoxes.forEach(function(box) {
1686            if (selected.has('all')) {
1687              box.style.display = '';
1688            } else {
1689              var skills = (box.getAttribute('data-skills') || '').split(/\s+/);
1690              var match = Array.from(selected).every(function(s) { return skills.includes(s); });
1691              box.style.display = match ? '' : 'none';
1692            }
1693          });
1694
1695          var jumpBtns = document.querySelectorAll('.series-jump-btn[data-skills], .floating-jump-btn[data-skills]');
1696          jumpBtns.forEach(function(jbtn) {
1697            if (selected.has('all')) {
1698              jbtn.style.display = '';
1699            } else {
1700              var skills = (jbtn.getAttribute('data-skills') || '').split(/\s+/);
1701              var match = Array.from(selected).every(function(s) { return skills.includes(s); });
1702              jbtn.style.display = match ? '' : 'none';
1703            }
1704          });
1705        }
1706      });
1707
1708      // 3. Main Projects Page Skill Filter
1709      setupFilterGroup({
1710        btnSelector: '.project-filter-btn',
1711        attrName: 'data-project-filter',
1712        onFilterChange: function(selected) {
1713          var flexGrid = document.getElementById('projects-flex-grid');
1714          var resultsGrid = document.getElementById('projects-filter-results-grid');
1715
1716          if (selected.has('all')) {
1717            if (flexGrid) flexGrid.style.display = '';
1718            if (resultsGrid) resultsGrid.style.display = 'none';
1719          } else {
1720            if (flexGrid) flexGrid.style.display = 'none';
1721            if (resultsGrid) {
1722              resultsGrid.style.display = 'flex';
1723              var filterCards = resultsGrid.querySelectorAll('.filter-project-card');
1724              filterCards.forEach(function(card) {
1725                var skills = (card.getAttribute('data-skills') || '').split(/\s+/);
1726                var match = Array.from(selected).every(function(s) { return skills.includes(s); });
1727                card.style.display = match ? '' : 'none';
1728              });
1729            }
1730          }
1731        }
1732      });
1733
1734      // 4. Project Subsection Skill Filter
1735      setupFilterGroup({
1736        btnSelector: '.section-project-filter-btn',
1737        attrName: 'data-section-filter',
1738        onFilterChange: function(selected) {
1739          var sectionCards = document.querySelectorAll('.section-card[data-skills]');
1740          sectionCards.forEach(function(card) {
1741            if (selected.has('all')) {
1742              card.style.display = '';
1743            } else {
1744              var skills = (card.getAttribute('data-skills') || '').split(/\s+/);
1745              var match = Array.from(selected).every(function(s) { return skills.includes(s); });
1746              card.style.display = match ? '' : 'none';
1747            }
1748          });
1749        }
1750      });
1751
1752      // 5. Favorites Page Category Filter
1753      setupFilterGroup({
1754        btnSelector: '.fav-filter-btn',
1755        attrName: 'data-fav-filter',
1756        onFilterChange: function(selected) {
1757          var catGroups = document.querySelectorAll('.fav-category-group');
1758          catGroups.forEach(function(group) {
1759            if (selected.has('all')) {
1760              group.style.display = '';
1761            } else {
1762              var cat = group.getAttribute('data-category');
1763              group.style.display = selected.has(cat) ? '' : 'none';
1764            }
1765          });
1766        }
1767      });
1768
1769      // Retro Favorite Spec Modal Interaction Logic
1770      (function() {
1771        var overlay = document.getElementById('favorite-modal-overlay');
1772        if (!overlay) return;
1773
1774        var catalogScript = document.getElementById('favorites-catalog-data');
1775        if (!catalogScript) return;
1776
1777        var catalog = {};
1778        try {
1779          catalog = JSON.parse(catalogScript.textContent);
1780        } catch(e) {
1781          console.error('Failed to parse favorites catalog:', e);
1782        }
1783
1784        function openModal(slug) {
1785          var item = catalog[slug];
1786          if (!item) return;
1787
1788          var singleBody = document.getElementById('favorite-modal-single-body');
1789          var colBody = document.getElementById('favorite-modal-collection-body');
1790          var playerContainer = document.getElementById('favorite-modal-player-container');
1791          var itemsContainer = document.getElementById('favorite-modal-items-container');
1792
1793          if (playerContainer) playerContainer.innerHTML = '';
1794          if (itemsContainer) itemsContainer.innerHTML = '';
1795
1796          if (item.is_collection && item.items && item.items.length > 0) {
1797            if (singleBody) singleBody.style.display = 'none';
1798            if (colBody) colBody.style.display = 'block';
1799
1800            document.getElementById('favorite-modal-title').textContent = 'COLLECTION_SPEC // ' + (item.name || item.title || slug).toUpperCase();
1801            document.getElementById('favorite-modal-col-creator').textContent = item.creator || 'Various';
1802            document.getElementById('favorite-modal-col-count').textContent = item.items.length + ' ITEMS';
1803            document.getElementById('favorite-modal-col-desc').textContent = item.description || '';
1804
1805            var artistLinkEl = document.getElementById('favorite-modal-col-artist-link');
1806            if (artistLinkEl) {
1807              if (item.url) {
1808                artistLinkEl.href = item.url;
1809                artistLinkEl.style.display = 'inline-flex';
1810              } else {
1811                artistLinkEl.style.display = 'none';
1812              }
1813            }
1814
1815            item.items.forEach(function(subItem, idx) {
1816              var card = document.createElement('div');
1817              card.className = 'fav-modal-item-card';
1818              card.style.cssText = 'border: 1px solid var(--border-color); background: var(--bg-window); padding: 0.85rem; margin-bottom: 1rem;';
1819
1820              var header = document.createElement('div');
1821              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;';
1822
1823              var titleSpan = document.createElement('span');
1824              titleSpan.style.cssText = 'font-weight: bold; color: var(--text-color); font-size: 0.95rem;';
1825              titleSpan.textContent = (idx + 1) + '. ' + subItem.title;
1826              header.appendChild(titleSpan);
1827
1828              if (subItem.url) {
1829                var linkBtn = document.createElement('a');
1830                linkBtn.href = subItem.url;
1831                linkBtn.target = '_blank';
1832                linkBtn.className = 'accolade-link-btn';
1833                linkBtn.innerHTML = '<span>' + (subItem.link_type || 'LINK').toUpperCase() + '</span>';
1834                header.appendChild(linkBtn);
1835              }
1836
1837              card.appendChild(header);
1838
1839              if (subItem.description) {
1840                var descDiv = document.createElement('div');
1841                descDiv.style.cssText = 'font-size: 0.85rem; color: var(--text-dim); margin-bottom: 0.5rem;';
1842                descDiv.textContent = subItem.description;
1843                card.appendChild(descDiv);
1844              }
1845
1846              var playerDiv = document.createElement('div');
1847              playerDiv.className = 'fav-player-section';
1848              playerDiv.style.cssText = 'margin-top: 0.5rem; background: var(--bg-color); border: 1px solid var(--border-color); padding: 0.4rem;';
1849
1850              if (subItem.link_type === 'soundcloud' && subItem.soundcloud_url && window.SoundcloudWidget) {
1851                window.SoundcloudWidget.render(playerDiv, subItem.soundcloud_url);
1852                card.appendChild(playerDiv);
1853              } else if (subItem.link_type === 'youtube' && (subItem.youtube_id || subItem.youtube_playlist_id) && window.YoutubeWidget) {
1854                window.YoutubeWidget.render(playerDiv, subItem.youtube_id, subItem.youtube_playlist_id, subItem.embed_type);
1855                card.appendChild(playerDiv);
1856              } else if (subItem.link_type === 'bandcamp' && window.BandcampWidget) {
1857                window.BandcampWidget.render(playerDiv, subItem.bandcamp_url, subItem.bandcamp_album_id, subItem.bandcamp_track_id, subItem.title, item.creator);
1858                card.appendChild(playerDiv);
1859              } else if (subItem.link_type === 'steam' && subItem.steam_appid && window.SteamWidget) {
1860                var steamHost = document.createElement('div');
1861                steamHost.setAttribute('data-steam-appid', subItem.steam_appid);
1862                steamHost.setAttribute('data-widget-layout', 'rectangle');
1863                playerDiv.appendChild(steamHost);
1864                card.appendChild(playerDiv);
1865                window.SteamWidget.initElement(steamHost);
1866              }
1867
1868              if (itemsContainer) itemsContainer.appendChild(card);
1869            });
1870          } else {
1871            if (colBody) colBody.style.display = 'none';
1872            if (singleBody) singleBody.style.display = 'block';
1873
1874            document.getElementById('favorite-modal-title').textContent = 'FAVORITE_SPEC // ' + (item.name || item.title || slug).toUpperCase();
1875            document.getElementById('favorite-modal-category').textContent = item.category || 'General';
1876
1877            var creatorWrap = document.getElementById('favorite-modal-creator-wrap');
1878            if (item.creator) {
1879              document.getElementById('favorite-modal-creator').textContent = item.creator;
1880              creatorWrap.style.display = 'block';
1881            } else {
1882              creatorWrap.style.display = 'none';
1883            }
1884
1885            var yearWrap = document.getElementById('favorite-modal-year-wrap');
1886            if (item.year) {
1887              document.getElementById('favorite-modal-year').textContent = item.year;
1888              yearWrap.style.display = 'block';
1889            } else {
1890              yearWrap.style.display = 'none';
1891            }
1892
1893            var ratingWrap = document.getElementById('favorite-modal-rating-wrap');
1894            if (item.rating) {
1895              document.getElementById('favorite-modal-rating').textContent = item.rating;
1896              ratingWrap.style.display = 'block';
1897            } else {
1898              ratingWrap.style.display = 'none';
1899            }
1900
1901            var linksContainer = document.getElementById('favorite-modal-links');
1902            linksContainer.innerHTML = '';
1903            if (item.url) {
1904              var a = document.createElement('a');
1905              a.href = item.url;
1906              a.target = '_blank';
1907              a.className = 'nav-link';
1908              a.style.fontSize = '0.8rem';
1909              a.textContent = '[ OPEN ' + (item.link_type || 'LINK').toUpperCase() + ' ]';
1910              linksContainer.appendChild(a);
1911            }
1912
1913            document.getElementById('favorite-modal-short-desc').textContent = item.description || '';
1914
1915            var longDescEl = document.getElementById('favorite-modal-long-desc');
1916            if (item.long_description_html && item.long_description_html.trim().length > 0) {
1917              longDescEl.innerHTML = item.long_description_html;
1918              longDescEl.style.display = 'block';
1919            } else {
1920              longDescEl.innerHTML = '';
1921              longDescEl.style.display = 'none';
1922            }
1923
1924            var playerSection = document.getElementById('favorite-modal-player-section');
1925            playerSection.style.display = 'none';
1926
1927            if (item.link_type === 'soundcloud' && item.soundcloud_url && window.SoundcloudWidget) {
1928              playerSection.style.display = 'block';
1929              window.SoundcloudWidget.render(playerContainer, item.soundcloud_url);
1930            } else if (item.link_type === 'youtube' && (item.youtube_id || item.youtube_playlist_id) && window.YoutubeWidget) {
1931              playerSection.style.display = 'block';
1932              window.YoutubeWidget.render(playerContainer, item.youtube_id, item.youtube_playlist_id, item.embed_type);
1933            } else if (item.link_type === 'steam' && item.steam_appid && window.SteamWidget) {
1934              playerSection.style.display = 'block';
1935              var steamHost = document.createElement('div');
1936              steamHost.setAttribute('data-steam-appid', item.steam_appid);
1937              steamHost.setAttribute('data-widget-layout', 'rectangle');
1938              if (item.rating) steamHost.setAttribute('data-steam-review-score', item.rating);
1939              playerContainer.appendChild(steamHost);
1940              window.SteamWidget.initElement(steamHost);
1941            } else if (item.link_type === 'imdb' && window.ImdbWidget) {
1942              playerSection.style.display = 'block';
1943              window.ImdbWidget.render(playerContainer, item.imdb_id, item.rating, item.creator, item.year, item.category);
1944            } else if (item.link_type === 'bandcamp' && window.BandcampWidget) {
1945              playerSection.style.display = 'block';
1946              window.BandcampWidget.render(playerContainer, item.bandcamp_url, item.bandcamp_album_id, item.bandcamp_track_id, item.title, item.creator);
1947            }
1948          }
1949
1950          overlay.style.display = 'flex';
1951          document.body.style.overflow = 'hidden';
1952        }
1953
1954        function closeModal() {
1955          overlay.style.display = 'none';
1956          document.body.style.overflow = '';
1957          var playerContainer = document.getElementById('favorite-modal-player-container');
1958          if (playerContainer) playerContainer.innerHTML = '';
1959          var itemsContainer = document.getElementById('favorite-modal-items-container');
1960          if (itemsContainer) itemsContainer.innerHTML = '';
1961        }
1962
1963        document.addEventListener('click', function(e) {
1964          var trigger = e.target.closest('.favorite-modal-trigger');
1965          if (trigger) {
1966            e.preventDefault();
1967            e.stopPropagation();
1968            var slug = trigger.getAttribute('data-favorite');
1969            if (slug) {
1970              openModal(slug);
1971            }
1972          }
1973        });
1974
1975        var closeBtn = document.getElementById('favorite-modal-close-btn');
1976        if (closeBtn) {
1977          closeBtn.addEventListener('click', closeModal);
1978        }
1979
1980        overlay.addEventListener('click', function(e) {
1981          if (e.target === overlay) {
1982            closeModal();
1983          }
1984        });
1985
1986        document.addEventListener('keydown', function(e) {
1987          if (e.key === 'Escape' && overlay.style.display === 'flex') {
1988            closeModal();
1989          }
1990        });
1991      })();
1992    }
1993
1994    (function() {
1995      if (typeof window === 'undefined' || window.location.protocol === 'file:') return;
1996      if (document.body && (document.body.classList.contains('is-export') || window.location.pathname.indexOf('/inline/') !== -1 || window.location.pathname.indexOf('/pdfs/') !== -1)) return;
1997      try {
1998        var reqPath = window.location.pathname;
1999        var reqRef = document.referrer || '';
2000        var trackUrl = '/api/track?path=' + encodeURIComponent(reqPath) +
2001                       '&referrer=' + encodeURIComponent(reqRef);
2002        if (typeof navigator !== 'undefined' && typeof navigator.sendBeacon === 'function') {
2003          navigator.sendBeacon(trackUrl);
2004        } else if (typeof fetch === 'function') {
2005          fetch(trackUrl, { method: 'POST', keepalive: true }).catch(function(){});
2006        } else {
2007          var img = new Image();
2008          img.src = trackUrl;
2009        }
2010      } catch(e) {}
2011    })();
2012
2013    if (document.readyState === 'loading') {
2014      document.addEventListener('DOMContentLoaded', initLayout);
2015    } else {
2016      initLayout();
2017    }
2018  </script>
2018
2019  
2020  
2021    
2021<script src="../js/cube.js"></script>
2021
2022  
2023
2024
2025  
2026    
2026<script src="../js/rate_limiter.js"></script>
2026
2027    
2027<script src="../js/widgets/github_widget.js"></script>
2027
2028    
2028<script src="../js/widgets/gist_widget.js"></script>
2028
2029    
2029<script src="../js/widgets/itch_widget.js"></script>
2029
2030    
2030<script src="../js/widgets/itch_jam_widget.js"></script>
2030
2031    
2031<script src="../js/widgets/steam_widget.js"></script>
2031
2032    
2032<script src="../js/widgets/soundcloud_widget.js"></script>
2032
2033    
2033<script src="../js/widgets/youtube_widget.js"></script>
2033
2034    
2034<script src="../js/widgets/bandcamp_widget.js"></script>
2034
2035    
2035<script src="../js/widgets/imdb_widget.js"></script>
2035
2036    
2036<script src="../js/live_stats.js"></script>
2036
2037    
2037<script src="../js/carousel.js"></script>
2037
2038    
2038<script src="../js/game_player.js"></script>
2038
2039  
2040</body>
2041</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.