<!DOCTYPE html><html lang="en"><head><style>
/* Arborium syntax highlighting - Light theme */
@media (prefers-color-scheme: light) {
pre {
  background: #eff1f5;
  --bg: #eff1f5;
  --surface: #e3e5e9;
  color: #4c4f69;
  --fg: #4c4f69;
  --accent: #1e66f5;
  --muted: #9ca0b0;
  a-at { color: #df8e1d; }
  a-co { color: #fe640b; }
  a-cb { color: #fe640b; }
  a-fb { color: #04a5e5; }
  a-f { color: #1e66f5; }
  a-fm { color: #1e66f5; }
  a-k { color: #8839ef; }
  a-kc { color: #8839ef; }
  a-ko { color: #8839ef; }
  a-kd { color: #8839ef; }
  a-ke { color: #8839ef; }
  a-kf { color: #8839ef; }
  a-ki { color: #8839ef; }
  a-kp { color: #8839ef; }
  a-kr { color: #8839ef; }
  a-kt { color: #8839ef; }
  a-ky { color: #8839ef; }
  a-o { color: #179299; }
  a-pr { color: #1e66f5; }
  a-p { color: #7c7f93; }
  a-pb { color: #7c7f93; }
  a-pd { color: #7c7f93; }
  a-ps { color: #ea76cb; }
  a-s { color: #40a02b; }
  a-ss { color: #d20f39; }
  a-tg { color: #1e66f5; }
  a-td { color: #1e66f5; }
  a-te { color: #1e66f5; }
  a-t { color: #df8e1d; }
  a-tb { color: #df8e1d; }
  a-tq { color: #df8e1d; }
  a-v { color: #4c4f69; }
  a-vb { color: #d20f39; }
  a-vp { color: #fe640b; }
  a-c { color: #9ca0b0; }
  a-cd { color: #9ca0b0; }
  a-m { color: #179299; }
  a-l { color: #ea76cb; }
  a-n { color: #fe640b; }
  a-tl { color: #4c4f69; }
  a-em { font-style: italic; }
  a-st { font-weight: bold; }
  a-tu { color: #1e66f5; text-decoration: underline; }
  a-tr { color: #04a5e5; }
  a-se { color: #fe640b; }
  a-tt { color: #8839ef; font-weight: bold; }
  a-tx { text-decoration: line-through; }
  a-sp { color: #4c4f69; }
  a-in { color: #8839ef; }
  a-sc { color: #8839ef; }
  a-rp { color: #8839ef; }
  a-cn { color: #8839ef; }
  a-ex { color: #8839ef; }
  a-pp { color: #8839ef; }
  a-ch { color: #40a02b; }
  a-cs { color: #40a02b; }
  a-vm { color: #4c4f69; }
  a-fd { color: #1e66f5; }
  a-tf { color: #df8e1d; }
  a-fc { color: #1e66f5; }
  a-km { color: #8839ef; }
  a-dr { color: #8839ef; }
  a-rx { color: #40a02b; }
}

}

/* Arborium syntax highlighting - Dark theme */
@media (prefers-color-scheme: dark) {
pre {
  background: #1e1e2e;
  --bg: #1e1e2e;
  --surface: #30303f;
  color: #cdd6f4;
  --fg: #cdd6f4;
  --accent: #89b4fa;
  --muted: #6c7086;
  a-at { color: #f9e2af; }
  a-co { color: #fab387; }
  a-cb { color: #fab387; }
  a-fb { color: #89dceb; }
  a-f { color: #89b4fa; }
  a-fm { color: #89b4fa; }
  a-k { color: #cba6f7; }
  a-kc { color: #cba6f7; }
  a-ko { color: #cba6f7; }
  a-kd { color: #cba6f7; }
  a-ke { color: #cba6f7; }
  a-kf { color: #cba6f7; }
  a-ki { color: #cba6f7; }
  a-kp { color: #cba6f7; }
  a-kr { color: #cba6f7; }
  a-kt { color: #cba6f7; }
  a-ky { color: #cba6f7; }
  a-o { color: #94e2d5; }
  a-pr { color: #89b4fa; }
  a-p { color: #9399b2; }
  a-pb { color: #9399b2; }
  a-pd { color: #9399b2; }
  a-ps { color: #f5c2e7; }
  a-s { color: #a6e3a1; }
  a-ss { color: #f38ba8; }
  a-tg { color: #89b4fa; }
  a-td { color: #89b4fa; }
  a-te { color: #89b4fa; }
  a-t { color: #f9e2af; }
  a-tb { color: #f9e2af; }
  a-tq { color: #f9e2af; }
  a-v { color: #cdd6f4; }
  a-vb { color: #f38ba8; }
  a-vp { color: #fab387; }
  a-c { color: #6c7086; }
  a-cd { color: #6c7086; }
  a-m { color: #94e2d5; }
  a-l { color: #f5c2e7; }
  a-n { color: #fab387; }
  a-tl { color: #cdd6f4; }
  a-em { font-style: italic; }
  a-st { font-weight: bold; }
  a-tu { color: #89b4fa; text-decoration: underline; }
  a-tr { color: #89dceb; }
  a-se { color: #fab387; }
  a-tt { color: #cba6f7; font-weight: bold; }
  a-tx { text-decoration: line-through; }
  a-sp { color: #cdd6f4; }
  a-in { color: #cba6f7; }
  a-sc { color: #cba6f7; }
  a-rp { color: #cba6f7; }
  a-cn { color: #cba6f7; }
  a-ex { color: #cba6f7; }
  a-pp { color: #cba6f7; }
  a-ch { color: #a6e3a1; }
  a-cs { color: #a6e3a1; }
  a-vm { color: #cdd6f4; }
  a-fd { color: #89b4fa; }
  a-tf { color: #f9e2af; }
  a-fc { color: #89b4fa; }
  a-km { color: #cba6f7; }
  a-dr { color: #cba6f7; }
  a-rx { color: #a6e3a1; }
}

}
</style><style>
/* Terminal styling for <t-*> custom tags */

/* Attributes */
t-b { font-weight: bold; }
t-l { opacity: 0.7; }
t-i { font-style: italic; }
t-u { text-decoration: underline; }
t-st { text-decoration: line-through; }

/* Classic 16 foreground colors */
t-fblk { color: light-dark(#292929, #6e6e6e); }
t-fred { color: light-dark(#c41a16, #ff6b6b); }
t-fgrn { color: light-dark(#007400, #5af78e); }
t-fylw { color: light-dark(#826b00, #f3f99d); }
t-fblu { color: light-dark(#0000d6, #57c7ff); }
t-fmag { color: light-dark(#a90d91, #ff6ac1); }
t-fcyn { color: light-dark(#007482, #9aedfe); }
t-fwht { color: light-dark(#6e6e6e, #f1f1f0); }
t-flblk { color: light-dark(#5c5c5c, #8e8e8e); }
t-flred { color: light-dark(#ff6b6b, #ff9d9d); }
t-flgrn { color: light-dark(#5af78e, #98ffbd); }
t-flylw { color: light-dark(#f3f99d, #ffffb3); }
t-flblu { color: light-dark(#57c7ff, #9dd9ff); }
t-flmag { color: light-dark(#ff6ac1, #ff9dd9); }
t-flcyn { color: light-dark(#9aedfe, #c0f5ff); }
t-flwht { color: light-dark(#f1f1f0, #ffffff); }

/* Classic 16 background colors */
t-bblk { background-color: light-dark(#292929, #6e6e6e); }
t-bred { background-color: light-dark(#c41a16, #ff6b6b); }
t-bgrn { background-color: light-dark(#007400, #5af78e); }
t-bylw { background-color: light-dark(#826b00, #f3f99d); }
t-bblu { background-color: light-dark(#0000d6, #57c7ff); }
t-bmag { background-color: light-dark(#a90d91, #ff6ac1); }
t-bcyn { background-color: light-dark(#007482, #9aedfe); }
t-bwht { background-color: light-dark(#6e6e6e, #f1f1f0); }
t-blblk { background-color: light-dark(#5c5c5c, #8e8e8e); }
t-blred { background-color: light-dark(#ff6b6b, #ff9d9d); }
t-blgrn { background-color: light-dark(#5af78e, #98ffbd); }
t-blylw { background-color: light-dark(#f3f99d, #ffffb3); }
t-blblu { background-color: light-dark(#57c7ff, #9dd9ff); }
t-blmag { background-color: light-dark(#ff6ac1, #ff9dd9); }
t-blcyn { background-color: light-dark(#9aedfe, #c0f5ff); }
t-blwht { background-color: light-dark(#f1f1f0, #ffffff); }

/* 256-color ANSI palette */
t-f0 { color: light-dark(#000000, #000000); }
t-b0 { background-color: light-dark(#000000, #000000); }
t-f1 { color: light-dark(#800000, #800000); }
t-b1 { background-color: light-dark(#800000, #800000); }
t-f2 { color: light-dark(#008000, #008000); }
t-b2 { background-color: light-dark(#008000, #008000); }
t-f3 { color: light-dark(#808000, #808000); }
t-b3 { background-color: light-dark(#808000, #808000); }
t-f4 { color: light-dark(#000080, #000080); }
t-b4 { background-color: light-dark(#000080, #000080); }
t-f5 { color: light-dark(#800080, #800080); }
t-b5 { background-color: light-dark(#800080, #800080); }
t-f6 { color: light-dark(#008080, #008080); }
t-b6 { background-color: light-dark(#008080, #008080); }
t-f7 { color: light-dark(#c0c0c0, #c0c0c0); }
t-b7 { background-color: light-dark(#c0c0c0, #c0c0c0); }
t-f8 { color: light-dark(#808080, #808080); }
t-b8 { background-color: light-dark(#808080, #808080); }
t-f9 { color: light-dark(#ff0000, #ff0000); }
t-b9 { background-color: light-dark(#ff0000, #ff0000); }
t-f10 { color: light-dark(#00ff00, #00ff00); }
t-b10 { background-color: light-dark(#00ff00, #00ff00); }
t-f11 { color: light-dark(#ffff00, #ffff00); }
t-b11 { background-color: light-dark(#ffff00, #ffff00); }
t-f12 { color: light-dark(#0000ff, #0000ff); }
t-b12 { background-color: light-dark(#0000ff, #0000ff); }
t-f13 { color: light-dark(#ff00ff, #ff00ff); }
t-b13 { background-color: light-dark(#ff00ff, #ff00ff); }
t-f14 { color: light-dark(#00ffff, #00ffff); }
t-b14 { background-color: light-dark(#00ffff, #00ffff); }
t-f15 { color: light-dark(#ffffff, #ffffff); }
t-b15 { background-color: light-dark(#ffffff, #ffffff); }
t-f16 { color: light-dark(#000000, #000000); }
t-b16 { background-color: light-dark(#000000, #000000); }
t-f17 { color: light-dark(#000042, #000072); }
t-b17 { background-color: light-dark(#000042, #000072); }
t-f18 { color: light-dark(#00005e, #0000a2); }
t-b18 { background-color: light-dark(#00005e, #0000a2); }
t-f19 { color: light-dark(#00007a, #0000d2); }
t-b19 { background-color: light-dark(#00007a, #0000d2); }
t-f20 { color: light-dark(#000096, #0000ff); }
t-b20 { background-color: light-dark(#000096, #0000ff); }
t-f21 { color: light-dark(#0000b2, #0000ff); }
t-b21 { background-color: light-dark(#0000b2, #0000ff); }
t-f22 { color: light-dark(#004200, #007200); }
t-b22 { background-color: light-dark(#004200, #007200); }
t-f23 { color: light-dark(#004242, #007272); }
t-b23 { background-color: light-dark(#004242, #007272); }
t-f24 { color: light-dark(#00425e, #0072a2); }
t-b24 { background-color: light-dark(#00425e, #0072a2); }
t-f25 { color: light-dark(#00427a, #0072d2); }
t-b25 { background-color: light-dark(#00427a, #0072d2); }
t-f26 { color: light-dark(#004296, #0072ff); }
t-b26 { background-color: light-dark(#004296, #0072ff); }
t-f27 { color: light-dark(#0042b2, #0072ff); }
t-b27 { background-color: light-dark(#0042b2, #0072ff); }
t-f28 { color: light-dark(#005e00, #00a200); }
t-b28 { background-color: light-dark(#005e00, #00a200); }
t-f29 { color: light-dark(#005e42, #00a272); }
t-b29 { background-color: light-dark(#005e42, #00a272); }
t-f30 { color: light-dark(#005e5e, #00a2a2); }
t-b30 { background-color: light-dark(#005e5e, #00a2a2); }
t-f31 { color: light-dark(#005e7a, #00a2d2); }
t-b31 { background-color: light-dark(#005e7a, #00a2d2); }
t-f32 { color: light-dark(#005e96, #00a2ff); }
t-b32 { background-color: light-dark(#005e96, #00a2ff); }
t-f33 { color: light-dark(#005eb2, #00a2ff); }
t-b33 { background-color: light-dark(#005eb2, #00a2ff); }
t-f34 { color: light-dark(#007a00, #00d200); }
t-b34 { background-color: light-dark(#007a00, #00d200); }
t-f35 { color: light-dark(#007a42, #00d272); }
t-b35 { background-color: light-dark(#007a42, #00d272); }
t-f36 { color: light-dark(#007a5e, #00d2a2); }
t-b36 { background-color: light-dark(#007a5e, #00d2a2); }
t-f37 { color: light-dark(#007a7a, #00d2d2); }
t-b37 { background-color: light-dark(#007a7a, #00d2d2); }
t-f38 { color: light-dark(#007a96, #00d2ff); }
t-b38 { background-color: light-dark(#007a96, #00d2ff); }
t-f39 { color: light-dark(#007ab2, #00d2ff); }
t-b39 { background-color: light-dark(#007ab2, #00d2ff); }
t-f40 { color: light-dark(#009600, #00ff00); }
t-b40 { background-color: light-dark(#009600, #00ff00); }
t-f41 { color: light-dark(#009642, #00ff72); }
t-b41 { background-color: light-dark(#009642, #00ff72); }
t-f42 { color: light-dark(#00965e, #00ffa2); }
t-b42 { background-color: light-dark(#00965e, #00ffa2); }
t-f43 { color: light-dark(#00967a, #00ffd2); }
t-b43 { background-color: light-dark(#00967a, #00ffd2); }
t-f44 { color: light-dark(#009696, #00ffff); }
t-b44 { background-color: light-dark(#009696, #00ffff); }
t-f45 { color: light-dark(#0096b2, #00ffff); }
t-b45 { background-color: light-dark(#0096b2, #00ffff); }
t-f46 { color: light-dark(#00b200, #00ff00); }
t-b46 { background-color: light-dark(#00b200, #00ff00); }
t-f47 { color: light-dark(#00b242, #00ff72); }
t-b47 { background-color: light-dark(#00b242, #00ff72); }
t-f48 { color: light-dark(#00b25e, #00ffa2); }
t-b48 { background-color: light-dark(#00b25e, #00ffa2); }
t-f49 { color: light-dark(#00b27a, #00ffd2); }
t-b49 { background-color: light-dark(#00b27a, #00ffd2); }
t-f50 { color: light-dark(#00b296, #00ffff); }
t-b50 { background-color: light-dark(#00b296, #00ffff); }
t-f51 { color: light-dark(#00b2b2, #00ffff); }
t-b51 { background-color: light-dark(#00b2b2, #00ffff); }
t-f52 { color: light-dark(#420000, #720000); }
t-b52 { background-color: light-dark(#420000, #720000); }
t-f53 { color: light-dark(#420042, #720072); }
t-b53 { background-color: light-dark(#420042, #720072); }
t-f54 { color: light-dark(#42005e, #7200a2); }
t-b54 { background-color: light-dark(#42005e, #7200a2); }
t-f55 { color: light-dark(#42007a, #7200d2); }
t-b55 { background-color: light-dark(#42007a, #7200d2); }
t-f56 { color: light-dark(#420096, #7200ff); }
t-b56 { background-color: light-dark(#420096, #7200ff); }
t-f57 { color: light-dark(#4200b2, #7200ff); }
t-b57 { background-color: light-dark(#4200b2, #7200ff); }
t-f58 { color: light-dark(#424200, #727200); }
t-b58 { background-color: light-dark(#424200, #727200); }
t-f59 { color: light-dark(#424242, #727272); }
t-b59 { background-color: light-dark(#424242, #727272); }
t-f60 { color: light-dark(#42425e, #7272a2); }
t-b60 { background-color: light-dark(#42425e, #7272a2); }
t-f61 { color: light-dark(#42427a, #7272d2); }
t-b61 { background-color: light-dark(#42427a, #7272d2); }
t-f62 { color: light-dark(#424296, #7272ff); }
t-b62 { background-color: light-dark(#424296, #7272ff); }
t-f63 { color: light-dark(#4242b2, #7272ff); }
t-b63 { background-color: light-dark(#4242b2, #7272ff); }
t-f64 { color: light-dark(#425e00, #72a200); }
t-b64 { background-color: light-dark(#425e00, #72a200); }
t-f65 { color: light-dark(#425e42, #72a272); }
t-b65 { background-color: light-dark(#425e42, #72a272); }
t-f66 { color: light-dark(#425e5e, #72a2a2); }
t-b66 { background-color: light-dark(#425e5e, #72a2a2); }
t-f67 { color: light-dark(#425e7a, #72a2d2); }
t-b67 { background-color: light-dark(#425e7a, #72a2d2); }
t-f68 { color: light-dark(#425e96, #72a2ff); }
t-b68 { background-color: light-dark(#425e96, #72a2ff); }
t-f69 { color: light-dark(#425eb2, #72a2ff); }
t-b69 { background-color: light-dark(#425eb2, #72a2ff); }
t-f70 { color: light-dark(#427a00, #72d200); }
t-b70 { background-color: light-dark(#427a00, #72d200); }
t-f71 { color: light-dark(#427a42, #72d272); }
t-b71 { background-color: light-dark(#427a42, #72d272); }
t-f72 { color: light-dark(#427a5e, #72d2a2); }
t-b72 { background-color: light-dark(#427a5e, #72d2a2); }
t-f73 { color: light-dark(#427a7a, #72d2d2); }
t-b73 { background-color: light-dark(#427a7a, #72d2d2); }
t-f74 { color: light-dark(#427a96, #72d2ff); }
t-b74 { background-color: light-dark(#427a96, #72d2ff); }
t-f75 { color: light-dark(#427ab2, #72d2ff); }
t-b75 { background-color: light-dark(#427ab2, #72d2ff); }
t-f76 { color: light-dark(#429600, #72ff00); }
t-b76 { background-color: light-dark(#429600, #72ff00); }
t-f77 { color: light-dark(#429642, #72ff72); }
t-b77 { background-color: light-dark(#429642, #72ff72); }
t-f78 { color: light-dark(#42965e, #72ffa2); }
t-b78 { background-color: light-dark(#42965e, #72ffa2); }
t-f79 { color: light-dark(#42967a, #72ffd2); }
t-b79 { background-color: light-dark(#42967a, #72ffd2); }
t-f80 { color: light-dark(#429696, #72ffff); }
t-b80 { background-color: light-dark(#429696, #72ffff); }
t-f81 { color: light-dark(#4296b2, #72ffff); }
t-b81 { background-color: light-dark(#4296b2, #72ffff); }
t-f82 { color: light-dark(#42b200, #72ff00); }
t-b82 { background-color: light-dark(#42b200, #72ff00); }
t-f83 { color: light-dark(#42b242, #72ff72); }
t-b83 { background-color: light-dark(#42b242, #72ff72); }
t-f84 { color: light-dark(#42b25e, #72ffa2); }
t-b84 { background-color: light-dark(#42b25e, #72ffa2); }
t-f85 { color: light-dark(#42b27a, #72ffd2); }
t-b85 { background-color: light-dark(#42b27a, #72ffd2); }
t-f86 { color: light-dark(#42b296, #72ffff); }
t-b86 { background-color: light-dark(#42b296, #72ffff); }
t-f87 { color: light-dark(#42b2b2, #72ffff); }
t-b87 { background-color: light-dark(#42b2b2, #72ffff); }
t-f88 { color: light-dark(#5e0000, #a20000); }
t-b88 { background-color: light-dark(#5e0000, #a20000); }
t-f89 { color: light-dark(#5e0042, #a20072); }
t-b89 { background-color: light-dark(#5e0042, #a20072); }
t-f90 { color: light-dark(#5e005e, #a200a2); }
t-b90 { background-color: light-dark(#5e005e, #a200a2); }
t-f91 { color: light-dark(#5e007a, #a200d2); }
t-b91 { background-color: light-dark(#5e007a, #a200d2); }
t-f92 { color: light-dark(#5e0096, #a200ff); }
t-b92 { background-color: light-dark(#5e0096, #a200ff); }
t-f93 { color: light-dark(#5e00b2, #a200ff); }
t-b93 { background-color: light-dark(#5e00b2, #a200ff); }
t-f94 { color: light-dark(#5e4200, #a27200); }
t-b94 { background-color: light-dark(#5e4200, #a27200); }
t-f95 { color: light-dark(#5e4242, #a27272); }
t-b95 { background-color: light-dark(#5e4242, #a27272); }
t-f96 { color: light-dark(#5e425e, #a272a2); }
t-b96 { background-color: light-dark(#5e425e, #a272a2); }
t-f97 { color: light-dark(#5e427a, #a272d2); }
t-b97 { background-color: light-dark(#5e427a, #a272d2); }
t-f98 { color: light-dark(#5e4296, #a272ff); }
t-b98 { background-color: light-dark(#5e4296, #a272ff); }
t-f99 { color: light-dark(#5e42b2, #a272ff); }
t-b99 { background-color: light-dark(#5e42b2, #a272ff); }
t-f100 { color: light-dark(#5e5e00, #a2a200); }
t-b100 { background-color: light-dark(#5e5e00, #a2a200); }
t-f101 { color: light-dark(#5e5e42, #a2a272); }
t-b101 { background-color: light-dark(#5e5e42, #a2a272); }
t-f102 { color: light-dark(#5e5e5e, #a2a2a2); }
t-b102 { background-color: light-dark(#5e5e5e, #a2a2a2); }
t-f103 { color: light-dark(#5e5e7a, #a2a2d2); }
t-b103 { background-color: light-dark(#5e5e7a, #a2a2d2); }
t-f104 { color: light-dark(#5e5e96, #a2a2ff); }
t-b104 { background-color: light-dark(#5e5e96, #a2a2ff); }
t-f105 { color: light-dark(#5e5eb2, #a2a2ff); }
t-b105 { background-color: light-dark(#5e5eb2, #a2a2ff); }
t-f106 { color: light-dark(#5e7a00, #a2d200); }
t-b106 { background-color: light-dark(#5e7a00, #a2d200); }
t-f107 { color: light-dark(#5e7a42, #a2d272); }
t-b107 { background-color: light-dark(#5e7a42, #a2d272); }
t-f108 { color: light-dark(#5e7a5e, #a2d2a2); }
t-b108 { background-color: light-dark(#5e7a5e, #a2d2a2); }
t-f109 { color: light-dark(#5e7a7a, #a2d2d2); }
t-b109 { background-color: light-dark(#5e7a7a, #a2d2d2); }
t-f110 { color: light-dark(#5e7a96, #a2d2ff); }
t-b110 { background-color: light-dark(#5e7a96, #a2d2ff); }
t-f111 { color: light-dark(#5e7ab2, #a2d2ff); }
t-b111 { background-color: light-dark(#5e7ab2, #a2d2ff); }
t-f112 { color: light-dark(#5e9600, #a2ff00); }
t-b112 { background-color: light-dark(#5e9600, #a2ff00); }
t-f113 { color: light-dark(#5e9642, #a2ff72); }
t-b113 { background-color: light-dark(#5e9642, #a2ff72); }
t-f114 { color: light-dark(#5e965e, #a2ffa2); }
t-b114 { background-color: light-dark(#5e965e, #a2ffa2); }
t-f115 { color: light-dark(#5e967a, #a2ffd2); }
t-b115 { background-color: light-dark(#5e967a, #a2ffd2); }
t-f116 { color: light-dark(#5e9696, #a2ffff); }
t-b116 { background-color: light-dark(#5e9696, #a2ffff); }
t-f117 { color: light-dark(#5e96b2, #a2ffff); }
t-b117 { background-color: light-dark(#5e96b2, #a2ffff); }
t-f118 { color: light-dark(#5eb200, #a2ff00); }
t-b118 { background-color: light-dark(#5eb200, #a2ff00); }
t-f119 { color: light-dark(#5eb242, #a2ff72); }
t-b119 { background-color: light-dark(#5eb242, #a2ff72); }
t-f120 { color: light-dark(#5eb25e, #a2ffa2); }
t-b120 { background-color: light-dark(#5eb25e, #a2ffa2); }
t-f121 { color: light-dark(#5eb27a, #a2ffd2); }
t-b121 { background-color: light-dark(#5eb27a, #a2ffd2); }
t-f122 { color: light-dark(#5eb296, #a2ffff); }
t-b122 { background-color: light-dark(#5eb296, #a2ffff); }
t-f123 { color: light-dark(#5eb2b2, #a2ffff); }
t-b123 { background-color: light-dark(#5eb2b2, #a2ffff); }
t-f124 { color: light-dark(#7a0000, #d20000); }
t-b124 { background-color: light-dark(#7a0000, #d20000); }
t-f125 { color: light-dark(#7a0042, #d20072); }
t-b125 { background-color: light-dark(#7a0042, #d20072); }
t-f126 { color: light-dark(#7a005e, #d200a2); }
t-b126 { background-color: light-dark(#7a005e, #d200a2); }
t-f127 { color: light-dark(#7a007a, #d200d2); }
t-b127 { background-color: light-dark(#7a007a, #d200d2); }
t-f128 { color: light-dark(#7a0096, #d200ff); }
t-b128 { background-color: light-dark(#7a0096, #d200ff); }
t-f129 { color: light-dark(#7a00b2, #d200ff); }
t-b129 { background-color: light-dark(#7a00b2, #d200ff); }
t-f130 { color: light-dark(#7a4200, #d27200); }
t-b130 { background-color: light-dark(#7a4200, #d27200); }
t-f131 { color: light-dark(#7a4242, #d27272); }
t-b131 { background-color: light-dark(#7a4242, #d27272); }
t-f132 { color: light-dark(#7a425e, #d272a2); }
t-b132 { background-color: light-dark(#7a425e, #d272a2); }
t-f133 { color: light-dark(#7a427a, #d272d2); }
t-b133 { background-color: light-dark(#7a427a, #d272d2); }
t-f134 { color: light-dark(#7a4296, #d272ff); }
t-b134 { background-color: light-dark(#7a4296, #d272ff); }
t-f135 { color: light-dark(#7a42b2, #d272ff); }
t-b135 { background-color: light-dark(#7a42b2, #d272ff); }
t-f136 { color: light-dark(#7a5e00, #d2a200); }
t-b136 { background-color: light-dark(#7a5e00, #d2a200); }
t-f137 { color: light-dark(#7a5e42, #d2a272); }
t-b137 { background-color: light-dark(#7a5e42, #d2a272); }
t-f138 { color: light-dark(#7a5e5e, #d2a2a2); }
t-b138 { background-color: light-dark(#7a5e5e, #d2a2a2); }
t-f139 { color: light-dark(#7a5e7a, #d2a2d2); }
t-b139 { background-color: light-dark(#7a5e7a, #d2a2d2); }
t-f140 { color: light-dark(#7a5e96, #d2a2ff); }
t-b140 { background-color: light-dark(#7a5e96, #d2a2ff); }
t-f141 { color: light-dark(#7a5eb2, #d2a2ff); }
t-b141 { background-color: light-dark(#7a5eb2, #d2a2ff); }
t-f142 { color: light-dark(#7a7a00, #d2d200); }
t-b142 { background-color: light-dark(#7a7a00, #d2d200); }
t-f143 { color: light-dark(#7a7a42, #d2d272); }
t-b143 { background-color: light-dark(#7a7a42, #d2d272); }
t-f144 { color: light-dark(#7a7a5e, #d2d2a2); }
t-b144 { background-color: light-dark(#7a7a5e, #d2d2a2); }
t-f145 { color: light-dark(#7a7a7a, #d2d2d2); }
t-b145 { background-color: light-dark(#7a7a7a, #d2d2d2); }
t-f146 { color: light-dark(#7a7a96, #d2d2ff); }
t-b146 { background-color: light-dark(#7a7a96, #d2d2ff); }
t-f147 { color: light-dark(#7a7ab2, #d2d2ff); }
t-b147 { background-color: light-dark(#7a7ab2, #d2d2ff); }
t-f148 { color: light-dark(#7a9600, #d2ff00); }
t-b148 { background-color: light-dark(#7a9600, #d2ff00); }
t-f149 { color: light-dark(#7a9642, #d2ff72); }
t-b149 { background-color: light-dark(#7a9642, #d2ff72); }
t-f150 { color: light-dark(#7a965e, #d2ffa2); }
t-b150 { background-color: light-dark(#7a965e, #d2ffa2); }
t-f151 { color: light-dark(#7a967a, #d2ffd2); }
t-b151 { background-color: light-dark(#7a967a, #d2ffd2); }
t-f152 { color: light-dark(#7a9696, #d2ffff); }
t-b152 { background-color: light-dark(#7a9696, #d2ffff); }
t-f153 { color: light-dark(#7a96b2, #d2ffff); }
t-b153 { background-color: light-dark(#7a96b2, #d2ffff); }
t-f154 { color: light-dark(#7ab200, #d2ff00); }
t-b154 { background-color: light-dark(#7ab200, #d2ff00); }
t-f155 { color: light-dark(#7ab242, #d2ff72); }
t-b155 { background-color: light-dark(#7ab242, #d2ff72); }
t-f156 { color: light-dark(#7ab25e, #d2ffa2); }
t-b156 { background-color: light-dark(#7ab25e, #d2ffa2); }
t-f157 { color: light-dark(#7ab27a, #d2ffd2); }
t-b157 { background-color: light-dark(#7ab27a, #d2ffd2); }
t-f158 { color: light-dark(#7ab296, #d2ffff); }
t-b158 { background-color: light-dark(#7ab296, #d2ffff); }
t-f159 { color: light-dark(#7ab2b2, #d2ffff); }
t-b159 { background-color: light-dark(#7ab2b2, #d2ffff); }
t-f160 { color: light-dark(#960000, #ff0000); }
t-b160 { background-color: light-dark(#960000, #ff0000); }
t-f161 { color: light-dark(#960042, #ff0072); }
t-b161 { background-color: light-dark(#960042, #ff0072); }
t-f162 { color: light-dark(#96005e, #ff00a2); }
t-b162 { background-color: light-dark(#96005e, #ff00a2); }
t-f163 { color: light-dark(#96007a, #ff00d2); }
t-b163 { background-color: light-dark(#96007a, #ff00d2); }
t-f164 { color: light-dark(#960096, #ff00ff); }
t-b164 { background-color: light-dark(#960096, #ff00ff); }
t-f165 { color: light-dark(#9600b2, #ff00ff); }
t-b165 { background-color: light-dark(#9600b2, #ff00ff); }
t-f166 { color: light-dark(#964200, #ff7200); }
t-b166 { background-color: light-dark(#964200, #ff7200); }
t-f167 { color: light-dark(#964242, #ff7272); }
t-b167 { background-color: light-dark(#964242, #ff7272); }
t-f168 { color: light-dark(#96425e, #ff72a2); }
t-b168 { background-color: light-dark(#96425e, #ff72a2); }
t-f169 { color: light-dark(#96427a, #ff72d2); }
t-b169 { background-color: light-dark(#96427a, #ff72d2); }
t-f170 { color: light-dark(#964296, #ff72ff); }
t-b170 { background-color: light-dark(#964296, #ff72ff); }
t-f171 { color: light-dark(#9642b2, #ff72ff); }
t-b171 { background-color: light-dark(#9642b2, #ff72ff); }
t-f172 { color: light-dark(#965e00, #ffa200); }
t-b172 { background-color: light-dark(#965e00, #ffa200); }
t-f173 { color: light-dark(#965e42, #ffa272); }
t-b173 { background-color: light-dark(#965e42, #ffa272); }
t-f174 { color: light-dark(#965e5e, #ffa2a2); }
t-b174 { background-color: light-dark(#965e5e, #ffa2a2); }
t-f175 { color: light-dark(#965e7a, #ffa2d2); }
t-b175 { background-color: light-dark(#965e7a, #ffa2d2); }
t-f176 { color: light-dark(#965e96, #ffa2ff); }
t-b176 { background-color: light-dark(#965e96, #ffa2ff); }
t-f177 { color: light-dark(#965eb2, #ffa2ff); }
t-b177 { background-color: light-dark(#965eb2, #ffa2ff); }
t-f178 { color: light-dark(#967a00, #ffd200); }
t-b178 { background-color: light-dark(#967a00, #ffd200); }
t-f179 { color: light-dark(#967a42, #ffd272); }
t-b179 { background-color: light-dark(#967a42, #ffd272); }
t-f180 { color: light-dark(#967a5e, #ffd2a2); }
t-b180 { background-color: light-dark(#967a5e, #ffd2a2); }
t-f181 { color: light-dark(#967a7a, #ffd2d2); }
t-b181 { background-color: light-dark(#967a7a, #ffd2d2); }
t-f182 { color: light-dark(#967a96, #ffd2ff); }
t-b182 { background-color: light-dark(#967a96, #ffd2ff); }
t-f183 { color: light-dark(#967ab2, #ffd2ff); }
t-b183 { background-color: light-dark(#967ab2, #ffd2ff); }
t-f184 { color: light-dark(#969600, #ffff00); }
t-b184 { background-color: light-dark(#969600, #ffff00); }
t-f185 { color: light-dark(#969642, #ffff72); }
t-b185 { background-color: light-dark(#969642, #ffff72); }
t-f186 { color: light-dark(#96965e, #ffffa2); }
t-b186 { background-color: light-dark(#96965e, #ffffa2); }
t-f187 { color: light-dark(#96967a, #ffffd2); }
t-b187 { background-color: light-dark(#96967a, #ffffd2); }
t-f188 { color: light-dark(#969696, #ffffff); }
t-b188 { background-color: light-dark(#969696, #ffffff); }
t-f189 { color: light-dark(#9696b2, #ffffff); }
t-b189 { background-color: light-dark(#9696b2, #ffffff); }
t-f190 { color: light-dark(#96b200, #ffff00); }
t-b190 { background-color: light-dark(#96b200, #ffff00); }
t-f191 { color: light-dark(#96b242, #ffff72); }
t-b191 { background-color: light-dark(#96b242, #ffff72); }
t-f192 { color: light-dark(#96b25e, #ffffa2); }
t-b192 { background-color: light-dark(#96b25e, #ffffa2); }
t-f193 { color: light-dark(#96b27a, #ffffd2); }
t-b193 { background-color: light-dark(#96b27a, #ffffd2); }
t-f194 { color: light-dark(#96b296, #ffffff); }
t-b194 { background-color: light-dark(#96b296, #ffffff); }
t-f195 { color: light-dark(#96b2b2, #ffffff); }
t-b195 { background-color: light-dark(#96b2b2, #ffffff); }
t-f196 { color: light-dark(#b20000, #ff0000); }
t-b196 { background-color: light-dark(#b20000, #ff0000); }
t-f197 { color: light-dark(#b20042, #ff0072); }
t-b197 { background-color: light-dark(#b20042, #ff0072); }
t-f198 { color: light-dark(#b2005e, #ff00a2); }
t-b198 { background-color: light-dark(#b2005e, #ff00a2); }
t-f199 { color: light-dark(#b2007a, #ff00d2); }
t-b199 { background-color: light-dark(#b2007a, #ff00d2); }
t-f200 { color: light-dark(#b20096, #ff00ff); }
t-b200 { background-color: light-dark(#b20096, #ff00ff); }
t-f201 { color: light-dark(#b200b2, #ff00ff); }
t-b201 { background-color: light-dark(#b200b2, #ff00ff); }
t-f202 { color: light-dark(#b24200, #ff7200); }
t-b202 { background-color: light-dark(#b24200, #ff7200); }
t-f203 { color: light-dark(#b24242, #ff7272); }
t-b203 { background-color: light-dark(#b24242, #ff7272); }
t-f204 { color: light-dark(#b2425e, #ff72a2); }
t-b204 { background-color: light-dark(#b2425e, #ff72a2); }
t-f205 { color: light-dark(#b2427a, #ff72d2); }
t-b205 { background-color: light-dark(#b2427a, #ff72d2); }
t-f206 { color: light-dark(#b24296, #ff72ff); }
t-b206 { background-color: light-dark(#b24296, #ff72ff); }
t-f207 { color: light-dark(#b242b2, #ff72ff); }
t-b207 { background-color: light-dark(#b242b2, #ff72ff); }
t-f208 { color: light-dark(#b25e00, #ffa200); }
t-b208 { background-color: light-dark(#b25e00, #ffa200); }
t-f209 { color: light-dark(#b25e42, #ffa272); }
t-b209 { background-color: light-dark(#b25e42, #ffa272); }
t-f210 { color: light-dark(#b25e5e, #ffa2a2); }
t-b210 { background-color: light-dark(#b25e5e, #ffa2a2); }
t-f211 { color: light-dark(#b25e7a, #ffa2d2); }
t-b211 { background-color: light-dark(#b25e7a, #ffa2d2); }
t-f212 { color: light-dark(#b25e96, #ffa2ff); }
t-b212 { background-color: light-dark(#b25e96, #ffa2ff); }
t-f213 { color: light-dark(#b25eb2, #ffa2ff); }
t-b213 { background-color: light-dark(#b25eb2, #ffa2ff); }
t-f214 { color: light-dark(#b27a00, #ffd200); }
t-b214 { background-color: light-dark(#b27a00, #ffd200); }
t-f215 { color: light-dark(#b27a42, #ffd272); }
t-b215 { background-color: light-dark(#b27a42, #ffd272); }
t-f216 { color: light-dark(#b27a5e, #ffd2a2); }
t-b216 { background-color: light-dark(#b27a5e, #ffd2a2); }
t-f217 { color: light-dark(#b27a7a, #ffd2d2); }
t-b217 { background-color: light-dark(#b27a7a, #ffd2d2); }
t-f218 { color: light-dark(#b27a96, #ffd2ff); }
t-b218 { background-color: light-dark(#b27a96, #ffd2ff); }
t-f219 { color: light-dark(#b27ab2, #ffd2ff); }
t-b219 { background-color: light-dark(#b27ab2, #ffd2ff); }
t-f220 { color: light-dark(#b29600, #ffff00); }
t-b220 { background-color: light-dark(#b29600, #ffff00); }
t-f221 { color: light-dark(#b29642, #ffff72); }
t-b221 { background-color: light-dark(#b29642, #ffff72); }
t-f222 { color: light-dark(#b2965e, #ffffa2); }
t-b222 { background-color: light-dark(#b2965e, #ffffa2); }
t-f223 { color: light-dark(#b2967a, #ffffd2); }
t-b223 { background-color: light-dark(#b2967a, #ffffd2); }
t-f224 { color: light-dark(#b29696, #ffffff); }
t-b224 { background-color: light-dark(#b29696, #ffffff); }
t-f225 { color: light-dark(#b296b2, #ffffff); }
t-b225 { background-color: light-dark(#b296b2, #ffffff); }
t-f226 { color: light-dark(#b2b200, #ffff00); }
t-b226 { background-color: light-dark(#b2b200, #ffff00); }
t-f227 { color: light-dark(#b2b242, #ffff72); }
t-b227 { background-color: light-dark(#b2b242, #ffff72); }
t-f228 { color: light-dark(#b2b25e, #ffffa2); }
t-b228 { background-color: light-dark(#b2b25e, #ffffa2); }
t-f229 { color: light-dark(#b2b27a, #ffffd2); }
t-b229 { background-color: light-dark(#b2b27a, #ffffd2); }
t-f230 { color: light-dark(#b2b296, #ffffff); }
t-b230 { background-color: light-dark(#b2b296, #ffffff); }
t-f231 { color: light-dark(#b2b2b2, #ffffff); }
t-b231 { background-color: light-dark(#b2b2b2, #ffffff); }
t-f232 { color: light-dark(#050505, #090909); }
t-b232 { background-color: light-dark(#050505, #090909); }
t-f233 { color: light-dark(#0c0c0c, #151515); }
t-b233 { background-color: light-dark(#0c0c0c, #151515); }
t-f234 { color: light-dark(#131313, #212121); }
t-b234 { background-color: light-dark(#131313, #212121); }
t-f235 { color: light-dark(#1a1a1a, #2d2d2d); }
t-b235 { background-color: light-dark(#1a1a1a, #2d2d2d); }
t-f236 { color: light-dark(#212121, #393939); }
t-b236 { background-color: light-dark(#212121, #393939); }
t-f237 { color: light-dark(#282828, #454545); }
t-b237 { background-color: light-dark(#282828, #454545); }
t-f238 { color: light-dark(#2f2f2f, #515151); }
t-b238 { background-color: light-dark(#2f2f2f, #515151); }
t-f239 { color: light-dark(#363636, #5d5d5d); }
t-b239 { background-color: light-dark(#363636, #5d5d5d); }
t-f240 { color: light-dark(#3d3d3d, #696969); }
t-b240 { background-color: light-dark(#3d3d3d, #696969); }
t-f241 { color: light-dark(#444444, #757575); }
t-b241 { background-color: light-dark(#444444, #757575); }
t-f242 { color: light-dark(#4b4b4b, #818181); }
t-b242 { background-color: light-dark(#4b4b4b, #818181); }
t-f243 { color: light-dark(#525252, #8d8d8d); }
t-b243 { background-color: light-dark(#525252, #8d8d8d); }
t-f244 { color: light-dark(#595959, #999999); }
t-b244 { background-color: light-dark(#595959, #999999); }
t-f245 { color: light-dark(#606060, #a5a5a5); }
t-b245 { background-color: light-dark(#606060, #a5a5a5); }
t-f246 { color: light-dark(#676767, #b1b1b1); }
t-b246 { background-color: light-dark(#676767, #b1b1b1); }
t-f247 { color: light-dark(#6e6e6e, #bdbdbd); }
t-b247 { background-color: light-dark(#6e6e6e, #bdbdbd); }
t-f248 { color: light-dark(#757575, #c9c9c9); }
t-b248 { background-color: light-dark(#757575, #c9c9c9); }
t-f249 { color: light-dark(#7c7c7c, #d5d5d5); }
t-b249 { background-color: light-dark(#7c7c7c, #d5d5d5); }
t-f250 { color: light-dark(#838383, #e1e1e1); }
t-b250 { background-color: light-dark(#838383, #e1e1e1); }
t-f251 { color: light-dark(#8a8a8a, #ededed); }
t-b251 { background-color: light-dark(#8a8a8a, #ededed); }
t-f252 { color: light-dark(#919191, #f9f9f9); }
t-b252 { background-color: light-dark(#919191, #f9f9f9); }
t-f253 { color: light-dark(#989898, #ffffff); }
t-b253 { background-color: light-dark(#989898, #ffffff); }
t-f254 { color: light-dark(#9f9f9f, #ffffff); }
t-b254 { background-color: light-dark(#9f9f9f, #ffffff); }
t-f255 { color: light-dark(#a6a6a6, #ffffff); }
t-b255 { background-color: light-dark(#a6a6a6, #ffffff); }

/* RGB colors via --c custom property */
t-f { color: var(--c); }
t-b { background-color: var(--c); }
</style><style>
.code-block {
    position: relative;
}
.code-block .copy-btn {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    padding: 0.25rem 0.5rem;
    font-size: 0.75rem;
    background: rgba(80,80,95,0.8);
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 0.25rem;
    color: #c0caf5;
    cursor: pointer;
    opacity: 0;
    transition: opacity 0.15s;
    z-index: 10;
}
.code-block:hover .copy-btn { opacity: 1; }
.code-block .copy-btn:hover { background: rgba(80,80,95,0.95); }
.code-block .copy-btn.copied { background: rgba(50,160,50,0.9); }
</style><script>
document.addEventListener('click', async (e) => {
    const btn = e.target.closest('.copy-btn');
    if (!btn) return;
    const pre = btn.closest('.code-block') || btn.closest('pre');
    if (!pre) return;
    const code = pre.querySelector('code')?.textContent || pre.textContent;
    await navigator.clipboard.writeText(code);
    btn.textContent = 'Copied!';
    btn.classList.add('copied');
    setTimeout(() => {
        btn.textContent = 'Copy';
        btn.classList.remove('copied');
    }, 2000);
});
</script><style>
.code-block .build-info-btn {
    position: sticky;
    float: right;
    top: 0.5rem;
    right: 3.5rem;
    padding: 0.25rem;
    font-size: 0.75rem;
    background: rgba(255,255,255,0.1);
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 0.25rem;
    color: inherit;
    cursor: pointer;
    opacity: 0;
    transition: opacity 0.15s;
    line-height: 1;
    z-index: 10;
}
.code-block:hover .build-info-btn { opacity: 1; }
.code-block .build-info-btn:hover { background: rgba(255,255,255,0.2); }
.code-block .build-info-btn.verified { border-color: rgba(50,205,50,0.5); }
.build-info-popup {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: #1a1a2e;
    border: 1px solid rgba(255,255,255,0.2);
    border-radius: 0.5rem;
    padding: 1.5rem 2rem;
    width: 90vw;
    max-width: 800px;
    max-height: 80vh;
    overflow-y: auto;
    z-index: 10000;
    color: #e0e0e0;
    font-family: ui-monospace, monospace;
    font-size: 0.8rem;
    box-shadow: 0 25px 50px -12px rgba(0,0,0,0.5);
}
.build-info-popup h3 {
    margin: 0 0 1rem 0;
    color: #fff;
    font-size: 0.95rem;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.build-info-popup .close-btn {
    position: sticky;
    float: right;
    top: 0.75rem;
    right: 0.75rem;
    background: none;
    border: none;
    color: #888;
    font-size: 1.25rem;
    cursor: pointer;
    padding: 0.25rem;
}
.build-info-popup .close-btn:hover { color: #fff; }
.build-info-popup dl {
    margin: 0;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0.4rem 1rem;
}
.build-info-popup dt {
    color: #888;
    font-weight: 500;
}
.build-info-popup dd {
    margin: 0;
    word-break: break-all;
}
.build-info-popup .deps-list {
    max-height: 250px;
    overflow-y: auto;
    background: rgba(0,0,0,0.2);
    padding: 0.5rem 0.75rem;
    border-radius: 0.25rem;
    font-size: 0.7rem;
}
.build-info-popup .deps-list div {
    padding: 0.2rem 0;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}
.build-info-popup .field-icon {
    width: 14px;
    height: 14px;
    vertical-align: -2px;
    margin-right: 0.25rem;
    opacity: 0.7;
}
.build-info-popup .deps-list a,
.build-info-popup .deps-list .dep-local {
    color: #e0e0e0;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
}
.build-info-popup .deps-list a:hover {
    color: #fff;
}
.build-info-popup .deps-list a:hover .dep-icon {
    color: #fff;
}
.build-info-popup .deps-list .dep-icon {
    width: 14px;
    height: 14px;
    flex-shrink: 0;
    color: #888;
}
.build-info-popup .deps-list .dep-name {
    font-weight: 500;
}
.build-info-popup .deps-list .dep-version {
    color: #888;
    font-weight: normal;
}
.build-info-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,0.5);
    z-index: 9999;
}
</style><script>
(function() {
    // SVG icons
    var cratesIoIcon = '<svg class="dep-icon" viewBox="0 0 512 512"><path fill="currentColor" d="M239.1 6.3l-208 78c-18.7 7-31.1 25-31.1 45v225.1c0 18.2 10.3 34.8 26.5 42.9l208 104c13.5 6.8 29.4 6.8 42.9 0l208-104c16.3-8.1 26.5-24.8 26.5-42.9V129.3c0-20-12.4-37.9-31.1-44.9l-208-78C262 2.2 250 2.2 239.1 6.3zM256 68.4l192 72v1.1l-192 78-192-78v-1.1l192-72zm32 356V275.5l160-65v160.4l-160 53.5z"/></svg>';
    var gitIcon = '<svg class="dep-icon" viewBox="0 0 16 16"><path fill="currentColor" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/></svg>';
    var pathIcon = '<svg class="dep-icon" viewBox="0 0 16 16"><path fill="currentColor" d="M1.75 1A1.75 1.75 0 000 2.75v10.5C0 14.216.784 15 1.75 15h12.5A1.75 1.75 0 0016 13.25v-8.5A1.75 1.75 0 0014.25 3H7.5a.25.25 0 01-.2-.1l-.9-1.2C6.07 1.26 5.55 1 5 1H1.75z"/></svg>';
    var rustcIcon = '<svg class="field-icon" viewBox="0 0 16 16"><path fill="currentColor" d="M8 0l1.5 2.5L12 1.5l-.5 2.5 2.5.5-1.5 2.5L15 8l-2.5 1.5.5 2.5-2.5-.5-.5 2.5-2.5-1.5L8 16l-1.5-2.5L4 14.5l.5-2.5-2.5-.5 1.5-2.5L1 8l2.5-1.5L3 4l2.5.5.5-2.5 2.5 1.5L8 0zm0 5a3 3 0 100 6 3 3 0 000-6z"/></svg>';
    var targetIcon = '<svg class="field-icon" viewBox="0 0 16 16"><path fill="currentColor" d="M8 0a8 8 0 100 16A8 8 0 008 0zm0 2a6 6 0 110 12A6 6 0 018 2zm0 2a4 4 0 100 8 4 4 0 000-8zm0 2a2 2 0 110 4 2 2 0 010-4z"/></svg>';
    var clockIcon = '<svg class="field-icon" viewBox="0 0 16 16"><path fill="currentColor" d="M8 0a8 8 0 100 16A8 8 0 008 0zm0 2a6 6 0 110 12A6 6 0 018 2zm-.5 2v4.5l3 2 .75-1.125-2.25-1.5V4h-1.5z"/></svg>';
    var depsIcon = '<svg class="field-icon" viewBox="0 0 16 16"><path fill="currentColor" d="M1 2.5A1.5 1.5 0 012.5 1h3a1.5 1.5 0 011.5 1.5v3A1.5 1.5 0 015.5 7h-3A1.5 1.5 0 011 5.5v-3zm8 0A1.5 1.5 0 0110.5 1h3A1.5 1.5 0 0115 2.5v3A1.5 1.5 0 0113.5 7h-3A1.5 1.5 0 019 5.5v-3zm-8 8A1.5 1.5 0 012.5 9h3A1.5 1.5 0 017 10.5v3A1.5 1.5 0 015.5 15h-3A1.5 1.5 0 011 13.5v-3zm8 0A1.5 1.5 0 0110.5 9h3a1.5 1.5 0 011.5 1.5v3a1.5 1.5 0 01-1.5 1.5h-3A1.5 1.5 0 019 13.5v-3z"/></svg>';

    function formatLocalTime(isoString) {
        try {
            var date = new Date(isoString);
            return date.toLocaleDateString(undefined, { year: 'numeric', month: 'long', day: 'numeric' }) + ' at ' + date.toLocaleTimeString(undefined, { hour: '2-digit', minute: '2-digit' });
        } catch (e) {
            return isoString;
        }
    }

    function escapeHtml(str) {
        return String(str).replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;');
    }

    window.showBuildInfoPopup = function(info) {
        // Remove existing popup
        var existing = document.querySelector('.build-info-overlay');
        if (existing) existing.remove();

        var overlay = document.createElement('div');
        overlay.className = 'build-info-overlay';

        var popup = document.createElement('div');
        popup.className = 'build-info-popup';

        var depsHtml = '';
        if (info.deps && info.deps.length > 0) {
            depsHtml = '<dt>' + depsIcon + ' Dependencies</dt><dd><div class="deps-list">';
            info.deps.forEach(function(d) {
                var icon, link, versionDisplay;
                var src = d.source;
                if (src.type === 'crates.io') {
                    icon = cratesIoIcon;
                    link = 'https://crates.io/crates/' + encodeURIComponent(d.name) + '/' + encodeURIComponent(d.version);
                    versionDisplay = d.version;
                    depsHtml += '<div><a href="' + link + '" target="_blank" rel="noopener" title="View on crates.io">' + icon + ' <span class="dep-name">' + escapeHtml(d.name) + '</span> <span class="dep-version">' + escapeHtml(versionDisplay) + '</span></a></div>';
                } else if (src.type === 'git') {
                    icon = gitIcon;
                    // Generate proper commit link for GitHub repos
                    var commitShort = src.commit.substring(0, 8);
                    versionDisplay = d.version + ' @ ' + commitShort;
                    if (src.url.indexOf('github.com') !== -1) {
                        // GitHub: link directly to the commit
                        link = src.url.replace(/\.git$/, '') + '/tree/' + src.commit;
                    } else {
                        // Other git hosts: just link to the repo
                        link = src.url;
                    }
                    depsHtml += '<div><a href="' + escapeHtml(link) + '" target="_blank" rel="noopener" title="View commit ' + escapeHtml(src.commit) + '">' + icon + ' <span class="dep-name">' + escapeHtml(d.name) + '</span> <span class="dep-version">' + escapeHtml(versionDisplay) + '</span></a></div>';
                } else {
                    // path dependency
                    icon = pathIcon;
                    versionDisplay = d.version;
                    depsHtml += '<div><span class="dep-local">' + icon + ' <span class="dep-name">' + escapeHtml(d.name) + '</span> <span class="dep-version">' + escapeHtml(versionDisplay) + '</span></span></div>';
                }
            });
            depsHtml += '</div></dd>';
        }

        popup.innerHTML =
            '<button class="close-btn" aria-label="Close">&times;</button>' +
            '<h3>&#x2705; Build Verified</h3>' +
            '<dl>' +
            '<dt>' + rustcIcon + ' Compiler</dt><dd>' + escapeHtml(info.rustc) + '</dd>' +
            '<dt>' + rustcIcon + ' Cargo</dt><dd>' + escapeHtml(info.cargo) + '</dd>' +
            '<dt>' + targetIcon + ' Target</dt><dd>' + escapeHtml(info.target) + '</dd>' +
            '<dt>' + clockIcon + ' Built</dt><dd>' + formatLocalTime(info.timestamp) + (info.cacheHit ? ' (cached)' : '') + '</dd>' +
            depsHtml +
            '</dl>';

        overlay.appendChild(popup);
        document.body.appendChild(overlay);

        function close() {
            overlay.remove();
        }

        overlay.addEventListener('click', function(e) {
            if (e.target === overlay) close();
        });
        popup.querySelector('.close-btn').addEventListener('click', close);
        document.addEventListener('keydown', function handler(e) {
            if (e.key === 'Escape') {
                close();
                document.removeEventListener('keydown', handler);
            }
        });
    };
})();
</script>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>YJ Park</title>
    <meta name="description" content="YJ Park's blog">
    <link rel="icon" type="image/svg+xml" href="/favicon.svg">
    <link rel="icon" type="image/x-icon" href="/favicon.ce044c512c4d.ico">
    <link rel="stylesheet" href="/main.6e14456do51c.css">
    <script>
      try { if (localStorage.theme === 'dark' || (!localStorage.theme && window.matchMedia('(prefers-color-scheme: dark)').matches)) document.documentElement.classList.add('dark'); } catch(e) {}
    </script>
</head>
<body>
    <div class="site-wrapper">
        <nav class="site-nav">
            <div class="nav-inner">
                <div class="nav-links">
                    <a href="/" class="nav-link font-serif">Home</a>
                    <a href="/posts/" class="nav-link font-serif">Posts</a>
                    <a href="/tags/" class="nav-link font-serif">Tags</a>
                    <a href="/blog/" class="nav-link font-serif">Archive</a>
                </div>
            </div>
            <button id="theme-toggle" class="theme-toggle" aria-label="Toggle theme">
                <svg class="theme-toggle-icon" viewBox="0 0 16 16">
                    <circle cx="8" cy="8" r="8"></circle>
                </svg>
            </button>
        </nav>

        <main>
            
<div class="hero">
    <h1 class="font-serif">YJ Park</h1>
    <div class="hero-content"><p data-source-line="2" data-source-file="_index.md"><a href="https://github.com/yjpark" aria-label="GitHub"><svg width="24" height="24" viewBox="0 0 24 24" fill="currentColor"><path d="M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0 0 24 12c0-6.63-5.37-12-12-12z"></path></svg></a></p>
</div>
</div>











        </main>

        <footer class="site-footer">
            <div class="footer-links font-serif">
                <a href="/">Home</a>
                <a href="/posts/">Posts</a>
                <a href="/tags/">Tags</a>
                <a href="/blog/">Archive</a>
            </div>
            <p class="copyright">© 2026 YJ Park</p>
        </footer>
    </div>
    <script src="/js/theme-toggle.js"></script>


</body></html>