.elementor-20 .elementor-element.elementor-element-762588cc{--display:flex;--min-height:70vh;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--overlay-opacity:1;--margin-top:0px;--margin-bottom:00px;--margin-left:0px;--margin-right:0px;--padding-top:400px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-20 .elementor-element.elementor-element-762588cc:not(.elementor-motion-effects-element-type-background), .elementor-20 .elementor-element.elementor-element-762588cc > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}.elementor-20 .elementor-element.elementor-element-762588cc::before, .elementor-20 .elementor-element.elementor-element-762588cc > .elementor-background-video-container::before, .elementor-20 .elementor-element.elementor-element-762588cc > .e-con-inner > .elementor-background-video-container::before, .elementor-20 .elementor-element.elementor-element-762588cc > .elementor-background-slideshow::before, .elementor-20 .elementor-element.elementor-element-762588cc > .e-con-inner > .elementor-background-slideshow::before, .elementor-20 .elementor-element.elementor-element-762588cc > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-image:url("https://thomasroodson.dev/wp-content/uploads/2026/04/thomasroodson_bg-scaled.webp");--background-overlay:'';background-position:250px 32px;background-repeat:no-repeat;background-size:contain;}.elementor-20 .elementor-element.elementor-element-1c95297a{--display:flex;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-20 .elementor-element.elementor-element-40ed58aa{font-family:"JetBrains Mono", Sans-serif;font-size:1.25rem;font-weight:400;color:var( --e-global-color-6ab18bd );}.elementor-20 .elementor-element.elementor-element-50d4866c > .jet-listing-grid > .jet-listing-grid__items{--columns:auto;display:grid;grid-template-columns:repeat( auto-fill, minmax( 70px, 1fr ) );}.elementor-20 .elementor-element.elementor-element-50d4866c > .jet-listing-grid > .jet-listing-grid__slider > .jet-listing-grid__items.slick-slider .slick-slide{width:70px;}.elementor-20 .elementor-element.elementor-element-50d4866c > .jet-listing-grid > .jet-listing-grid__slider.swiper-lib{--swiper-slide-min-width:70px;}:is( .elementor-20 .elementor-element.elementor-element-50d4866c > .jet-listing-grid > .swiper-lib > .swiper-wrapper, .elementor-20 .elementor-element.elementor-element-50d4866c > .jet-listing-grid > .jet-listing-grid__items, .elementor-20 .elementor-element.elementor-element-50d4866c > .jet-listing-grid > .jet-listing-grid__slider > .jet-listing-grid__items > .slick-list > .slick-track, .elementor-20 .elementor-element.elementor-element-50d4866c > .jet-listing-grid > .jet-listing-grid__scroll-slider > .jet-listing-grid__items ) > .jet-listing-grid__item{padding-left:calc(0px / 2);padding-right:calc(0px / 2);}:is( .elementor-20 .elementor-element.elementor-element-50d4866c > .jet-listing-grid, .elementor-20 .elementor-element.elementor-element-50d4866c > .jet-listing-grid > .jet-listing-grid__slider.slick-lib, .elementor-20 .elementor-element.elementor-element-50d4866c > .jet-listing-grid > .jet-listing-grid__scroll-slider ) > .jet-listing-grid__items{margin-left:calc( 0px / -2);margin-right:calc( 0px / -2);width:calc(100% + 0px);}.elementor-20 .elementor-element.elementor-element-50d4866c > .jet-listing-grid:has( > .jet-listing-grid__slider.swiper-lib ){margin-left:calc( 0px / -2);margin-right:calc( 0px / -2);}:is( .elementor-20 .elementor-element.elementor-element-50d4866c > .jet-listing-grid > .jet-listing-grid__slider.swiper-lib > .jet-listing-grid__items, .elementor-20 .elementor-element.elementor-element-50d4866c > .jet-listing-grid > .jet-listing-grid__items, .elementor-20 .elementor-element.elementor-element-50d4866c > .jet-listing-grid > .jet-listing-grid__slider > .jet-listing-grid__items > .slick-list > .slick-track, .elementor-20 .elementor-element.elementor-element-50d4866c > .jet-listing-grid > .jet-listing-grid__scroll-slider > .jet-listing-grid__items ) > .jet-listing-grid__item{padding-top:calc(0px / 2);padding-bottom:calc(0px / 2);}:is( .elementor-20 .elementor-element.elementor-element-50d4866c > .jet-listing-grid, .elementor-20 .elementor-element.elementor-element-50d4866c > .jet-listing-grid > .jet-listing-grid__slider, .elementor-20 .elementor-element.elementor-element-50d4866c > .jet-listing-grid > .jet-listing-grid__scroll-slider ) > .jet-listing-grid__items.grid-collapse-gap{margin-top:calc( 0px / -2);margin-bottom:calc( 0px / -2);}.elementor-20 .elementor-element.elementor-element-619ffe9{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-20 .elementor-element.elementor-element-619ffe9:not(.elementor-motion-effects-element-type-background), .elementor-20 .elementor-element.elementor-element-619ffe9 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}.elementor-20 .elementor-element.elementor-element-f277960{--display:flex;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--overflow:hidden;border-style:solid;--border-style:solid;border-width:1px 1px 1px 1px;--border-top-width:1px;--border-right-width:1px;--border-bottom-width:1px;--border-left-width:1px;border-color:#94A3B824;--border-color:#94A3B824;--border-radius:12px 12px 12px 12px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-20 .elementor-element.elementor-element-f277960:not(.elementor-motion-effects-element-type-background), .elementor-20 .elementor-element.elementor-element-f277960 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#02061733;}.elementor-20 .elementor-element.elementor-element-6f6599e{--display:flex;--min-height:32px;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:nowrap;--overflow:hidden;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:#94A3B81F;--border-color:#94A3B81F;--padding-top:6px;--padding-bottom:6px;--padding-left:12px;--padding-right:25px;}.elementor-20 .elementor-element.elementor-element-6f6599e:not(.elementor-motion-effects-element-type-background), .elementor-20 .elementor-element.elementor-element-6f6599e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#0F172AD9;}.elementor-20 .elementor-element.elementor-element-ffc918f{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:5px 5px;--row-gap:5px;--column-gap:5px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-size:var( --e-global-typography-primary-font-size );font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-20 .elementor-element.elementor-element-36a120b .elementor-heading-title{font-family:"JetBrains Mono", Sans-serif;font-size:1rem;font-weight:600;color:#E5D546;}.elementor-20 .elementor-element.elementor-element-6d9eb0b .elementor-heading-title{font-family:"JetBrains Mono", Sans-serif;font-size:0.85rem;font-weight:600;color:var( --e-global-color-6ab18bd );}.elementor-20 .elementor-element.elementor-element-0511b7e{--display:flex;--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-20 .elementor-element.elementor-element-1e04493 .elementor-heading-title{font-family:"JetBrains Mono", Sans-serif;font-size:0.85rem;font-weight:600;color:var( --e-global-color-6ab18bd );}.elementor-20 .elementor-element.elementor-element-e2f5c2f{--display:flex;--align-items:flex-start;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-20 .elementor-element.elementor-element-e2f5c2f:not(.elementor-motion-effects-element-type-background), .elementor-20 .elementor-element.elementor-element-e2f5c2f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#020617B8;}.elementor-20 .elementor-element.elementor-element-03625a8{width:100%;max-width:100%;}.elementor-20 .elementor-element.elementor-element-03625a8 .jet-listing-dynamic-field .jet-listing-dynamic-field__inline-wrap{width:auto;}.elementor-20 .elementor-element.elementor-element-03625a8 .jet-listing-dynamic-field .jet-listing-dynamic-field__content{width:auto;}.elementor-20 .elementor-element.elementor-element-03625a8 .jet-listing-dynamic-field{justify-content:flex-start;}.elementor-20 .elementor-element.elementor-element-03625a8 .jet-listing-dynamic-field__content{text-align:left;}.elementor-20 .elementor-element.elementor-element-90bcd9e{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:60px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-20 .elementor-element.elementor-element-90bcd9e:not(.elementor-motion-effects-element-type-background), .elementor-20 .elementor-element.elementor-element-90bcd9e > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}.elementor-20 .elementor-element.elementor-element-efe72a7 > .jet-listing-grid > .jet-listing-grid__items{--columns:3;}:root{--page-title-display:none;}body.elementor-page-20{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}@media(max-width:1024px){.elementor-20 .elementor-element.elementor-element-762588cc::before, .elementor-20 .elementor-element.elementor-element-762588cc > .elementor-background-video-container::before, .elementor-20 .elementor-element.elementor-element-762588cc > .e-con-inner > .elementor-background-video-container::before, .elementor-20 .elementor-element.elementor-element-762588cc > .elementor-background-slideshow::before, .elementor-20 .elementor-element.elementor-element-762588cc > .e-con-inner > .elementor-background-slideshow::before, .elementor-20 .elementor-element.elementor-element-762588cc > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:0px 0px;}.elementor-20 .elementor-element.elementor-element-762588cc{--padding-top:238px;--padding-bottom:10px;--padding-left:10px;--padding-right:10px;}.elementor-20 .elementor-element.elementor-element-40ed58aa{font-size:1.2rem;}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}}@media(max-width:767px){.elementor-20 .elementor-element.elementor-element-762588cc::before, .elementor-20 .elementor-element.elementor-element-762588cc > .elementor-background-video-container::before, .elementor-20 .elementor-element.elementor-element-762588cc > .e-con-inner > .elementor-background-video-container::before, .elementor-20 .elementor-element.elementor-element-762588cc > .elementor-background-slideshow::before, .elementor-20 .elementor-element.elementor-element-762588cc > .e-con-inner > .elementor-background-slideshow::before, .elementor-20 .elementor-element.elementor-element-762588cc > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-position:-1100px -72px;background-repeat:no-repeat;background-size:cover;}.elementor-20 .elementor-element.elementor-element-762588cc{--overlay-opacity:1;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:370px;--padding-bottom:10px;--padding-left:40px;--padding-right:40px;}.elementor-20 .elementor-element.elementor-element-1c95297a{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-20 .elementor-element.elementor-element-40ed58aa{text-align:start;font-size:1.2rem;line-height:1.6rem;}.elementor-20 .elementor-element.elementor-element-50d4866c > .jet-listing-grid > .jet-listing-grid__items{--columns:auto;display:grid;grid-template-columns:repeat( auto-fill, minmax( 60px, 1fr ) );}.elementor-20 .elementor-element.elementor-element-50d4866c > .jet-listing-grid > .jet-listing-grid__slider > .jet-listing-grid__items.slick-slider .slick-slide{width:60px;}.elementor-20 .elementor-element.elementor-element-50d4866c > .jet-listing-grid > .jet-listing-grid__slider.swiper-lib{--swiper-slide-min-width:60px;}:is( .elementor-20 .elementor-element.elementor-element-50d4866c > .jet-listing-grid > .swiper-lib > .swiper-wrapper, .elementor-20 .elementor-element.elementor-element-50d4866c > .jet-listing-grid > .jet-listing-grid__items, .elementor-20 .elementor-element.elementor-element-50d4866c > .jet-listing-grid > .jet-listing-grid__slider > .jet-listing-grid__items > .slick-list > .slick-track, .elementor-20 .elementor-element.elementor-element-50d4866c > .jet-listing-grid > .jet-listing-grid__scroll-slider > .jet-listing-grid__items ) > .jet-listing-grid__item{padding-left:calc(0px / 2);padding-right:calc(0px / 2);}:is( .elementor-20 .elementor-element.elementor-element-50d4866c > .jet-listing-grid, .elementor-20 .elementor-element.elementor-element-50d4866c > .jet-listing-grid > .jet-listing-grid__slider.slick-lib, .elementor-20 .elementor-element.elementor-element-50d4866c > .jet-listing-grid > .jet-listing-grid__scroll-slider ) > .jet-listing-grid__items{margin-left:calc( 0px / -2);margin-right:calc( 0px / -2);width:calc(100% + 0px);}.elementor-20 .elementor-element.elementor-element-50d4866c > .jet-listing-grid:has( > .jet-listing-grid__slider.swiper-lib ){margin-left:calc( 0px / -2);margin-right:calc( 0px / -2);}:is( .elementor-20 .elementor-element.elementor-element-50d4866c > .jet-listing-grid > .jet-listing-grid__slider.swiper-lib > .jet-listing-grid__items, .elementor-20 .elementor-element.elementor-element-50d4866c > .jet-listing-grid > .jet-listing-grid__items, .elementor-20 .elementor-element.elementor-element-50d4866c > .jet-listing-grid > .jet-listing-grid__slider > .jet-listing-grid__items > .slick-list > .slick-track, .elementor-20 .elementor-element.elementor-element-50d4866c > .jet-listing-grid > .jet-listing-grid__scroll-slider > .jet-listing-grid__items ) > .jet-listing-grid__item{padding-top:calc(0px / 2);padding-bottom:calc(0px / 2);}:is( .elementor-20 .elementor-element.elementor-element-50d4866c > .jet-listing-grid, .elementor-20 .elementor-element.elementor-element-50d4866c > .jet-listing-grid > .jet-listing-grid__slider, .elementor-20 .elementor-element.elementor-element-50d4866c > .jet-listing-grid > .jet-listing-grid__scroll-slider ) > .jet-listing-grid__items.grid-collapse-gap{margin-top:calc( 0px / -2);margin-bottom:calc( 0px / -2);}.elementor-widget-heading .elementor-heading-title{font-size:var( --e-global-typography-primary-font-size );}}@media(min-width:768px){.elementor-20 .elementor-element.elementor-element-1c95297a{--width:60%;}.elementor-20 .elementor-element.elementor-element-619ffe9{--content-width:1140px;}.elementor-20 .elementor-element.elementor-element-90bcd9e{--content-width:1140px;}}@media(max-width:1024px) and (min-width:768px){.elementor-20 .elementor-element.elementor-element-1c95297a{--width:75%;}}/* Start custom CSS for container, class: .elementor-element-f277960 */.code-frame {
  width: 100%;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(148, 163, 184, 0.14);
  background: rgba(2, 6, 23, 0.2);
  font-family: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Courier New", monospace;
}

.code-header {
  min-height: 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6px 12px;
  background: rgba(15, 23, 42, 0.85);
  border-bottom: 1px solid rgba(148, 163, 184, 0.12);
}

.code-header-left {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  font-size: 12px;
  color: rgba(148, 163, 184, 0.95);
}

.code-header-close { color: rgba(148, 163, 184, 0.7); font-size: 12px; }

.code-body {
  margin: 0;
  padding: 12px;
  background: rgba(2, 6, 23, 0.72);
  font-size: 1rem;
  line-height: 1.55;
  white-space: normal;
  overflow: auto;
}

.code-body .code-source { display: none !important; }

.code-pre { margin: 0; white-space: pre-wrap; word-break: break-word; }
.code-line { display: flex; align-items: flex-start; }
.line-number {
  flex: 0 0 4ch; width: 4ch; text-align: right; padding-right: 12px;
  user-select: none; color: rgba(148, 163, 184, 0.35); font-variant-numeric: tabular-nums;
}
.line-content { flex: 1; min-width: 0; overflow-wrap: anywhere; }

/* tokens */
.token.comment { color: #6b7280; }
.token.punctuation { color: #9ca3af; }
.token.keyword { color: #c084fc; }
.token.string { color: #86efac; }
.token.number { color: #fca5a5; }
.token.function { color: #7dd3fc; }
.token.operator { color: #f9a8d4; }/* End custom CSS */