:root{--rh-base00:#1f1f28;--rh-base01:#16161d;--rh-base02:#223249;--rh-base03:#54546d;--rh-base04:#727169;--rh-base05:#dcd7ba;--rh-base06:#c8c093;--rh-base07:#717c7c;--rh-base08:#c34043;--rh-base09:#ffa066;--rh-base0A:#c0a36e;--rh-base0B:#76946a;--rh-base0C:#7aa89f;--rh-base0D:#7e9cd8;--rh-base0E:#957fb8;--rh-base0F:#d27e99;--rh-bg:#030507;--rh-bg-dim:#16161d;--rh-bg-light:#2a2a37;--rh-fg:#c1c6c4;--rh-fg-dim:#9da4a1;--rh-fg-reverse:#16161d;--rh-red:#bb3e41;--rh-orange:#ffa066;--rh-yellow:#c0a36e;--rh-green:#76946a;--rh-teal:#7aa89f;--rh-blue:#648493;--rh-purple:#957fb8;--rh-magenta:#d27e99;--rh-plum:#20131e;--rh-rose:#7d3d52;--rh-crimson:#8e4057;--rh-slate:#586e75;--rh-mulberry:#462941}:root{--size-0:0rem;--size-1:0.25rem;--size-2:0.5rem;--size-3:1rem;--size-4:1.5rem;--size-5:2rem;--size-6:3rem;--size-7:4rem;--size-8:6rem}:root{--max-width:1200px;--content-width:800px;--header-height:4rem;--hero-min-height:600px;--hero-max-height:1000px;--grid-gap-sm:var(--space-sm);--grid-gap-md:var(--space-md);--grid-gap-lg:var(--space-lg)}:root{--font-sans:"Work Sans", sans-serif;--font-serif:"PPCirka", "EB Garamond", serif;--font-serif-alt:"EB Garamond", serif;--font-mono:"JuliaMono", "IBM Plex Mono", "SF Mono", "Fira Code", monospace;--font-size-0:0.75rem;--font-size-1:0.875rem;--font-size-2:1rem;--font-size-3:1.25rem;--font-size-4:1.5rem;--font-size-5:2rem;--font-size-6:2.5rem;--font-size-7:3rem;--font-size-xs:0.875rem;--font-size-sm:1rem;--font-size-md:1.25rem;--font-size-lg:1.5rem;--font-size-xl:2rem;--font-size-2xl:2.5rem;--font-size-3xl:3rem;--font-size-4xl:4rem;--font-weight-thin:100;--font-weight-extra-light:200;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extra-bold:800;--font-weight-black:900;--line-height-tight:1.25;--line-height-default:1.6;--line-height-loose:1.8}:root{--radius-none:0;--radius-sm:2px;--radius-md:4px;--radius-lg:8px;--radius-xl:16px;--radius-full:9999px}:root{--elevation-0:none;--elevation-1:0 1px 2px rgba(0, 0, 0, 0.05);--elevation-2:0 2px 4px rgba(0, 0, 0, 0.1);--elevation-3:0 4px 8px rgba(0, 0, 0, 0.15);--elevation-4:0 8px 16px rgba(0, 0, 0, 0.2)}:root{--time-xxs:50ms;--time-xs:100ms;--time-sm:150ms;--time-md:200ms;--time-lg:300ms;--time-xl:500ms;--time-xxl:2s}:root{--gradient-bg-main:linear-gradient(
    160deg,
    rgba(20, 20, 20, 1) 0%,
    rgba(30, 30, 30, 1) 100%
  );--gradient-image-overlay:linear-gradient(
    to bottom,
    rgba(0, 0, 0, 0.45) 0%,
    rgba(0, 0, 0, 0.15) 40%,
    rgba(0, 0, 0, 0) 100%
  )}:root{--shadow-xs:0 1px 2px rgba(0, 0, 0, 0.06);--shadow-sm:0 1px 4px rgba(0, 0, 0, 0.08);--shadow-md:0 2px 8px rgba(0, 0, 0, 0.12);--shadow-lg:0 4px 16px rgba(0, 0, 0, 0.16);--shadow-xl:0 8px 24px rgba(0, 0, 0, 0.2);--shadow-2xl:0 12px 32px rgba(0, 0, 0, 0.25);--shadow-glow:0 0 20px rgba(127, 180, 202, 0.3);--shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.1)}:root{--overlay-xs:rgba(0, 0, 0, 0.05);--overlay-sm:rgba(0, 0, 0, 0.1);--overlay-md:rgba(0, 0, 0, 0.2);--overlay-lg:rgba(0, 0, 0, 0.35);--overlay-xl:rgba(0, 0, 0, 0.5)}:root{--space-xs:var(--size-1);--space-sm:var(--size-2);--space-md:var(--size-3);--space-lg:var(--size-4);--space-xl:var(--size-5);--space-2xl:var(--size-6);--space-3xl:var(--size-7);--space-4xl:var(--size-8);--navbar-height:5rem;--break-sm:480px;--break-md:768px;--break-lg:1024px;--break-xl:1280px;--max-width:1200px;--content-width:800px;--text-xs:var(--font-size-0);--text-sm:var(--font-size-1);--text-md:var(--font-size-2);--text-lg:var(--font-size-3);--text-xl:var(--font-size-4);--text-xxl:var(--font-size-5);--heading-xl:var(--font-size-6);--heading-xxl:var(--font-size-7);--heading-line-height:var(--line-height-tight);--body-line-height:var(--line-height-base);--heading-weight:var(--font-weight-normal);--body-weight:var(--font-weight-normal);--heading-spacing-top:var(--space-lg);--heading-spacing-bottom:var(--space-md);--font-body:var(--font-sans);--font-heading:var(--font-sans);--font-code:var(--font-mono);--radius-default:var(--radius-sm);--radius-pill:var(--radius-full);--shadow-sm:var(--elevation-1);--shadow-md:var(--elevation-2);--shadow-lg:var(--elevation-3);--bg-primary:var(--rh-bg);--bg-secondary:var(--rh-bg-dim);--bg-tertiary:var(--rh-bg-light);--bg-code:var(--rh-bg);--fg-primary:var(--rh-fg);--fg-secondary:var(--rh-fg-dim);--fg-tertiary:var(--rh-fg-light);--fg-muted:var(--rh-base07);--fg-muted-darker:var(--rh-bg-light);--accent-blue:var(--rh-blue);--accent-green:var(--rh-green);--accent-yellow:var(--rh-yellow);--accent-red:var(--rh-red);--accent-purple:var(--rh-purple);--accent-orange:var(--rh-orange);--transition-default:var(--time-md);--transition-fast:var(--time-xs);--transition-mid:var(--time-md);--transition-slow:var(--time-lg)}h1,h2,h3,h4,h5,h6{color:var(--fg-primary);font-family:var(--font-serif);font-weight:var(--heading-weight);line-height:var(--heading-line-height);margin-bottom:var(--heading-spacing-bottom);position:relative}h1{font-size:var(--font-size-4xl);margin-top:var(--space-lg);padding-bottom:var(--space-md)}h2{font-size:var(--font-size-3xl);margin-top:var(--space-lg);padding-bottom:var(--space-sm);border-bottom:1px solid var(--fg-muted-darker)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl);margin-top:var(--space-md)}h5{font-size:var(--font-size-lg);margin-top:var(--space-md)}h6{font-size:var(--font-size-md);margin-top:var(--space-md)}p{color:var(--fg-primary);font-family:var(--font-body);font-size:var(--font-size-sm);font-weight:var(--body-weight);line-height:var(--body-line-height);margin-bottom:var(--space-md);text-align:justify}code{font-family:var(--font-code);font-size:var(--font-size-xs)}a{color:var(--accent-blue);text-decoration:none;border-bottom:1px solid transparent;transition:all var(--transition-default)ease}.single-content a:hover{border-bottom-color:var(--accent-blue)}.single-content h1,.list-page h1,.single-page h1{border-bottom:1px solid var(--fg-muted-darker)}.drop-cap{float:left;display:flex;align-items:flex-end;justify-content:center;width:4.5rem;height:5.5rem;font-size:5rem;font-family:var(--font-serif);font-weight:var(--font-weight-semibold);line-height:1;margin:.1rem 1rem 0 0;padding:.4rem .75rem;border:1px solid var(--fg-primary);color:var(--fg-primary);background:0 0}.single-content h2,.single-content h3,.single-content h4,.single-content h5{border-bottom:1px solid var(--fg-muted-darker);margin-top:var(--space-2xl);margin-bottom:var(--space-sm);padding-bottom:var(--space-sm)}@font-face{font-family:ppmodel sans;src:url(../fonts/PPModel/PPModelSans-Light.otf)format("opentype");font-weight:300;font-style:normal}@font-face{font-family:ppmodel sans;src:url(../fonts/PPModel/PPModelSans-LightItalic.otf)format("opentype");font-weight:300;font-style:italic}@font-face{font-family:ppmodel sans;src:url(../fonts/PPModel/PPModelSans-Medium.otf)format("opentype");font-weight:500;font-style:normal}@font-face{font-family:ppmodel sans;src:url(../fonts/PPModel/PPModelSans-MediumItalic.otf)format("opentype");font-weight:500;font-style:italic}@font-face{font-family:ppmodel sans;src:url(../fonts/PPModel/PPModelSans-Super.otf)format("opentype");font-weight:700;font-style:normal}@font-face{font-family:ppmodel sans;src:url(../fonts/PPModel/PPModelSans-SuperItalic.otf)format("opentype");font-weight:700;font-style:italic}@font-face{font-family:ppmodel mono;src:url(../fonts/PPModel/PPModelMono-Light.otf)format("opentype");font-weight:300;font-style:normal}@font-face{font-family:ppmodel mono;src:url(../fonts/PPModel/PPModelMono-LightItalic.otf)format("opentype");font-weight:300;font-style:italic}@font-face{font-family:ppmodel mono;src:url(../fonts/PPModel/PPModelMono-Medium.otf)format("opentype");font-weight:500;font-style:normal}@font-face{font-family:ppmodel mono;src:url(../fonts/PPModel/PPModelMono-MediumItalic.otf)format("opentype");font-weight:500;font-style:italic}@font-face{font-family:ppmodel mono;src:url(../fonts/PPModel/PPModelMono-Super.otf)format("opentype");font-weight:700;font-style:normal}@font-face{font-family:ppmodel mono;src:url(../fonts/PPModel/PPModelMono-SuperItalic.otf)format("opentype");font-weight:700;font-style:italic}@font-face{font-family:ppmodel plastic;src:url(../fonts/PPModel/PPModelPlastic-Light.otf)format("opentype");font-weight:300;font-style:normal}@font-face{font-family:ppmodel plastic;src:url(../fonts/PPModel/PPModelPlastic-LightItalic.otf)format("opentype");font-weight:300;font-style:italic}@font-face{font-family:ppmodel plastic;src:url(../fonts/PPModel/PPModelPlastic-Medium.otf)format("opentype");font-weight:500;font-style:normal}@font-face{font-family:ppmodel plastic;src:url(../fonts/PPModel/PPModelPlastic-MediumItalic.otf)format("opentype");font-weight:500;font-style:italic}@font-face{font-family:ppmodel plastic;src:url(../fonts/PPModel/PPModelPlastic-Super.otf)format("opentype");font-weight:700;font-style:normal}@font-face{font-family:ppmodel plastic;src:url(../fonts/PPModel/PPModelPlastic-SuperItalic.otf)format("opentype");font-weight:700;font-style:italic}@font-face{font-family:ppmodel plasticline;src:url(../fonts/PPModel/PPModelPlasticLine-Light.otf)format("opentype");font-weight:300;font-style:normal}@font-face{font-family:ppmodel plasticline;src:url(../fonts/PPModel/PPModelPlasticLine-LightItalic.otf)format("opentype");font-weight:300;font-style:italic}@font-face{font-family:ppmodel plasticline;src:url(../fonts/PPModel/PPModelPlasticLine-Medium.otf)format("opentype");font-weight:500;font-style:normal}@font-face{font-family:ppmodel plasticline;src:url(../fonts/PPModel/PPModelPlasticLine-MediumItalic.otf)format("opentype");font-weight:500;font-style:italic}@font-face{font-family:ppmodel plasticline;src:url(../fonts/PPModel/PPModelPlasticLine-Super.otf)format("opentype");font-weight:700;font-style:normal}@font-face{font-family:ppmodel plasticline;src:url(../fonts/PPModel/PPModelPlasticLine-SuperItalic.otf)format("opentype");font-weight:700;font-style:italic}@font-face{font-family:ppmuseum;src:url(../fonts/PPMuseum/PPMuseum-Light.otf)format("opentype");font-weight:300;font-style:normal}@font-face{font-family:ppmuseum;src:url(../fonts/PPMuseum/PPMuseum-LightItalic.otf)format("opentype");font-weight:300;font-style:italic}@font-face{font-family:ppmuseum;src:url(../fonts/PPMuseum/PPMuseum-Regular.otf)format("opentype");font-weight:400;font-style:normal}@font-face{font-family:ppmuseum;src:url(../fonts/PPMuseum/PPMuseum-RegularItalic.otf)format("opentype");font-weight:400;font-style:italic}@font-face{font-family:ppmuseum;src:url(../fonts/PPMuseum/PPMuseum-Ultrabold.otf)format("opentype");font-weight:800;font-style:normal}@font-face{font-family:ppmuseum;src:url(../fonts/PPMuseum/PPMuseum-UltraboldItalic.otf)format("opentype");font-weight:800;font-style:italic}@font-face{font-family:pptalisman;src:url(../fonts/PPTalisman/PPTalisman-Light.otf)format("opentype");font-weight:300;font-style:normal}@font-face{font-family:pptalisman;src:url(../fonts/PPTalisman/PPTalisman-Bold.otf)format("opentype");font-weight:700;font-style:normal}@font-face{font-family:pptalisman;src:url(../fonts/PPTalisman/PPTalisman-Bold-Italic.otf)format("opentype");font-weight:700;font-style:italic}@font-face{font-family:theano didot;src:url(../fonts/TheanoDidot/TheanoDidot-Regular.ttf)format("truetype");font-weight:400;font-style:normal}@font-face{font-family:ppcirka;font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/PPCirka/PPCirka-Variable.ttf)format("truetype")}@font-face{font-family:ppcirka;font-style:normal;font-weight:300;font-display:swap;src:url(../fonts/PPCirka/PPCirka-Light.otf)format("opentype")}@font-face{font-family:ppcirka;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/PPCirka/PPCirka-Bold.otf)format("opentype")}@font-face{font-display:swap;font-family:lora;font-style:normal;font-weight:400;src:url(../fonts/lora-v36-latin_math_symbols-regular.woff2)format("woff2")}@font-face{font-display:swap;font-family:lora;font-style:italic;font-weight:400;src:url(../fonts/lora-v36-latin_math_symbols-italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:lora;font-style:normal;font-weight:500;src:url(../fonts/lora-v36-latin_math_symbols-500.woff2)format("woff2")}@font-face{font-display:swap;font-family:lora;font-style:italic;font-weight:500;src:url(../fonts/lora-v36-latin_math_symbols-500italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:lora;font-style:normal;font-weight:600;src:url(../fonts/lora-v36-latin_math_symbols-600.woff2)format("woff2")}@font-face{font-display:swap;font-family:lora;font-style:italic;font-weight:600;src:url(../fonts/lora-v36-latin_math_symbols-600italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:lora;font-style:normal;font-weight:700;src:url(../fonts/lora-v36-latin_math_symbols-700.woff2)format("woff2")}@font-face{font-display:swap;font-family:lora;font-style:italic;font-weight:700;src:url(../fonts/lora-v36-latin_math_symbols-700italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:cardo;font-style:normal;font-weight:400;src:url(../fonts/cardo-v20-gothic_greek_greek-ext_latin_latin-ext_old-italic-regular.woff2)format("woff2")}@font-face{font-display:swap;font-family:cardo;font-style:italic;font-weight:400;src:url(../fonts/cardo-v20-gothic_greek_greek-ext_latin_latin-ext_old-italic-italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:cardo;font-style:normal;font-weight:700;src:url(../fonts/cardo-v20-gothic_greek_greek-ext_latin_latin-ext_old-italic-700.woff2)format("woff2")}@font-face{font-display:swap;font-family:work sans;font-style:normal;font-weight:100;src:url(../fonts/work-sans-v23-latin_latin-ext/work-sans-v23-latin_latin-ext-100.woff2)format("woff2")}@font-face{font-display:swap;font-family:work sans;font-style:italic;font-weight:100;src:url(../fonts/work-sans-v23-latin_latin-ext/work-sans-v23-latin_latin-ext-100italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:work sans;font-style:normal;font-weight:200;src:url(../fonts/work-sans-v23-latin_latin-ext/work-sans-v23-latin_latin-ext-200.woff2)format("woff2")}@font-face{font-display:swap;font-family:work sans;font-style:italic;font-weight:200;src:url(../fonts/work-sans-v23-latin_latin-ext/work-sans-v23-latin_latin-ext-200italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:work sans;font-style:normal;font-weight:300;src:url(../fonts/work-sans-v23-latin_latin-ext/work-sans-v23-latin_latin-ext-300.woff2)format("woff2")}@font-face{font-display:swap;font-family:work sans;font-style:italic;font-weight:300;src:url(../fonts/work-sans-v23-latin_latin-ext/work-sans-v23-latin_latin-ext-300italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:work sans;font-style:normal;font-weight:400;src:url(../fonts/work-sans-v23-latin_latin-ext/work-sans-v23-latin_latin-ext-regular.woff2)format("woff2")}@font-face{font-display:swap;font-family:work sans;font-style:italic;font-weight:400;src:url(../fonts/work-sans-v23-latin_latin-ext/work-sans-v23-latin_latin-ext-italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:work sans;font-style:normal;font-weight:500;src:url(../fonts/work-sans-v23-latin_latin-ext/work-sans-v23-latin_latin-ext-500.woff2)format("woff2")}@font-face{font-display:swap;font-family:work sans;font-style:italic;font-weight:500;src:url(../fonts/work-sans-v23-latin_latin-ext/work-sans-v23-latin_latin-ext-500italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:work sans;font-style:normal;font-weight:600;src:url(../fonts/work-sans-v23-latin_latin-ext/work-sans-v23-latin_latin-ext-600.woff2)format("woff2")}@font-face{font-display:swap;font-family:work sans;font-style:italic;font-weight:600;src:url(../fonts/work-sans-v23-latin_latin-ext/work-sans-v23-latin_latin-ext-600italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:work sans;font-style:normal;font-weight:700;src:url(../fonts/work-sans-v23-latin_latin-ext/work-sans-v23-latin_latin-ext-700.woff2)format("woff2")}@font-face{font-display:swap;font-family:work sans;font-style:italic;font-weight:700;src:url(../fonts/work-sans-v23-latin_latin-ext/work-sans-v23-latin_latin-ext-700italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:work sans;font-style:normal;font-weight:800;src:url(../fonts/work-sans-v23-latin_latin-ext/work-sans-v23-latin_latin-ext-800.woff2)format("woff2")}@font-face{font-display:swap;font-family:work sans;font-style:italic;font-weight:800;src:url(../fonts/work-sans-v23-latin_latin-ext/work-sans-v23-latin_latin-ext-800italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:work sans;font-style:normal;font-weight:900;src:url(../fonts/work-sans-v23-latin_latin-ext/work-sans-v23-latin_latin-ext-900.woff2)format("woff2")}@font-face{font-display:swap;font-family:work sans;font-style:italic;font-weight:900;src:url(../fonts/work-sans-v23-latin_latin-ext/work-sans-v23-latin_latin-ext-900italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:eb garamond;font-style:normal;font-weight:400;src:url(../fonts/eb-garamond-v31-latin_latin-ext/eb-garamond-v31-latin_latin-ext-regular.woff2)format("woff2")}@font-face{font-display:swap;font-family:eb garamond;font-style:italic;font-weight:400;src:url(../fonts/eb-garamond-v31-latin_latin-ext/eb-garamond-v31-latin_latin-ext-italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:eb garamond;font-style:normal;font-weight:500;src:url(../fonts/eb-garamond-v31-latin_latin-ext/eb-garamond-v31-latin_latin-ext-500.woff2)format("woff2")}@font-face{font-display:swap;font-family:eb garamond;font-style:italic;font-weight:500;src:url(../fonts/eb-garamond-v31-latin_latin-ext/eb-garamond-v31-latin_latin-ext-500italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:eb garamond;font-style:normal;font-weight:600;src:url(../fonts/eb-garamond-v31-latin_latin-ext/eb-garamond-v31-latin_latin-ext-600.woff2)format("woff2")}@font-face{font-display:swap;font-family:eb garamond;font-style:italic;font-weight:600;src:url(../fonts/eb-garamond-v31-latin_latin-ext/eb-garamond-v31-latin_latin-ext-600italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:eb garamond;font-style:normal;font-weight:700;src:url(../fonts/eb-garamond-v31-latin_latin-ext/eb-garamond-v31-latin_latin-ext-700.woff2)format("woff2")}@font-face{font-display:swap;font-family:eb garamond;font-style:italic;font-weight:700;src:url(../fonts/eb-garamond-v31-latin_latin-ext/eb-garamond-v31-latin_latin-ext-700italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:eb garamond;font-style:normal;font-weight:800;src:url(../fonts/eb-garamond-v31-latin_latin-ext/eb-garamond-v31-latin_latin-ext-800.woff2)format("woff2")}@font-face{font-display:swap;font-family:eb garamond;font-style:italic;font-weight:800;src:url(../fonts/eb-garamond-v31-latin_latin-ext/eb-garamond-v31-latin_latin-ext-800italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:cormorant garamond;font-style:normal;font-weight:300;src:url(../fonts/cormorant-garamond-v20-latin_latin-ext-300.woff2)format("woff2")}@font-face{font-display:swap;font-family:cormorant garamond;font-style:italic;font-weight:300;src:url(../fonts/cormorant-garamond-v20-latin_latin-ext-300italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:cormorant garamond;font-style:normal;font-weight:400;src:url(../fonts/cormorant-garamond-v20-latin_latin-ext-regular.woff2)format("woff2")}@font-face{font-display:swap;font-family:cormorant garamond;font-style:italic;font-weight:400;src:url(../fonts/cormorant-garamond-v20-latin_latin-ext-italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:cormorant garamond;font-style:normal;font-weight:500;src:url(../fonts/cormorant-garamond-v20-latin_latin-ext-500.woff2)format("woff2")}@font-face{font-display:swap;font-family:cormorant garamond;font-style:italic;font-weight:500;src:url(../fonts/cormorant-garamond-v20-latin_latin-ext-500italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:cormorant garamond;font-style:normal;font-weight:600;src:url(../fonts/cormorant-garamond-v20-latin_latin-ext-600.woff2)format("woff2")}@font-face{font-display:swap;font-family:cormorant garamond;font-style:italic;font-weight:600;src:url(../fonts/cormorant-garamond-v20-latin_latin-ext-600italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:cormorant garamond;font-style:normal;font-weight:700;src:url(../fonts/cormorant-garamond-v20-latin_latin-ext-700.woff2)format("woff2")}@font-face{font-display:swap;font-family:cormorant garamond;font-style:italic;font-weight:700;src:url(../fonts/cormorant-garamond-v20-latin_latin-ext-700italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:ibm plex mono;font-style:normal;font-weight:100;src:url(../fonts/ibm-plex-mono-v19-latin_latin-ext-100.woff2)format("woff2")}@font-face{font-display:swap;font-family:ibm plex mono;font-style:italic;font-weight:100;src:url(../fonts/ibm-plex-mono-v19-latin_latin-ext-100italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:ibm plex mono;font-style:normal;font-weight:200;src:url(../fonts/ibm-plex-mono-v19-latin_latin-ext-200.woff2)format("woff2")}@font-face{font-display:swap;font-family:ibm plex mono;font-style:italic;font-weight:200;src:url(../fonts/ibm-plex-mono-v19-latin_latin-ext-200italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:ibm plex mono;font-style:normal;font-weight:300;src:url(../fonts/ibm-plex-mono-v19-latin_latin-ext-300.woff2)format("woff2")}@font-face{font-display:swap;font-family:ibm plex mono;font-style:italic;font-weight:300;src:url(../fonts/ibm-plex-mono-v19-latin_latin-ext-300italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:ibm plex mono;font-style:normal;font-weight:400;src:url(../fonts/ibm-plex-mono-v19-latin_latin-ext-regular.woff2)format("woff2")}@font-face{font-display:swap;font-family:ibm plex mono;font-style:italic;font-weight:400;src:url(../fonts/ibm-plex-mono-v19-latin_latin-ext-italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:ibm plex mono;font-style:normal;font-weight:500;src:url(../fonts/ibm-plex-mono-v19-latin_latin-ext-500.woff2)format("woff2")}@font-face{font-display:swap;font-family:ibm plex mono;font-style:italic;font-weight:500;src:url(../fonts/ibm-plex-mono-v19-latin_latin-ext-500italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:ibm plex mono;font-style:normal;font-weight:600;src:url(../fonts/ibm-plex-mono-v19-latin_latin-ext-600.woff2)format("woff2")}@font-face{font-display:swap;font-family:ibm plex mono;font-style:italic;font-weight:600;src:url(../fonts/ibm-plex-mono-v19-latin_latin-ext-600italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:ibm plex mono;font-style:normal;font-weight:700;src:url(../fonts/ibm-plex-mono-v19-latin_latin-ext-700.woff2)format("woff2")}@font-face{font-display:swap;font-family:ibm plex mono;font-style:italic;font-weight:700;src:url(../fonts/ibm-plex-mono-v19-latin_latin-ext-700italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:ibm plex serif;font-style:normal;font-weight:100;src:url(../fonts/ibm-plex-serif-v19-latin_latin-ext-100.woff2)format("woff2")}@font-face{font-display:swap;font-family:ibm plex serif;font-style:italic;font-weight:100;src:url(../fonts/ibm-plex-serif-v19-latin_latin-ext-100italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:ibm plex serif;font-style:normal;font-weight:200;src:url(../fonts/ibm-plex-serif-v19-latin_latin-ext-200.woff2)format("woff2")}@font-face{font-display:swap;font-family:ibm plex serif;font-style:italic;font-weight:200;src:url(../fonts/ibm-plex-serif-v19-latin_latin-ext-200italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:ibm plex serif;font-style:normal;font-weight:300;src:url(../fonts/ibm-plex-serif-v19-latin_latin-ext-300.woff2)format("woff2")}@font-face{font-display:swap;font-family:ibm plex serif;font-style:italic;font-weight:300;src:url(../fonts/ibm-plex-serif-v19-latin_latin-ext-300italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:ibm plex serif;font-style:normal;font-weight:400;src:url(../fonts/ibm-plex-serif-v19-latin_latin-ext-regular.woff2)format("woff2")}@font-face{font-display:swap;font-family:ibm plex serif;font-style:italic;font-weight:400;src:url(../fonts/ibm-plex-serif-v19-latin_latin-ext-italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:ibm plex serif;font-style:normal;font-weight:500;src:url(../fonts/ibm-plex-serif-v19-latin_latin-ext-500.woff2)format("woff2")}@font-face{font-display:swap;font-family:ibm plex serif;font-style:italic;font-weight:500;src:url(../fonts/ibm-plex-serif-v19-latin_latin-ext-500italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:ibm plex serif;font-style:normal;font-weight:600;src:url(../fonts/ibm-plex-serif-v19-latin_latin-ext-600.woff2)format("woff2")}@font-face{font-display:swap;font-family:ibm plex serif;font-style:italic;font-weight:600;src:url(../fonts/ibm-plex-serif-v19-latin_latin-ext-600italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:ibm plex serif;font-style:normal;font-weight:700;src:url(../fonts/ibm-plex-serif-v19-latin_latin-ext-700.woff2)format("woff2")}@font-face{font-display:swap;font-family:ibm plex serif;font-style:italic;font-weight:700;src:url(../fonts/ibm-plex-serif-v19-latin_latin-ext-700italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:ibm plex sans;font-style:normal;font-weight:100;src:url(../fonts/ibm-plex-sans-v22-latin-100.woff2)format("woff2")}@font-face{font-display:swap;font-family:ibm plex sans;font-style:italic;font-weight:100;src:url(../fonts/ibm-plex-sans-v22-latin-100italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:ibm plex sans;font-style:normal;font-weight:200;src:url(../fonts/ibm-plex-sans-v22-latin-200.woff2)format("woff2")}@font-face{font-display:swap;font-family:ibm plex sans;font-style:italic;font-weight:200;src:url(../fonts/ibm-plex-sans-v22-latin-200italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:ibm plex sans;font-style:normal;font-weight:300;src:url(../fonts/ibm-plex-sans-v22-latin-300.woff2)format("woff2")}@font-face{font-display:swap;font-family:ibm plex sans;font-style:italic;font-weight:300;src:url(../fonts/ibm-plex-sans-v22-latin-300italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:ibm plex sans;font-style:normal;font-weight:400;src:url(../fonts/ibm-plex-sans-v22-latin-regular.woff2)format("woff2")}@font-face{font-display:swap;font-family:ibm plex sans;font-style:italic;font-weight:400;src:url(../fonts/ibm-plex-sans-v22-latin-italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:ibm plex sans;font-style:normal;font-weight:500;src:url(../fonts/ibm-plex-sans-v22-latin-500.woff2)format("woff2")}@font-face{font-display:swap;font-family:ibm plex sans;font-style:italic;font-weight:500;src:url(../fonts/ibm-plex-sans-v22-latin-500italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:ibm plex sans;font-style:normal;font-weight:600;src:url(../fonts/ibm-plex-sans-v22-latin-600.woff2)format("woff2")}@font-face{font-display:swap;font-family:ibm plex sans;font-style:italic;font-weight:600;src:url(../fonts/ibm-plex-sans-v22-latin-600italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:ibm plex sans;font-style:normal;font-weight:700;src:url(../fonts/ibm-plex-sans-v22-latin-700.woff2)format("woff2")}@font-face{font-display:swap;font-family:ibm plex sans;font-style:italic;font-weight:700;src:url(../fonts/ibm-plex-sans-v22-latin-700italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:spectral;font-style:normal;font-weight:200;src:url(../fonts/spectral-v14-latin_latin-ext-200.woff2)format("woff2")}@font-face{font-display:swap;font-family:spectral;font-style:italic;font-weight:200;src:url(../fonts/spectral-v14-latin_latin-ext-200italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:spectral;font-style:normal;font-weight:300;src:url(../fonts/spectral-v14-latin_latin-ext-300.woff2)format("woff2")}@font-face{font-display:swap;font-family:spectral;font-style:italic;font-weight:300;src:url(../fonts/spectral-v14-latin_latin-ext-300italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:spectral;font-style:normal;font-weight:400;src:url(../fonts/spectral-v14-latin_latin-ext-regular.woff2)format("woff2")}@font-face{font-display:swap;font-family:spectral;font-style:italic;font-weight:400;src:url(../fonts/spectral-v14-latin_latin-ext-italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:spectral;font-style:normal;font-weight:500;src:url(../fonts/spectral-v14-latin_latin-ext-500.woff2)format("woff2")}@font-face{font-display:swap;font-family:spectral;font-style:italic;font-weight:500;src:url(../fonts/spectral-v14-latin_latin-ext-500italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:spectral;font-style:normal;font-weight:600;src:url(../fonts/spectral-v14-latin_latin-ext-600.woff2)format("woff2")}@font-face{font-display:swap;font-family:spectral;font-style:italic;font-weight:600;src:url(../fonts/spectral-v14-latin_latin-ext-600italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:spectral;font-style:normal;font-weight:700;src:url(../fonts/spectral-v14-latin_latin-ext-700.woff2)format("woff2")}@font-face{font-display:swap;font-family:spectral;font-style:italic;font-weight:700;src:url(../fonts/spectral-v14-latin_latin-ext-700italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:spectral;font-style:normal;font-weight:800;src:url(../fonts/spectral-v14-latin_latin-ext-800.woff2)format("woff2")}@font-face{font-display:swap;font-family:spectral;font-style:italic;font-weight:800;src:url(../fonts/spectral-v14-latin_latin-ext-800italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:unifrakturmaguntia;font-style:normal;font-weight:400;src:url(../fonts/unifrakturmaguntia-v21-latin-regular.woff2)format("woff2")}@font-face{font-display:swap;font-family:pirata one;font-style:normal;font-weight:400;src:url(../fonts/pirata-one-v22-latin_latin-ext-regular.woff2)format("woff2")}@font-face{font-display:swap;font-family:rokkitt;font-style:normal;font-weight:100;src:url(../fonts/rokkitt-v38-latin_latin-ext-100.woff2)format("woff2")}@font-face{font-display:swap;font-family:rokkitt;font-style:italic;font-weight:100;src:url(../fonts/rokkitt-v38-latin_latin-ext-100italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:rokkitt;font-style:normal;font-weight:200;src:url(../fonts/rokkitt-v38-latin_latin-ext-200.woff2)format("woff2")}@font-face{font-display:swap;font-family:rokkitt;font-style:italic;font-weight:200;src:url(../fonts/rokkitt-v38-latin_latin-ext-200italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:rokkitt;font-style:normal;font-weight:300;src:url(../fonts/rokkitt-v38-latin_latin-ext-300.woff2)format("woff2")}@font-face{font-display:swap;font-family:rokkitt;font-style:italic;font-weight:300;src:url(../fonts/rokkitt-v38-latin_latin-ext-300italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:rokkitt;font-style:normal;font-weight:400;src:url(../fonts/rokkitt-v38-latin_latin-ext-regular.woff2)format("woff2")}@font-face{font-display:swap;font-family:rokkitt;font-style:italic;font-weight:400;src:url(../fonts/rokkitt-v38-latin_latin-ext-italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:rokkitt;font-style:normal;font-weight:500;src:url(../fonts/rokkitt-v38-latin_latin-ext-500.woff2)format("woff2")}@font-face{font-display:swap;font-family:rokkitt;font-style:italic;font-weight:500;src:url(../fonts/rokkitt-v38-latin_latin-ext-500italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:rokkitt;font-style:normal;font-weight:600;src:url(../fonts/rokkitt-v38-latin_latin-ext-600.woff2)format("woff2")}@font-face{font-display:swap;font-family:rokkitt;font-style:italic;font-weight:600;src:url(../fonts/rokkitt-v38-latin_latin-ext-600italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:rokkitt;font-style:normal;font-weight:700;src:url(../fonts/rokkitt-v38-latin_latin-ext-700.woff2)format("woff2")}@font-face{font-display:swap;font-family:rokkitt;font-style:italic;font-weight:700;src:url(../fonts/rokkitt-v38-latin_latin-ext-700italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:rokkitt;font-style:normal;font-weight:800;src:url(../fonts/rokkitt-v38-latin_latin-ext-800.woff2)format("woff2")}@font-face{font-display:swap;font-family:rokkitt;font-style:italic;font-weight:800;src:url(../fonts/rokkitt-v38-latin_latin-ext-800italic.woff2)format("woff2")}@font-face{font-display:swap;font-family:rokkitt;font-style:normal;font-weight:900;src:url(../fonts/rokkitt-v38-latin_latin-ext-900.woff2)format("woff2")}@font-face{font-display:swap;font-family:rokkitt;font-style:italic;font-weight:900;src:url(../fonts/rokkitt-v38-latin_latin-ext-900italic.woff2)format("woff2")}@font-face{font-family:iosevka web;font-display:swap;font-weight:100;font-stretch:normal;font-style:normal;src:url(../fonts/Iosevka/WOFF2/Iosevka-Thin.woff2)format("woff2"),url(TTF/Iosevka-Thin.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:100;font-stretch:expanded;font-style:normal;src:url(../fonts/Iosevka/WOFF2/Iosevka-ExtendedThin.woff2)format("woff2"),url(TTF/Iosevka-ExtendedThin.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:100;font-stretch:normal;font-style:oblique;src:url(../fonts/Iosevka/WOFF2/Iosevka-ThinOblique.woff2)format("woff2"),url(TTF/Iosevka-ThinOblique.ttf)format("truetype")}@font-face{font-family:iosevka web oblique;font-display:swap;font-weight:100;font-stretch:normal;src:url(../fonts/Iosevka/WOFF2/Iosevka-ThinOblique.woff2)format("woff2"),url(TTF/Iosevka-ThinOblique.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:100;font-stretch:expanded;font-style:oblique;src:url(../fonts/Iosevka/WOFF2/Iosevka-ExtendedThinOblique.woff2)format("woff2"),url(TTF/Iosevka-ExtendedThinOblique.ttf)format("truetype")}@font-face{font-family:iosevka web oblique;font-display:swap;font-weight:100;font-stretch:expanded;src:url(../fonts/Iosevka/WOFF2/Iosevka-ExtendedThinOblique.woff2)format("woff2"),url(TTF/Iosevka-ExtendedThinOblique.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:100;font-stretch:normal;font-style:italic;src:url(../fonts/Iosevka/WOFF2/Iosevka-ThinItalic.woff2)format("woff2"),url(TTF/Iosevka-ThinItalic.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:100;font-stretch:expanded;font-style:italic;src:url(../fonts/Iosevka/WOFF2/Iosevka-ExtendedThinItalic.woff2)format("woff2"),url(TTF/Iosevka-ExtendedThinItalic.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:200;font-stretch:normal;font-style:normal;src:url(../fonts/Iosevka/WOFF2/Iosevka-ExtraLight.woff2)format("woff2"),url(TTF/Iosevka-ExtraLight.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:200;font-stretch:expanded;font-style:normal;src:url(../fonts/Iosevka/WOFF2/Iosevka-ExtendedExtraLight.woff2)format("woff2"),url(TTF/Iosevka-ExtendedExtraLight.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:200;font-stretch:normal;font-style:oblique;src:url(../fonts/Iosevka/WOFF2/Iosevka-ExtraLightOblique.woff2)format("woff2"),url(TTF/Iosevka-ExtraLightOblique.ttf)format("truetype")}@font-face{font-family:iosevka web oblique;font-display:swap;font-weight:200;font-stretch:normal;src:url(../fonts/Iosevka/WOFF2/Iosevka-ExtraLightOblique.woff2)format("woff2"),url(TTF/Iosevka-ExtraLightOblique.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:200;font-stretch:expanded;font-style:oblique;src:url(../fonts/Iosevka/WOFF2/Iosevka-ExtendedExtraLightOblique.woff2)format("woff2"),url(TTF/Iosevka-ExtendedExtraLightOblique.ttf)format("truetype")}@font-face{font-family:iosevka web oblique;font-display:swap;font-weight:200;font-stretch:expanded;src:url(../fonts/Iosevka/WOFF2/Iosevka-ExtendedExtraLightOblique.woff2)format("woff2"),url(TTF/Iosevka-ExtendedExtraLightOblique.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:200;font-stretch:normal;font-style:italic;src:url(../fonts/Iosevka/WOFF2/Iosevka-ExtraLightItalic.woff2)format("woff2"),url(TTF/Iosevka-ExtraLightItalic.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:200;font-stretch:expanded;font-style:italic;src:url(../fonts/Iosevka/WOFF2/Iosevka-ExtendedExtraLightItalic.woff2)format("woff2"),url(TTF/Iosevka-ExtendedExtraLightItalic.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:300;font-stretch:normal;font-style:normal;src:url(../fonts/Iosevka/WOFF2/Iosevka-Light.woff2)format("woff2"),url(TTF/Iosevka-Light.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:300;font-stretch:expanded;font-style:normal;src:url(../fonts/Iosevka/WOFF2/Iosevka-ExtendedLight.woff2)format("woff2"),url(TTF/Iosevka-ExtendedLight.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:300;font-stretch:normal;font-style:oblique;src:url(../fonts/Iosevka/WOFF2/Iosevka-LightOblique.woff2)format("woff2"),url(TTF/Iosevka-LightOblique.ttf)format("truetype")}@font-face{font-family:iosevka web oblique;font-display:swap;font-weight:300;font-stretch:normal;src:url(../fonts/Iosevka/WOFF2/Iosevka-LightOblique.woff2)format("woff2"),url(TTF/Iosevka-LightOblique.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:300;font-stretch:expanded;font-style:oblique;src:url(../fonts/Iosevka/WOFF2/Iosevka-ExtendedLightOblique.woff2)format("woff2"),url(TTF/Iosevka-ExtendedLightOblique.ttf)format("truetype")}@font-face{font-family:iosevka web oblique;font-display:swap;font-weight:300;font-stretch:expanded;src:url(../fonts/Iosevka/WOFF2/Iosevka-ExtendedLightOblique.woff2)format("woff2"),url(TTF/Iosevka-ExtendedLightOblique.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:300;font-stretch:normal;font-style:italic;src:url(../fonts/Iosevka/WOFF2/Iosevka-LightItalic.woff2)format("woff2"),url(TTF/Iosevka-LightItalic.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:300;font-stretch:expanded;font-style:italic;src:url(../fonts/Iosevka/WOFF2/Iosevka-ExtendedLightItalic.woff2)format("woff2"),url(TTF/Iosevka-ExtendedLightItalic.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:400;font-stretch:normal;font-style:normal;src:url(../fonts/Iosevka/WOFF2/Iosevka-Regular.woff2)format("woff2"),url(TTF/Iosevka-Regular.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:400;font-stretch:expanded;font-style:normal;src:url(../fonts/Iosevka/WOFF2/Iosevka-Extended.woff2)format("woff2"),url(TTF/Iosevka-Extended.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:400;font-stretch:normal;font-style:oblique;src:url(../fonts/Iosevka/WOFF2/Iosevka-Oblique.woff2)format("woff2"),url(TTF/Iosevka-Oblique.ttf)format("truetype")}@font-face{font-family:iosevka web oblique;font-display:swap;font-weight:400;font-stretch:normal;src:url(../fonts/Iosevka/WOFF2/Iosevka-Oblique.woff2)format("woff2"),url(TTF/Iosevka-Oblique.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:400;font-stretch:expanded;font-style:oblique;src:url(../fonts/Iosevka/WOFF2/Iosevka-ExtendedOblique.woff2)format("woff2"),url(TTF/Iosevka-ExtendedOblique.ttf)format("truetype")}@font-face{font-family:iosevka web oblique;font-display:swap;font-weight:400;font-stretch:expanded;src:url(../fonts/Iosevka/WOFF2/Iosevka-ExtendedOblique.woff2)format("woff2"),url(TTF/Iosevka-ExtendedOblique.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:400;font-stretch:normal;font-style:italic;src:url(../fonts/Iosevka/WOFF2/Iosevka-Italic.woff2)format("woff2"),url(TTF/Iosevka-Italic.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:400;font-stretch:expanded;font-style:italic;src:url(../fonts/Iosevka/WOFF2/Iosevka-ExtendedItalic.woff2)format("woff2"),url(TTF/Iosevka-ExtendedItalic.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:500;font-stretch:normal;font-style:normal;src:url(../fonts/Iosevka/WOFF2/Iosevka-Medium.woff2)format("woff2"),url(TTF/Iosevka-Medium.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:500;font-stretch:expanded;font-style:normal;src:url(../fonts/Iosevka/WOFF2/Iosevka-ExtendedMedium.woff2)format("woff2"),url(TTF/Iosevka-ExtendedMedium.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:500;font-stretch:normal;font-style:oblique;src:url(../fonts/Iosevka/WOFF2/Iosevka-MediumOblique.woff2)format("woff2"),url(TTF/Iosevka-MediumOblique.ttf)format("truetype")}@font-face{font-family:iosevka web oblique;font-display:swap;font-weight:500;font-stretch:normal;src:url(../fonts/Iosevka/WOFF2/Iosevka-MediumOblique.woff2)format("woff2"),url(TTF/Iosevka-MediumOblique.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:500;font-stretch:expanded;font-style:oblique;src:url(../fonts/Iosevka/WOFF2/Iosevka-ExtendedMediumOblique.woff2)format("woff2"),url(TTF/Iosevka-ExtendedMediumOblique.ttf)format("truetype")}@font-face{font-family:iosevka web oblique;font-display:swap;font-weight:500;font-stretch:expanded;src:url(../fonts/Iosevka/WOFF2/Iosevka-ExtendedMediumOblique.woff2)format("woff2"),url(TTF/Iosevka-ExtendedMediumOblique.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:500;font-stretch:normal;font-style:italic;src:url(../fonts/Iosevka/WOFF2/Iosevka-MediumItalic.woff2)format("woff2"),url(TTF/Iosevka-MediumItalic.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:500;font-stretch:expanded;font-style:italic;src:url(../fonts/Iosevka/WOFF2/Iosevka-ExtendedMediumItalic.woff2)format("woff2"),url(TTF/Iosevka-ExtendedMediumItalic.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:600;font-stretch:normal;font-style:normal;src:url(../fonts/Iosevka/WOFF2/Iosevka-SemiBold.woff2)format("woff2"),url(TTF/Iosevka-SemiBold.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:600;font-stretch:expanded;font-style:normal;src:url(../fonts/Iosevka/WOFF2/Iosevka-ExtendedSemiBold.woff2)format("woff2"),url(TTF/Iosevka-ExtendedSemiBold.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:600;font-stretch:normal;font-style:oblique;src:url(../fonts/Iosevka/WOFF2/Iosevka-SemiBoldOblique.woff2)format("woff2"),url(TTF/Iosevka-SemiBoldOblique.ttf)format("truetype")}@font-face{font-family:iosevka web oblique;font-display:swap;font-weight:600;font-stretch:normal;src:url(../fonts/Iosevka/WOFF2/Iosevka-SemiBoldOblique.woff2)format("woff2"),url(TTF/Iosevka-SemiBoldOblique.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:600;font-stretch:expanded;font-style:oblique;src:url(../fonts/Iosevka/WOFF2/Iosevka-ExtendedSemiBoldOblique.woff2)format("woff2"),url(TTF/Iosevka-ExtendedSemiBoldOblique.ttf)format("truetype")}@font-face{font-family:iosevka web oblique;font-display:swap;font-weight:600;font-stretch:expanded;src:url(../fonts/Iosevka/WOFF2/Iosevka-ExtendedSemiBoldOblique.woff2)format("woff2"),url(TTF/Iosevka-ExtendedSemiBoldOblique.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:600;font-stretch:normal;font-style:italic;src:url(../fonts/Iosevka/WOFF2/Iosevka-SemiBoldItalic.woff2)format("woff2"),url(TTF/Iosevka-SemiBoldItalic.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:600;font-stretch:expanded;font-style:italic;src:url(../fonts/Iosevka/WOFF2/Iosevka-ExtendedSemiBoldItalic.woff2)format("woff2"),url(TTF/Iosevka-ExtendedSemiBoldItalic.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:700;font-stretch:normal;font-style:normal;src:url(../fonts/Iosevka/WOFF2/Iosevka-Bold.woff2)format("woff2"),url(TTF/Iosevka-Bold.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:700;font-stretch:expanded;font-style:normal;src:url(../fonts/Iosevka/WOFF2/Iosevka-ExtendedBold.woff2)format("woff2"),url(TTF/Iosevka-ExtendedBold.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:700;font-stretch:normal;font-style:oblique;src:url(../fonts/Iosevka/WOFF2/Iosevka-BoldOblique.woff2)format("woff2"),url(TTF/Iosevka-BoldOblique.ttf)format("truetype")}@font-face{font-family:iosevka web oblique;font-display:swap;font-weight:700;font-stretch:normal;src:url(../fonts/Iosevka/WOFF2/Iosevka-BoldOblique.woff2)format("woff2"),url(TTF/Iosevka-BoldOblique.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:700;font-stretch:expanded;font-style:oblique;src:url(../fonts/Iosevka/WOFF2/Iosevka-ExtendedBoldOblique.woff2)format("woff2"),url(TTF/Iosevka-ExtendedBoldOblique.ttf)format("truetype")}@font-face{font-family:iosevka web oblique;font-display:swap;font-weight:700;font-stretch:expanded;src:url(../fonts/Iosevka/WOFF2/Iosevka-ExtendedBoldOblique.woff2)format("woff2"),url(TTF/Iosevka-ExtendedBoldOblique.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:700;font-stretch:normal;font-style:italic;src:url(../fonts/Iosevka/WOFF2/Iosevka-BoldItalic.woff2)format("woff2"),url(TTF/Iosevka-BoldItalic.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:700;font-stretch:expanded;font-style:italic;src:url(../fonts/Iosevka/WOFF2/Iosevka-ExtendedBoldItalic.woff2)format("woff2"),url(TTF/Iosevka-ExtendedBoldItalic.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:800;font-stretch:normal;font-style:normal;src:url(../fonts/Iosevka/WOFF2/Iosevka-ExtraBold.woff2)format("woff2"),url(TTF/Iosevka-ExtraBold.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:800;font-stretch:expanded;font-style:normal;src:url(../fonts/Iosevka/WOFF2/Iosevka-ExtendedExtraBold.woff2)format("woff2"),url(TTF/Iosevka-ExtendedExtraBold.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:800;font-stretch:normal;font-style:oblique;src:url(../fonts/Iosevka/WOFF2/Iosevka-ExtraBoldOblique.woff2)format("woff2"),url(TTF/Iosevka-ExtraBoldOblique.ttf)format("truetype")}@font-face{font-family:iosevka web oblique;font-display:swap;font-weight:800;font-stretch:normal;src:url(../fonts/Iosevka/WOFF2/Iosevka-ExtraBoldOblique.woff2)format("woff2"),url(TTF/Iosevka-ExtraBoldOblique.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:800;font-stretch:expanded;font-style:oblique;src:url(../fonts/Iosevka/WOFF2/Iosevka-ExtendedExtraBoldOblique.woff2)format("woff2"),url(TTF/Iosevka-ExtendedExtraBoldOblique.ttf)format("truetype")}@font-face{font-family:iosevka web oblique;font-display:swap;font-weight:800;font-stretch:expanded;src:url(../fonts/Iosevka/WOFF2/Iosevka-ExtendedExtraBoldOblique.woff2)format("woff2"),url(TTF/Iosevka-ExtendedExtraBoldOblique.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:800;font-stretch:normal;font-style:italic;src:url(../fonts/Iosevka/WOFF2/Iosevka-ExtraBoldItalic.woff2)format("woff2"),url(TTF/Iosevka-ExtraBoldItalic.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:800;font-stretch:expanded;font-style:italic;src:url(../fonts/Iosevka/WOFF2/Iosevka-ExtendedExtraBoldItalic.woff2)format("woff2"),url(TTF/Iosevka-ExtendedExtraBoldItalic.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:900;font-stretch:normal;font-style:normal;src:url(../fonts/Iosevka/WOFF2/Iosevka-Heavy.woff2)format("woff2"),url(TTF/Iosevka-Heavy.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:900;font-stretch:expanded;font-style:normal;src:url(../fonts/Iosevka/WOFF2/Iosevka-ExtendedHeavy.woff2)format("woff2"),url(TTF/Iosevka-ExtendedHeavy.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:900;font-stretch:normal;font-style:oblique;src:url(../fonts/Iosevka/WOFF2/Iosevka-HeavyOblique.woff2)format("woff2"),url(TTF/Iosevka-HeavyOblique.ttf)format("truetype")}@font-face{font-family:iosevka web oblique;font-display:swap;font-weight:900;font-stretch:normal;src:url(../fonts/Iosevka/WOFF2/Iosevka-HeavyOblique.woff2)format("woff2"),url(TTF/Iosevka-HeavyOblique.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:900;font-stretch:expanded;font-style:oblique;src:url(../fonts/Iosevka/WOFF2/Iosevka-ExtendedHeavyOblique.woff2)format("woff2"),url(TTF/Iosevka-ExtendedHeavyOblique.ttf)format("truetype")}@font-face{font-family:iosevka web oblique;font-display:swap;font-weight:900;font-stretch:expanded;src:url(../fonts/Iosevka/WOFF2/Iosevka-ExtendedHeavyOblique.woff2)format("woff2"),url(TTF/Iosevka-ExtendedHeavyOblique.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:900;font-stretch:normal;font-style:italic;src:url(../fonts/Iosevka/WOFF2/Iosevka-HeavyItalic.woff2)format("woff2"),url(TTF/Iosevka-HeavyItalic.ttf)format("truetype")}@font-face{font-family:iosevka web;font-display:swap;font-weight:900;font-stretch:expanded;font-style:italic;src:url(../fonts/Iosevka/WOFF2/Iosevka-ExtendedHeavyItalic.woff2)format("woff2"),url(TTF/Iosevka-ExtendedHeavyItalic.ttf)format("truetype")}@font-face{font-family:juliamono;src:url(../fonts/JuliaMono-webfonts/webfonts/JuliaMono-Light.woff2)format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:juliamono;src:url(../fonts/JuliaMono-webfonts/webfonts/JuliaMono-LightItalic.woff2)format("woff2");font-weight:300;font-style:italic;font-display:swap}@font-face{font-family:juliamono;src:url(../fonts/JuliaMono-webfonts/webfonts/JuliaMono-Regular.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:juliamono;src:url(../fonts/JuliaMono-webfonts/webfonts/JuliaMono-RegularItalic.woff2)format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:juliamono;src:url(../fonts/JuliaMono-webfonts/webfonts/JuliaMono-Medium.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:juliamono;src:url(../fonts/JuliaMono-webfonts/webfonts/JuliaMono-MediumItalic.woff2)format("woff2");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:juliamono;src:url(../fonts/JuliaMono-webfonts/webfonts/JuliaMono-SemiBold.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:juliamono;src:url(../fonts/JuliaMono-webfonts/webfonts/JuliaMono-SemiBoldItalic.woff2)format("woff2");font-weight:600;font-style:italic;font-display:swap}@font-face{font-family:juliamono;src:url(../fonts/JuliaMono-webfonts/webfonts/JuliaMono-Bold.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:juliamono;src:url(../fonts/JuliaMono-webfonts/webfonts/JuliaMono-BoldItalic.woff2)format("woff2");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:juliamono;src:url(../fonts/JuliaMono-webfonts/webfonts/JuliaMono-ExtraBold.woff2)format("woff2");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:juliamono;src:url(../fonts/JuliaMono-webfonts/webfonts/JuliaMono-ExtraBoldItalic.woff2)format("woff2");font-weight:800;font-style:italic;font-display:swap}@font-face{font-family:juliamono;src:url(../fonts/JuliaMono-webfonts/webfonts/JuliaMono-Black.woff2)format("woff2");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:juliamono;src:url(../fonts/JuliaMono-webfonts/webfonts/JuliaMono-BlackItalic.woff2)format("woff2");font-weight:900;font-style:italic;font-display:swap}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-md)var(--space-lg);margin-top:var(--space-lg)}.grid--tight{gap:var(--space-sm)}.grid--1{grid-template-columns:repeat(1,1fr)}.grid--2{grid-template-columns:repeat(2,1fr)}.grid--3{grid-template-columns:repeat(3,1fr)}.grid--4{grid-template-columns:repeat(4,1fr)}.page{display:flex;flex-direction:column;gap:var(--space-lg)}.page-title{font-size:var(--text-2xl);color:var(--fg-primary);border-bottom:1px solid var(--bg-tertiary);padding-bottom:var(--space-sm)}.page-content p{font-size:var(--text-md);color:var(--fg-secondary);line-height:1.6}.contact-form{display:flex;flex-direction:column;gap:var(--space-md)}.contact-form label{display:flex;flex-direction:column;font-size:var(--text-sm);color:var(--fg-secondary)}.contact-form input,.contact-form textarea{background:var(--bg-secondary);border:1px solid var(--bg-tertiary);border-radius:var(--radius-default);padding:var(--space-sm);color:var(--fg-primary);font:inherit}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent-blue);outline:none}.single-hero-wrapper{width:100%;height:400px;overflow:hidden;position:relative}.single-hero-image{width:100%;height:100%;object-fit:cover;display:block}.single-hero-card{position:relative;z-index:10;margin-top:-350px;margin-bottom:var(--space-3xl);padding:var(--space-2xl);border-radius:var(--radius-default)}.single-meta-top,.single-meta-bottom{display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:center;margin-bottom:var(--space-md);font-size:var(--text-sm);font-family:var(--font-mono);color:var(--fg-muted)}.single-meta-bottom{margin-top:var(--space-md)}.single-title{font-size:var(--text-3xl);text-align:center;margin-bottom:0;padding-bottom:0;font-weight:var(--font-weight-light)}.single-catchphrase{font-family:var(--font-serif);font-size:var(--text-xl);text-align:center;color:var(--fg-primary);margin-top:0;margin-bottom:var(--space-lg)}.single-separator{width:40px;height:2px;background:var(--fg-muted);margin:0 auto var(--space-lg)}.single-meta-top{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);margin-bottom:var(--space-md)}.single-meta-reading,.single-meta-categories,.single-meta-tags{display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:center;font-size:var(--text-sm);font-family:var(--font-mono);color:var(--fg-muted)}.h2-divider{display:flex;align-items:center;gap:.5em;color:var(--fg-muted-darker);font-size:var(--font-size-lg);max-width:15rem;margin:0 auto;padding-top:var(--space-xl)}.h2-divider span:first-child,.h2-divider span:last-child{flex:1;height:1px;background-color:currentColor;content:''}.h2-divider span:nth-child(2){padding:0 8px}.about-footer{padding-top:var(--space-lg);margin-top:var(--space-lg);border-top:solid 1px var(--fg-muted-darker)}.footer-epigraph .quote{font-family:var(--font-serif);font-style:normal;font-size:var(--font-size-3)}.footer-epigraph .author{font-family:var(--font-serif);font-style:italic;font-size:var(--font-size-3)}.project-hero-wrapper{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:0 0;overflow:hidden}.line-wrapper{flex:1;display:flex;align-items:center}.project-hero-lines{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;justify-content:space-evenly;z-index:1;pointer-events:none;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.9) 60%,black 100%);mask-image:linear-gradient(to bottom,transparent 0%,rgba(0,0,0,.9) 60%,black 100%)}.project-hero-lines .line{height:1px;width:100%;background:linear-gradient( to right,transparent 0%,var(--fg-muted-darker) 50%,transparent 100% );opacity:1}.project-symbol-block{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xl);border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-md)}.project-abbreviation{font-size:var(--text-4xl);font-weight:var(--font-weight-bold);font-family:var(--font-sans)}.project-title{font-size:var(--text-lg);font-family:var(--font-mono);margin-top:var(--space-sm);color:var(--fg-muted)}.project-serial{font-size:var(--text-sm);color:var(--fg-muted);font-family:var(--font-mono);margin-top:var(--space-xs)}.project-catchphrase{font-family:var(--font-serif);font-size:var(--text-xl);text-align:center;color:var(--fg-primary);margin:0;padding-bottom:var(--space-2xl)}.project-meta{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);margin-top:var(--space-2xl);border-bottom:solid 1px var(--fg-muted-darker)}.project-buttons{margin-top:var(--space-sm)}.project-tools{margin-bottom:var(--space-xl)}.project-tools .section-heading{text-align:center;font-size:var(--text-md);margin-bottom:var(--space-md)}.tool-list{display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:center}.project-languages{margin-bottom:var(--space-xl)}.project-languages h4{text-align:center;font-size:var(--text-md);margin-bottom:var(--space-md)}.single-content{margin-bottom:var(--space-xl)}.single-footer{margin-top:var(--space-xl)}.single-tags{text-align:center}.tag-link{margin:0 var(--space-xs);font-family:var(--font-mono);color:var(--fg-muted)}.docs-hub{display:grid;grid-template-columns:260px 1fr 260px;gap:var(--space-lg);align-items:flex-start;width:100%;position:relative;min-height:100vh}.docs-progress-wrapper{position:relative;height:calc(100vh - 8rem);overflow-y:auto;margin-top:8rem;padding-top:0}.docs-progress{position:sticky;top:0;max-height:calc(100vh - 8rem);overflow-y:auto;padding:var(--space-md);background:0 0;border-right:1px solid var(--fg-muted-darker);overflow-anchor:none}.progress-section{margin-bottom:var(--space-lg)}.progress-section-title{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted-darker,#666);margin:0 0 var(--space-sm);padding:0 12px;font-weight:600}.docs-progress .progress-link{display:block;border-radius:var(--radius-default);text-decoration:none;color:var(--text-muted,#999);transition:all .2s ease;font-size:.875rem}.docs-progress .progress-link:hover{background:rgba(255,255,255,4%);color:var(--text-color,#fff)}.docs-progress .progress-link.active{font-weight:600;color:var(--accent-color);background:rgba(255,255,255,8%)}.docs-main{min-width:0;padding:var(--space-md)}.doc-article{max-width:820px}.doc-article.loading{opacity:.6}.load-error{color:var(--danger,#ff6b6b)}.docs-toc:empty{visibility:hidden;border-color:transparent}.docs-toc{position:sticky;top:0;max-height:calc(100vh - 8rem);overflow-y:auto;overflow-x:hidden;padding:var(--space-md);background:0 0;border-left:1px solid var(--fg-muted-darker);scroll-behavior:smooth}.docs-toc::-webkit-scrollbar{width:4px}.docs-toc::-webkit-scrollbar-track{background:0 0}.docs-toc::-webkit-scrollbar-thumb{background:var(--fg-muted-darker);border-radius:2px}.docs-toc::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}#docs-toc .toc-list{list-style:none;margin:0;padding:0}#docs-toc .toc-item{margin:0;position:relative}#docs-toc .toc-item a{display:block;padding:6px 12px;text-decoration:none;color:var(--text-muted,#999);transition:all .2s ease;font-size:.875rem;position:relative;border-left:2px solid transparent}#docs-toc .toc-item a:hover{background:rgba(255,255,255,4%);color:var(--text-color,#fff)}#docs-toc .toc-item a.active{color:var(--text-color,#fff);font-weight:600;border-left-color:var(--accent-color,#ff7b00)}#docs-toc .toc-item a.active::before{content:"";position:absolute;left:-2px;top:50%;transform:translateY(-50%);width:2px;height:70%;background:var(--accent-color,#ff7b00);box-shadow:0 0 12px var(--accent-color,#ff7b00);border-radius:1px;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,100%{opacity:1}50%{opacity:.7}}#docs-toc .toc-h3{margin-left:16px}#docs-toc .toc-h3 a{font-size:.825rem;color:var(--text-muted-darker,#777)}#docs-toc .toc-h3 a:hover{color:var(--text-muted,#999)}#docs-toc .toc-h3 a.active{color:var(--text-color,#fff)}.tree-nav{gap:2px;padding:0}.nav-section{margin-bottom:2px}.nav-section-toggle{display:flex;align-items:center;width:100%;padding:6px 12px;background:rgba(100,100,255,.1);border:1px solid rgba(100,100,255,.2);border-radius:var(--radius-default);color:var(--fg-primary);font-size:.875rem;text-align:left;cursor:pointer;transition:all .2s ease;position:relative}.nav-section-toggle:hover{background:var(--fg-muted-darker);color:var(--text-color)}.nav-section-toggle.active{color:var(--text-color);font-weight:600}.nav-section-toggle .chevron{margin-right:6px;transition:transform .2s ease;flex-shrink:0}.nav-section.expanded .chevron{transform:rotate(90deg)}.nav-section-content{display:none}.nav-section.expanded .nav-section-content{display:block}.nav-section-content.collapsed{display:none}.nav-section.level-0{margin-left:0}.nav-section.level-1{margin-left:12px}.nav-section.level-2{margin-left:24px}.nav-section.level-3{margin-left:36px}.progress-link.level-0{padding-left:34px}.progress-link.level-1{padding-left:46px}.progress-link.level-2{padding-left:58px}.progress-link.level-3{padding-left:70px}.tree-nav .progress-link{display:block;padding:6px 12px 6px 34px;border-radius:0;text-decoration:none;color:var(--text-muted);transition:all .2s ease;font-size:.875rem;position:relative}.tree-nav .progress-link:hover{background:rgba(255,255,255,4%);color:var(--text-color)}.tree-nav .progress-link.active{font-weight:600;color:var(--accent-color);background:0 0}.tree-nav .progress-link.active::before{content:"";position:absolute;left:2px;top:50%;transform:translateY(-50%);width:2px;height:16px;background:var(--accent-color,#ff7b00);box-shadow:0 0 12px var(--accent-color,#ff7b00);border-radius:1px}.nav-section-toggle span{font-family:var(--font-sans);font-weight:var(--font-weight-normal)}.docs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-lg);margin-top:var(--space-lg)}.docs-grid-item{display:block;padding:var(--space-md);border:1px solid var(--fg-muted-darker);border-radius:var(--radius-default);background:var(--bg-primary);transition:background .2s ease,border-color .2s ease;text-decoration:none}.docs-grid-item h2{margin-top:0;font-size:1.125rem;font-weight:600;color:var(--text-color)}.docs-grid-item p{font-size:.875rem;color:var(--text-muted)}.docs-grid-item:hover{background:rgba(255,255,255,4%);border-color:var(--accent-color)}.docs-toc-toggle{display:none;background:0 0;border:none;width:100%;text-align:left;padding:12px 16px;font-weight:600;color:var(--text-muted,#aaa);border-bottom:1px solid var(--border-color,rgba(255,255,255,8%));cursor:pointer}.docs-toc-toggle:hover{color:var(--text-color,#fff)}@media(max-width:1024px){.docs-hub{grid-template-columns:1fr}.docs-progress{display:none}.docs-toc{position:fixed;right:0;top:var(--header-height,60px);bottom:0;width:260px;transform:translateX(100%);transition:transform .25s ease;z-index:1000}.docs-toc.open{transform:translateX(0)}.docs-toc-toggle{display:block}}@media(min-width:480px){.grid--2,.grid--3,.grid--4{grid-template-columns:repeat(1,1fr)}h1{font-size:var(--font-size-5)}.pillars-container{padding:0 2rem}.pillar-label{font-size:var(--font-size-1)}}@media(min-width:640px){.grid--2,.grid--3,.grid--4{grid-template-columns:repeat(1,1fr)}h1{font-size:var(--font-size-5)}.pillars-container{padding:0 2rem}.pillar-label{font-size:var(--font-size-1)}}@media(min-width:768px){.grid--2,.grid--3,.grid--4{grid-template-columns:repeat(2,1fr)}h1{font-size:var(--font-size-6)}.pillars-container{padding:0 1rem}.pillar-label{font-size:var(--font-size-1)}}@media(min-width:1024px){.grid--2,.grid--3,.grid--4{grid-template-columns:repeat(2,1fr)}h1{font-size:var(--font-size-7)}}@media(min-width:1280px){.grid--2,.grid--3,.grid--4{grid-template-columns:repeat(3,1fr)}h1{font-size:var(--font-size-7)}}@media(min-width:1536px){.grid--2,.grid--3,.grid--4{grid-template-columns:repeat(3,1fr)}h1{font-size:var(--font-size-7)}}.nav{position:fixed !important;top:0 !important;z-index:1000;height:var(--navbar-height);width:100%;border-bottom:1px solid rgba(255,255,255,.2)}.nav-container{max-width:var(--max-width);margin:0 auto;padding:0 var(--space-lg);height:5rem;display:flex;align-items:center;justify-content:space-between}.nav-right{display:flex;align-items:center;gap:var(--space-lg)}.nav-brand{display:flex;align-items:center;gap:var(--space-sm);text-decoration:none;color:var(--fg-primary);font-weight:600;font-size:1.125rem;line-height:1;white-space:nowrap}.nav-brand svg{height:3rem;width:auto;display:block;flex-shrink:0;fill:var(--fg-primary);color:var(--fg-primary)}.nav-item{margin:0}.nav-menu{align-items:center;display:flex;list-style:none;gap:var(--space-lg)}.nav-link{color:var(--fg-primary);font-size:var(--text-sm);border:none;transition:color .2s ease}.nav-link:hover,.nav-link--active{color:var(--accent-blue)}.nav-item::before{content:none !important;display:none !important}.nav-toggle{display:none;flex-direction:column;justify-content:center;gap:.25rem;width:2rem;height:2rem;background:0 0;border:none;cursor:pointer;z-index:1001}.nav-toggle .bar{width:100%;height:1.5px;background-color:var(--fg-primary);transition:transform .3s ease,opacity .3s ease}@media(max-width:768px){.nav-menu{position:fixed;top:var(--navbar-height);left:0;right:0;flex-direction:column;gap:0;padding:var(--space-md);border-top:1px solid var(--fg-muted);border-bottom:1px solid var(--fg-muted);visibility:hidden;opacity:0;pointer-events:none;transition:opacity .2s ease}.nav-menu.open{visibility:visible;opacity:1;pointer-events:auto;display:flex;margin:0;gap:var(--space-md);background:var(--bg-primary);box-shadow:0 0 80px rgba(0,0,0,.3)}.nav-toggle{display:flex}.nav-container{justify-content:space-between}}.footer-content{border-top:1px solid var(--bg-tertiary)}.footer-level{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg);margin:0 auto;max-width:var(--max-width)}.footer-level1{padding:var(--space-lg)0;padding:var(--space-2xl)0}.footer-text{color:var(--fg-muted);font-size:var(--font-size-xs)}.footer-level2{padding:var(--space-3xl)0}.footer-column{display:flex;flex-direction:column;align-items:center;gap:.25rem;margin:auto 0}.footer-column .socials{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm)}.footer-heading{font-size:var(--font-size-md);font-weight:(--font-weight-medium);color:var(--fg-primary);margin-top:0;margin-bottom:var(--space-sm)}.footer-link{color:var(--fg-muted);font-size:var(--font-size-xs);text-decoration:none;transition:color .2s ease}.footer-link:hover{color:var(--accent-blue)}.project-hero-lines{transition:height .2s ease}#lineGrid{position:absolute;inset:0;overflow:hidden;z-index:0}#lineGrid{transform:perspective(800px)rotateX(20deg)}.line-wrapper{width:100%;height:1px;overflow:visible}.hero-section{width:100%;height:100dvh;padding-top:var(--navbar-height);box-sizing:border-box;background:url(/images/processed/site/hero-01.jpg)no-repeat 50%;background-size:cover}.hero-section::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient( to bottom,rgba(3,5,7,.6) 0%,rgba(3,5,7,.1) 40%,rgba(3,5,7,.9) 100% )}.hero-section::after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,255,204,.15),rgba(255,0,128,.1));mix-blend-mode:overlay;pointer-events:none}.hero{display:flex;align-items:center;justify-content:center;height:100%}.hero-container{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.hero-box{-webkit-backdrop-filter:blur(60px);align-items:center;backdrop-filter:blur(10px);background:rgba(39,39,39,.1);border-radius:var(--radius-default);border:1px solid rgba(255,255,255,.2);box-shadow:0 0 80px rgba(0,0,0,.3);display:flex;flex-direction:column;justify-content:center;padding:var(--space-xl);z-index:2}.hero-box>*{margin:0;margin-bottom:var(--space-sm)}.hero-box>*:last-child{margin-bottom:0}.hero-title{font-size:2.5rem}.hero-role{font-weight:600}.hero-tagline-top{font-family:var(--font-serif);font-size:var(--font-size-5);font-weight:var(--font-weight-regular)}.hero-divider{margin:var(--space-sm)0;text-align:center}.hero-tagline-bottom{margin:0;padding:0}.hero-tagline-bottom .credentials{font-size:var(--font-size-2);white-space:nowrap}@media(max-width:768px){.hero-container{padding:0 var(--space-lg)}.hero-tagline-bottom .credentials{white-space:pre-wrap}}.btn{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:var(--text-sm);font-weight:500;line-height:1.2;padding:var(--space-sm)var(--space-md);border-radius:var(--radius-default);border:1px solid transparent;cursor:pointer;text-decoration:none;letter-spacing:.05em;transition:background-color var(--transition-default)ease,color var(--transition-default)ease,border-color var(--transition-default)ease}.btn--primary{background-color:var(--fg-secondary);color:var(--bg-primary);border-color:var(--fg-secondary)}.btn--primary:hover{background-color:transparent;border-color:var(--fg-secondary);color:var(--fg-secondary)}.btn--ghost{background-color:transparent;color:var(--fg-primary);border:1px solid var(--fg-muted-darker)}.btn--ghost:hover{background-color:var(--fg-secondary);color:var(--bg-primary);border:1px solid var(--fg-secondary)}.btn--sm{border:1px solid;border-radius:var(--radius-default);font-size:var(--text-xs);font-weight:300;line-height:1.2;padding:var(--space-xs)var(--space-sm);text-transform:uppercase;transition:background-color var(--transition-default)ease,color var(--transition-default)ease,border-color var(--transition-default)ease}.btn-multi-group{display:flex;gap:.75rem;margin-top:1.25rem}.btn--full{flex:1;text-align:center;justify-content:center}.section-title{color:var(--fg-primary);margin-bottom:var(--space-lg);padding-bottom:var(--space-sm);border-bottom:1px solid var(--bg-tertiary)}.card{display:flex;flex-direction:column;border-radius:var(--radius-default);border:1px solid var(--fg-muted-darker);background:linear-gradient( 145deg,rgba(255,255,255,2%),rgba(255,255,255,.015) );backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 4px 20px rgba(0,0,0,.25);overflow:hidden;transition:border-color var(--transition-default)ease;margin-bottom:var(--space-lg)}.card:hover{border-color:var(--accent-blue)}.card-image-wrapper{position:relative;width:100%}.card-image{width:100%;display:block;object-fit:cover;border-bottom:1px solid var(--bg-tertiary)}.card-image-mask{position:absolute;inset:0;background:var(--gradient-image-overlay);z-index:0;pointer-events:none}.card-image-overlay{position:absolute;top:0;left:0;width:100%;padding:var(--space-lg);display:flex;justify-content:flex-start;align-items:flex-start;pointer-events:none}.card-post-type{pointer-events:auto;z-index:1}.card-body{padding:var(--space-lg);display:flex;flex-direction:column;justify-content:space-between}.card-meta{margin-bottom:var(--space-sm);font-size:var(--text-sm);color:var(--fg-muted)}.card-title{margin-bottom:var(--space-sm);font-size:var(--font-size-6)}.card-link{color:var(--fg-primary);border:none}.card-link:hover{color:var(--accent-blue)}.card-summary{color:var(--fg-secondary);font-size:var(--text-md)}.card-footer{margin-top:auto;padding-top:var(--space-sm);border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;gap:var(--space-sm)}.card-date{color:var(--fg-muted);font-size:.75rem}.single-title{color:var(--fg-primary);margin-bottom:var(--space-md);font-size:2.5rem;line-height:1.1}.single-meta{display:flex;align-items:center;justify-content:center;gap:var(--space-md);flex-wrap:wrap;margin-bottom:var(--space-md)}.single-date{color:var(--fg-muted);font-size:.85rem}.single-categories,.single-technologies,.single-tags{display:flex;gap:var(--space-xs);align-items:center}.category-link,.technology-link,.tag-link{background-color:var(--bg-tertiary);color:var(--fg-secondary);padding:var(--space-xs)var(--space-sm);font-size:.75rem;border-radius:var(--radius-default);border:none;transition:all var(--transition-default)ease}.category-link:hover{background-color:var(--accent-yellow);color:var(--bg-primary)}.technology-link:hover{background-color:var(--accent-blue);color:var(--bg-primary)}.tag-link:hover{background-color:var(--accent-green);color:var(--bg-primary)}.single-difficulty{display:flex;gap:var(--space-xs)}.difficulty-badge{padding:var(--space-xs)var(--space-sm);font-size:.7rem;border-radius:var(--radius-default);font-weight:500}.difficulty-beginner{background-color:var(--accent-green);color:var(--bg-primary)}.difficulty-intermediate{background-color:var(--accent-yellow);color:var(--bg-primary)}.difficulty-advanced{background-color:var(--accent-red);color:var(--bg-primary)}.card--tool{padding:var(--space-lg)}.card--tool .card-title{font-size:var(--font-size-4);color:var(--accent-purple)}.card--tool .card-summary{color:var(--fg-secondary);font-size:var(--text-sm)}.professional-card,.academic-card,.certification-card{padding:var(--space-lg)}.cert-title{margin-bottom:0 !important;color:var(--fg-primary) !important}.cert-meta{font-family:var(--font-serif);font-style:italic;font-size:var(--text-lg);color:var(--fg-primary)}.cert-topics{list-style:disc inside;padding-left:0;color:var(--fg-secondary);padding-bottom:var(--space-sm);border-bottom:solid 1px var(--fg-muted-darker)}.cert-topics li{margin-bottom:.25rem}.certification-card .btn{margin-top:auto;align-self:flex-start}.tool-category-group{margin-top:var(--space-2xl)}.tool-category-title{font-family:var(--font-serif);font-style:italic;font-size:var(--text-2xl);color:var(--fg-primary);margin-bottom:var(--space-md);border-left:1px solid var(--fg-primary);padding-left:var(--space-md)}.tool-category-sticky{position:sticky;top:var(--sticky-header-offset,var(--navbar-height));z-index:5;background-color:var(--bg-primary);padding-top:var(--space-md);padding-bottom:var(--space-md);margin-bottom:var(--space-sm);font-size:var(--text-xl)}.card-counters{display:flex;gap:var(--space-xs);margin-bottom:var(--space-sm)}.counter{display:inline-flex;align-items:center;font-size:var(--text-sm);font-weight:500;gap:1ch;padding:var(--space-xs)var(--space-sm);border-radius:var(--radius-default);background:rgba(255,255,255,3%);border:1px solid var(--fg-muted-darker);width:fit-content}.counter::before{content:'';display:inline-block;width:.6em;height:.6em;border-radius:50%;box-shadow:0 0 6px currentColor;background-color:currentColor}.counter--projects{color:var(--accent-blue)}.counter--posts{color:var(--accent-green)}.card-time{margin-top:var(--space-sm);margin-bottom:0;border-top:solid 1px var(--bg-tertiary)}code{background-color:var(--bg-secondary);border:solid 1px var(--bg-tertiary);border-radius:var(--radius-default);padding:.15rem .35rem}.highlight{background-color:transparent !important;border-radius:var(--radius-default);position:relative;margin:var(--space-lg)0 !important;overflow:hidden;border:1px solid var(--bg-tertiary);box-shadow:var(--shadow-md);scrollbar-width:none !important}.highlight pre{background:var(--bg-code) !important;border:none;margin:0;padding:var(--space-sm)var(--space-md);overflow-x:auto}.highlight pre code{background:0 0;padding:0;border:none;color:inherit;font-size:.85rem;line-height:1.6;display:block;width:100%}.highlight .ln{margin-right:var(--space-md);color:var(--fg-muted);user-select:none}.code-line{padding:0 var(--space-md);transition:opacity .15s ease-in-out;display:block;min-height:1.6em;position:relative}.highlight.is-hovered .code-line{opacity:.4}.highlight.is-hovered .code-line:hover{opacity:1;background:linear-gradient( 90deg,transparent 0,rgba(127,180,202,8%) 15%,rgba(127,180,202,8%) 85%,transparent 100% )}.code-header{background-color:var(--bg-primary);padding:var(--space-sm)var(--space-md);border-bottom:1px solid var(--bg-tertiary);font-size:var(--text-sm);color:var(--fg-muted);display:flex;justify-content:space-between;align-items:center}@keyframes pulse-glow{0%,100%{border-color:var(--bg-tertiary);box-shadow:var(--shadow-md)}50%{border-color:rgba(127,180,202,.8);box-shadow:var(--shadow-md),var(--shadow-glow),inset 0 0 20px rgba(127,180,202,.1)}}.highlight.header-hovered{animation:pulse-glow 1.2s ease-in-out infinite !important}.table-container{position:relative;margin:var(--space-lg)0;border:1px solid var(--bg-tertiary);border-radius:var(--radius-default);background-color:var(--bg-primary);box-shadow:0 4px 12px rgba(0,0,0,.2);overflow:hidden}.table-scroll{overflow-x:auto;white-space:nowrap}.table-scroll table{width:100%;min-width:650px;border-collapse:collapse}.table-scroll thead{border-bottom:1px solid var(--fg-primary)}.table-scroll th{color:var(--fg-primary);font-weight:500;padding:var(--space-md);text-align:left}.table-scroll td{border-bottom:1px solid var(--bg-tertiary);color:var(--fg-secondary);padding:var(--space-sm)var(--space-md);vertical-align:top}.table-scroll tbody tr:last-child td{border-bottom:none}.table-scroll tbody tr:hover{background-color:rgba(127,180,202,7%);transition:all var(--transition-default)ease}.table-scroll::-webkit-scrollbar{height:8px}.table-scroll::-webkit-scrollbar-track{background:0 0}.table-scroll::-webkit-scrollbar-thumb{background-color:var(--bg-tertiary);border-radius:var(--radius-default)}.table-scroll::-webkit-scrollbar-thumb:hover{background-color:var(--accent-blue)}.table-fade-gradient-right{position:absolute;top:0;right:0;width:6rem;height:100%;pointer-events:none;background:linear-gradient(to left,var(--bg-primary),transparent);transition:opacity .2s ease;z-index:1}.table-container.hide-fade .table-fade-gradient-right{opacity:0}.card-tag-section{margin-top:var(--space-md)}.card-tag-group+.card-tag-group{margin-top:var(--space-sm)}.card-tag-heading{font-size:var(--text-xs);font-family:var(--font-mono);color:var(--fg-muted);text-transform:uppercase;margin-bottom:.25em;letter-spacing:.05em}.card-tags{padding:var(--space-sm)0}.tag{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:300;line-height:1.2;padding:var(--space-xs)var(--space-sm);margin-right:var(--space-xs);margin-bottom:var(--space-sm);border-radius:var(--radius-default);text-transform:uppercase;letter-spacing:.05em;border:1px solid var(--fg-primary);box-shadow:var(--shadow-sm);transition:background-color var(--transition-default)ease,color var(--transition-default)ease,border-color var(--transition-default)ease}.tag--type{-webkit-backdrop-filter:blur(60px);align-items:center;backdrop-filter:blur(10px);background:rgba(39,39,39,.1);border-radius:var(--radius-default);border:1px solid rgba(255,255,255,.2);box-shadow:0 0 80px rgba(0,0,0,.3)}.tag--type:hover{background-color:var(--accent-blue);border-color:var(--accent-blue);color:var(--bg-primary)}.tag--category{background-color:transparent;color:var(--fg-muted);border-color:var(--fg-muted)}.tag--category:hover{background-color:var(--fg-muted);color:var(--bg-primary)}.tag--label{background-color:transparent;color:var(--fg-muted);border-color:var(--fg-muted)}.tag--label:hover{background-color:var(--fg-muted);color:var(--bg-primary)}.toc{background-color:var(--bg-primary) !important;border:1px solid var(--fg-muted-darker);border-radius:var(--radius-default) !important;padding:0;margin:var(--space-lg)0;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.3)}.toc-header{background-color:transparent;padding:var(--space-md);display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--fg-muted-darker)}.toc-title{color:var(--fg-primary);font-size:var(--text-lg);margin:0;font-weight:500}.toc-toggle{background:0 0;border:none;color:var(--fg-primary);cursor:pointer;font-size:var(--text-lg);padding:var(--space-xs);border-radius:var(--radius-default);transition:all var(--transition-default)ease;font-family:var(--font-code)}.toc-toggle:hover{color:var(--accent-blue)}.toc-content{padding:var(--space-sm);max-height:600px;overflow-y:auto;transition:max-height var(--transition-default)ease,opacity var(--transition-default)ease;height:auto !important}.toc-content.collapsed{max-height:0;opacity:0;padding:0;overflow:hidden}.toc-link{align-items:baseline;border:none;color:var(--fg-secondary);display:flex;padding:2px 0;position:relative;transition:transform .2s ease;z-index:2}.toc-link:hover{color:var(--accent-blue);transition:all var(--transition-default);text-decoration-color:var(--accent-blue);text-decoration:underline}.toc-connector{color:var(--accent-blue);white-space:pre;font-family:var(--font-code);user-select:none}.toc-bullet{opacity:1;font-family:var(--font-body);color:var(--accent-yellow);margin:0 .75rem 0 .5rem}.toc-text{color:var(--fg-secondary);transition:color .2s ease}.toc-content ul,.toc-content ol{list-style:none;padding-left:0;margin:0}.toc-content li>a{display:block;padding:.25rem 0}.toc-scroll-wrapper{position:relative;overflow:hidden}.toc-content{overflow-y:auto;height:100%;padding:var(--space-sm)}.toc-content.collapsed{max-height:0;opacity:0;padding:0;overflow:hidden}.toc-fade-bottom{position:absolute;bottom:0;left:0;height:6rem;width:100%;pointer-events:none;z-index:10;background:linear-gradient(to top,var(--bg-primary),transparent);opacity:1;transition:opacity .2s ease}.toc-scroll-wrapper.hide-fade .toc-fade-bottom{opacity:0}.ascii-toc{font-family:var(--font-code,monospace);line-height:1}.ascii-line{display:block;white-space:pre;color:var(--fg-secondary);text-decoration:none;padding:0 .5rem;border-radius:var(--radius-sm);transition:background-color .2s ease}.ascii-line:hover{background-color:var(--bg-hover)}.ascii-line:hover .ascii-label{color:var(--accent-blue);text-decoration:underline}.ascii-prefix{color:var(--fg-muted-darker);pointer-events:none;user-select:none}.ascii-label{color:inherit;text-decoration:none}.chroma,.bg{color:var(--fg-primary);background-color:var(--bg-code)}.chroma .hl{background-color:var(--rh-base02)}.chroma .lnt,.chroma .ln,.chroma .lnlinks{color:var(--fg-muted);user-select:none}.chroma .lntable,.chroma .lntd{border:0;padding:0;margin:0}.chroma .c,.chroma .ch,.chroma .cm,.chroma .c1,.chroma .cs,.chroma .cp,.chroma .cpf{color:var(--rh-base03);font-style:italic}.chroma .k,.chroma .kd,.chroma .kn,.chroma .kp,.chroma .kr{color:var(--rh-base0E);font-weight:500}.chroma .kt,.chroma .kc{color:var(--rh-base0A)}.chroma .nf,.chroma .fm,.chroma .nd{color:var(--accent-blue);font-weight:600}.chroma .s,.chroma .sa,.chroma .sb,.chroma .sc,.chroma .sd,.chroma .s1,.chroma .s2,.chroma .se,.chroma .sh,.chroma .si,.chroma .sx,.chroma .sr,.chroma .ss{color:var(--rh-base0B)}.chroma .m,.chroma .mb,.chroma .mf,.chroma .mh,.chroma .mi,.chroma .il,.chroma .mo{color:var(--rh-base09)}.chroma .o,.chroma .ow{color:var(--rh-base05)}.chroma .p{color:var(--fg-primary)}.chroma .n,.chroma .na,.chroma .nb,.chroma .nc,.chroma .no,.chroma .ni,.chroma .ne,.chroma .nl,.chroma .nn,.chroma .nt,.chroma .nv,.chroma .vc,.chroma .vg,.chroma .vi,.chroma .nx{color:var(--fg-primary)}.chroma .gd{color:var(--rh-base08)}.chroma .gi{color:var(--rh-base0B);font-weight:500}.chroma .w{color:inherit}blockquote{margin:var(--space-lg)0;padding:var(--space-md)var(--space-lg);border-left:2px solid var(--accent-blue);border-right:1px solid var(--bg-tertiary);border-top:1px solid var(--bg-tertiary);border-bottom:1px solid var(--bg-tertiary);background-color:var(--bg-primary);border-radius:var(--radius-default);font-style:normal;position:relative}blockquote::before{content:none}blockquote p{margin-bottom:0;color:var(--fg-secondary)}blockquote p:not(:last-child){margin-bottom:var(--space-md)}.quote p:first-child{font-family:var(--font-serif);font-size:var(--font-size-3);color:var(--fg-primary)}.quote p:last-child{font-family:var(--font-serif);font-style:italic;font-size:var(--font-size-3);color:var(--fg-primary)}.quote p:last-child::before{content:"— "}.callout{padding:var(--space-lg);background-color:var(--bg-primary);box-shadow:inset 0 0 0 1px var(--bg-tertiary),0 4px 12px rgba(0,0,0,.2)}.callout p{color:var(--fg-primary);text-align:left}.callout-title{display:flex;align-items:center;gap:var(--space-sm);font-weight:var(--font-weight-medium);font-size:var(--text-sm);margin-bottom:var(--space-md);text-transform:uppercase;letter-spacing:.05em}.callout-note{border-left-color:var(--accent-blue)}.callout-note .callout-title{color:var(--accent-blue)}.callout-tip{border-left-color:var(--accent-green)}.callout-tip .callout-title{color:var(--accent-green)}.callout-important{border-left-color:var(--accent-purple)}.callout-important .callout-title{color:var(--accent-purple)}.callout-warning{border-left-color:var(--accent-yellow)}.callout-warning .callout-title{color:var(--accent-yellow)}.callout-caution,.callout-danger{border-left-color:var(--accent-red)}.callout-caution .callout-title,.callout-danger .callout-title{color:var(--accent-red)}.single-content ul,.single-content ol{margin:var(--space-sm)0;padding-left:0;list-style:none}.single-content ul li,.single-content ol li{position:relative;padding-left:calc(var(--space-md) + 1.2ch);margin-bottom:var(--space-xs);line-height:1.6}.single-content ul li::before{content:"•";color:var(--accent-yellow);position:absolute;left:0;top:.05em;width:var(--space-md);text-align:center}.single-content ol{counter-reset:list-counter}.single-content ol li{counter-increment:list-counter}.single-content ol li::before{content:counter(list-counter)".";color:var(--accent-yellow);font-weight:var(--font-weight-medium);position:absolute;left:0;top:.05em;width:var(--space-md);text-align:right}.single-content li:has(>input[type=checkbox]){position:relative;padding-left:calc(var(--space-md) + 1.2ch);margin-bottom:var(--space-xs);line-height:1.6;list-style:none}.single-content li:has(>input[type=checkbox])::before{content:none}.single-content li>input[type=checkbox]{appearance:none;-webkit-appearance:none;margin:0;cursor:default;width:1em;height:1em;display:inline-block;background-color:transparent;border:1px solid var(--fg-muted);border-radius:var(--radius-default);position:absolute;left:0;top:.5em;transition:border-color .1s ease-in-out}.single-content li>input[type=checkbox]::before{content:"⊹";position:absolute;font-size:.8em;line-height:1;top:50%;left:50%;transform:translate(-50%,-55%)scale(0);color:var(--accent-green);transition:transform 120ms ease-in-out}.single-content li>input[type=checkbox]:checked{border-color:var(--accent-green)}.single-content li>input[type=checkbox]:checked::before{transform:translate(-50%,-50%)scale(1)}.single-content li:has(>input[type=checkbox]:checked){color:var(--fg-muted)}.single-content li s,.single-content li del{color:inherit;text-decoration:line-through;text-decoration-color:rgba(228,104,118,.5)}.single-content figure{margin:var(--space-md)0;padding:0;text-align:center}.single-content img{max-width:100%;height:auto;display:block;margin:0 auto;border-radius:var(--radius-default);box-shadow:var(--shadow-sm);object-fit:cover}.single-content figure img{max-width:100%;width:100%;height:auto}.single-content figcaption{font-size:var(--text-md);color:var(--fg-secondary);margin-top:var(--space-md);text-align:center;line-height:1.4}.search-modal{position:fixed;inset:0;background:rgba(0,0,0,.75);display:flex;align-items:start;justify-content:center;padding:var(--space-2xl);z-index:10000}.search-box{background:var(--bg-primary);border:1px solid var(--bg-tertiary);border-radius:var(--radius-default);max-width:40rem;width:100%;padding:var(--space-md)}.search-input{width:100%;padding:var(--space-sm)var(--space-md);border:1px solid var(--accent-blue);font-size:var(--text-md);border-radius:var(--radius-default);background:var(--bg-secondary);color:var(--fg-primary)}.search-results{margin-top:var(--space-md);list-style:none;max-height:60vh;overflow-y:auto}.search-modal{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(6px);z-index:9999;display:flex;align-items:start;justify-content:center;padding-top:10vh}.search-modal.hidden{display:none}.search-box{background:var(--bg-primary);border-radius:var(--radius-default);width:90%;max-width:800px;box-shadow:var(--shadow-lg);padding:var(--space-md)}.search-input{width:100%;padding:var(--space-sm)var(--space-md);font-size:1rem;border:1px solid var(--bg-tertiary);border-radius:var(--radius-default);margin-bottom:var(--space-md)}.search-results{list-style:none;padding:0;margin:0;max-height:60vh;overflow-y:auto}.search-result{margin-bottom:var(--space-sm)}.search-result a{display:block;text-decoration:none;color:var(--fg-primary);padding:var(--space-sm);border-radius:var(--radius-default);transition:background .2s ease}.search-result a:hover,.search-result a:focus{background:var(--bg-secondary);outline:none}.search-empty{color:var(--fg-muted);padding:var(--space-sm);font-style:italic}.mosaic-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-lg);margin-top:var(--space-xl)}.mosaic-card{border:1px solid var(--fg-muted);border-radius:var(--radius-default);padding:var(--space-lg);background-color:var(--bg-primary);box-shadow:var(--shadow-md);display:flex;flex-direction:column;justify-content:space-between}.mosaic-title{font-size:var(--text-lg);margin-bottom:var(--space-sm);color:var(--fg-primary)}.mosaic-desc{font-size:var(--text-md);color:var(--fg-secondary);margin-bottom:var(--space-md)}.nav-brand .logo{display:block;height:4rem;width:auto;max-width:100%;flex-shrink:0;fill:currentColor;color:currentColor;pointer-events:none;transition:transform .2s ease}.nav-brand:hover .logo{filter:drop-shadow(0 0 3px var(--fg-primary));transition:all var(--transition-default)ease}.nav-brand .logo-full{display:block;height:4rem;width:auto;max-width:100%;flex-shrink:0;pointer-events:none;transition:transform .2s ease}.nav-brand .logo-full path{fill:var(--fg-muted) !important;stroke:var(--fg-muted) !important}.term-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-lg);margin-top:var(--space-md)}.term-card{display:flex;flex-direction:column;justify-content:space-between;border:1px solid rgba(255,255,255,.12);border-radius:var(--radius-default);background:linear-gradient( 145deg,rgba(255,255,255,2%),rgba(255,255,255,.015) );backdrop-filter:blur(12px);box-shadow:0 4px 20px rgba(0,0,0,.25);padding:var(--space-lg);text-decoration:none;transition:border-color var(--transition-default)ease}.term-card:hover{border-color:var(--accent-blue)}.term-card-title{font-size:var(--text-lg);font-weight:600;color:var(--fg-primary);margin-bottom:var(--space-xs)}.term-card-count{font-size:var(--text-sm);color:var(--fg-muted)}.project-languages{display:block;margin:var(--space-lg)0;padding:20px;border:1px solid var(--fg-muted-darker);border-radius:var(--radius-default)}.language-stack{display:flex;height:12px;width:100%;border-radius:var(--radius-default);overflow:hidden;background:var(--bg-muted);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.language-segment{height:100%;min-width:2%;transition:opacity .15s ease}.language-segment:hover{opacity:.8}.language-legend{font-size:.85em;color:var(--fg-primary);margin-top:1rem;display:flex;gap:1em;flex-wrap:wrap}.language-legend--columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5em 2em}.lang-label{display:flex;align-items:center;gap:.4em;white-space:nowrap}.lang-label-text{font-size:var(--size-md);display:inline-block;padding:0;margin:0}.lang-dot{display:inline-block;width:.75em;height:.75em;border-radius:999px;flex-shrink:0}.project-status{display:inline-flex;align-items:center;font-size:var(--text-sm);font-weight:500;margin:var(--space-md);gap:1ch;padding:var(--space-xs)var(--space-sm);border-radius:var(--radius-default);background:rgba(255,255,255,3%);border:1px solid var(--fg-muted-darker);width:fit-content}.status-indicator{display:inline-block;width:.6em;height:.6em;border-radius:50%;box-shadow:0 0 6px currentColor;background-color:currentColor}.status--shipped .status-indicator{color:var(--rh-teal)}.status--development .status-indicator{color:var(--rh-blue)}.status--archived .status-indicator{color:var(--fg-muted)}.status--canceled .status-indicator{color:var(--rh-crimson)}.status--unknown .status-indicator{color:var(--accent-yellow)}.project-symbol-wrapper{display:flex;justify-content:center;margin:0;padding:0}.project-symbol-box{border:1px solid var(--fg-muted);border-radius:var(--radius-default);border-color:var(--fg-muted-darker);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-md);width:5.5rem;height:6.5rem;background-color:var(--bg-primary);box-shadow:var(--shadow-lg);cursor:pointer;transition:border-color var(--transition-default),background-color var(--transition-default);z-index:5}.project-symbol-box:hover{border-color:var(--accent-blue);background-color:var(--bg-secondary)}.project-logo svg{width:100%;height:auto;display:block;margin:auto}.project-abbreviation{font-size:var(--font-size-6);font-weight:200;color:var(--fg-primary);line-height:1;margin-bottom:var(--space-xs)}.project-title{font-size:.9rem;font-weight:500;color:var(--fg-secondary);margin-bottom:var(--space-xs)}.project-serial{font-family:var(--font-mono);font-size:.75rem;color:var(--fg-muted)}.project-symbol-box.symbol--card{border-color:var(--fg-muted-darker);background-color:transparent}.project-symbol-box.symbol--card:hover{background-color:var(--bg-secondary)}.timeline{position:relative;display:flex;flex-direction:column;gap:var(--space-xl);padding-bottom:0}.timeline::before{content:'';position:absolute;left:1rem;top:var(--timeline-top,0);height:var(--timeline-height,0);width:1px;background-color:var(--fg-muted-darker);z-index:0}.timeline-entry{display:flex;align-items:flex-start;position:relative}.timeline-date{margin-bottom:1rem}.timeline-marker{position:relative;width:2rem;display:flex;justify-content:center}.timeline-bullet{position:relative;top:.4rem;width:.85rem;height:.85rem;border-radius:50%;background:var(--bg-primary);border:1.5px solid var(--fg-secondary);z-index:1}.timeline-body{flex:1;padding-left:var(--space-md)}.about-section .section-heading,.single-content h2,.single-content h3,.single-content h4,.single-content h5{display:flex;align-items:center;gap:.5rem}.header-anchor{display:inline-flex;align-items:center;justify-content:center;margin-right:var(--space-xs);margin-bottom:5px;opacity:1;transition:opacity .2s ease;color:var(--fg-primary);height:100%}h1:hover .header-anchor,h2:hover .header-anchor,h3:hover .header-anchor,h4:hover .header-anchor,h5:hover .header-anchor{color:var(--fg-primary);opacity:1}.anchor-icon{display:block;fill:currentColor;pointer-events:none;transform:translateY(1px);filter:drop-shadow(0 0 5px currentColor)}.hero-about{width:100%;height:100dvh;background:url(/images/processed/site/tA-d-ERenW0--balloons_03.webp)no-repeat 50%;background-size:cover;display:flex;margin:auto;align-items:center;justify-content:center}.hero-about::before{content:"";position:absolute;inset:0;background:linear-gradient( to bottom,rgba(3,5,7,.2),#030507 );z-index:1;pointer-events:none}.pillars-container{width:100%;max-width:100%;z-index:2;display:flex;align-items:center;justify-content:center}.pillars-diagram{max-width:700px;width:100%;height:auto;display:block;overflow:visible}.central-hexagon{transition:stroke .3s ease;stroke-width:1px;stroke:var(--fg-primary)}.central-circle{stroke:var(--fg-primary);stroke-width:1px}.node-line{stroke-width:1px;stroke:var(--fg-primary)}.pillar-node{cursor:pointer}.pillar-node circle{pointer-events:none;fill:var(--fg-primary);stroke-width:0;filter:drop-shadow(0 0 5px var(--fg-primary))}.pillar-node.active circle{}.pillar-label{font-family:var(--font-sans);font-size:var(--font-size-1);font-weight:var(--font-weight-normal);fill:var(--fg-primary);pointer-events:none}.node-top .pillar-label{transform:translateY(-30px)}.node-bottom .pillar-label{transform:translateY(30px)}@keyframes pulseCentral{0%{stroke:var(--fg-primary);stroke-width:1px}25%{stroke:var(--fg-muted);stroke-width:1px}50%{stroke:var(--fg-muted-darker);stroke-width:1px;filter:drop-shadow(0 0 12px var(--fg-muted-darker))}75%{stroke:var(--fg-muted);stroke-width:1px}100%{stroke:var(--fg-primary);stroke-width:1px}}@keyframes pulseHexagon{0%{stroke:var(--fg-muted);filter:drop-shadow(0 0 4px var(--fg-muted))}33%{stroke:var(--fg-muted-darker);filter:drop-shadow(0 0 8px var(--fg-muted-darker))}66%{stroke:var(--fg-muted);filter:drop-shadow(0 0 6px var(--fg-muted))}100%{stroke:var(--fg-muted);filter:drop-shadow(0 0 4px var(--fg-muted))}}@keyframes pulseLine{0%{stroke:var(--fg-primary);stroke-width:1px}25%{stroke:var(--fg-muted);stroke-width:1px}50%{stroke:var(--fg-muted-darker);stroke-width:1px;filter:drop-shadow(0 0 8px var(--fg-muted-darker))}75%{stroke:var(--fg-muted);stroke-width:1px}100%{stroke:var(--fg-primary);stroke-width:1px}}@keyframes pulseNode{0%{fill:var(--fg-primary);filter:drop-shadow(0 0 4px var(--fg-primary))}25%{fill:var(--fg-muted);filter:drop-shadow(0 0 6px var(--fg-muted))}50%{fill:var(--fg-muted-darker);filter:drop-shadow(0 0 10px var(--fg-muted-darker))}75%{fill:var(--fg-muted);filter:drop-shadow(0 0 6px var(--fg-muted))}100%{fill:var(--fg-primary);filter:drop-shadow(0 0 4px var(--fg-primary))}}.central-circle.is-pulsing{animation:pulseCentral 1s ease-in-out}.central-hexagon.is-pulsing{animation:pulseCentral 1s ease-in-out}.node-line.is-pulsing{animation:pulseLine 1s ease-in-out}.pillar-node circle.is-pulsing{animation:pulseNode 1s ease-in-out}.pagination-nav{display:flex;justify-content:space-between;margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--color-border-muted)}.pagination-link{font-family:var(--font-sans);font-size:1rem;padding:.5rem 1rem;text-decoration:none;border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);transition:all .2s ease}.pagination-link:hover{color:var(--color-text);border-color:var(--color-primary);background-color:var(--color-surface-hover)}.pagination-prev{align-self:flex-start}.pagination-next{align-self:flex-end}.single-nav{display:grid;grid-template-columns:1fr 1fr;border-top:solid 1px var(--fg-muted-darker);padding:var(--space-lg)0}.single-nav>:first-child{justify-self:start}.single-nav>:last-child{justify-self:end}.katex{font-size:1.1em}.katex-display{margin:var(--space-lg)0;text-align:center}.table-wrapper{overflow-x:auto;margin:var(--space-md)0;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.custom-table{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:.875rem;background:var(--bg-surface);color:var(--fg-primary);min-width:600px}.custom-table th,.custom-table td{padding:var(--space-xs)var(--space-sm);border:1px solid var(--border-muted);white-space:nowrap;text-align:left}.custom-table th{background:var(--bg-muted);font-weight:600;color:var(--accent-yellow)}.datablock-wrapper{overflow-x:auto;margin:var(--space-md)0;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm)}.datablock-table{border:1px solid var(--bg-tertiary);width:100%;border-collapse:collapse;font-family:var(--font-sans);font-size:1rem;background:var(--bg-surface);color:var(--fg-primary);min-width:600px}.datablock-table thead tr{border-bottom:1px solid var(--fg-primary)}.datablock-table tbody tr{border-bottom:1px solid var(--bg-tertiary)}.datablock-table tbody tr:hover{background-color:rgba(127,180,202,7%);transition:all var(--transition-default)ease}.datablock-table tbody td:hover{background-color:rgba(127,180,202,.1);color:var(--fg-primary);transition:all var(--transition-default)ease}.datablock-table td{color:var(--fg-secondary);padding:var(--space-sm)var(--space-lg);vertical-align:top;border-bottom:1px solid var(--bg-tertiary);border-left:1px solid var(--bg-tertiary);border-right:1px solid var(--bg-tertiary)}.datablock-table th{color:var(--fg-primary);font-weight:500;padding:var(--space-lg);text-align:left;border-left:1px solid var(--bg-tertiary);border-right:1px solid var(--bg-tertiary)}.datablock-table th{position:relative;user-select:none;cursor:pointer}.datablock-table th::after{content:"";position:absolute;top:50%;padding-left:5px;transform:translateY(-50%);font-size:.75em;opacity:.4}.datablock-table th.sorted-asc::after{content:"▲";opacity:1}.datablock-table th.sorted-desc::after{content:"▼";opacity:1}.scroll-indicator{position:fixed;padding:var(--space-md)var(--space-lg);bottom:var(--space-sm);left:50%;transform:translateX(-50%);width:180px;height:8px;border-radius:var(--radius-xl);overflow:hidden;z-index:999}.glass-content{position:relative;z-index:2;height:100%;border-radius:inherit}.scroll-indicator-bar{height:100%;width:0;background:rgba(255,255,255,.9);border-radius:inherit;transition:width .1s ease-out;box-shadow:0 0 8px var(--fg-primary),0 0 4px var(--fg-primary)}.contact-form{display:grid;grid-template-columns:1fr;gap:1.5rem;width:100%}.contact-form .form-group{display:flex;flex-direction:column}.contact-form .form-group.full-width{grid-column:1/-1}.contact-form label{color:var(--fg-primary);margin-bottom:.5rem;font-weight:var(--font-weight-medium)}.contact-form input,.contact-form textarea{font-size:1rem;padding:var(--space-sm)var(--space-md);border:1px solid var(--fg-primary);border-radius:var(--radius-default);background:var(--color-bg);color:var(--color-text);resize:vertical;min-height:44px}.contact-form textarea{resize:vertical;max-width:100%;padding:var(--space-sm)var(--space-md)}.contact-form .form-actions{text-align:left}.glass--1-3{-webkit-backdrop-filter:blur(60px);backdrop-filter:blur(10px);background:rgba(39,39,39,.1);box-shadow:0 0 80px rgba(0,0,0,.3)}.glass--2-3{-webkit-backdrop-filter:blur(60px);backdrop-filter:blur(10px);background:rgba(39,39,39,.1);box-shadow:0 0 80px rgba(0,0,0,.3)}.glass--3-3{-webkit-backdrop-filter:blur(60px);backdrop-filter:blur(50px);background:rgba(39,39,39,.3);box-shadow:0 0 80px rgba(0,0,0,.3)}.glass-border{position:absolute;inset:0;padding:1px;border-radius:inherit;background:linear-gradient( 90deg,var(--rh-plum),var(--rh-rose),var(--rh-crimson),var(--rh-mulberry),var(--accent-purple),var(--rh-plum) );background-size:300% 100%;background-position:0;-webkit-mask:linear-gradient(#fff 0 0)content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:1;transition:background-position .15s ease-out}::-webkit-scrollbar{display:none}::selection{background:var(--rh-yellow);color:var(--bg-primary)}::-moz-selection{background:var(--rh-yellow);color:var(--bg-primary)}html,body{margin:0}body{display:flex;min-height:100vh;flex-direction:column;background-color:var(--bg-primary);color:var(--fg-primary);font-family:var(--font-body);font-size:1rem;line-height:1.6;scrollbar-width:none !important}.content-section{padding:var(--space-md)var(--space-lg);background-color:var(--bg-primary)}.main-content{flex:1}.container-top{max-width:var(--max-width);margin-left:auto;margin-right:auto;padding:var(--space-4xl)var(--space-lg)}.container-top-docs{max-width:var(--max-width);margin-left:auto;margin-right:auto;padding:0 var(--space-lg)}.container-mid{max-width:var(--max-width);margin-left:auto;margin-right:auto}.recent-container{padding:0}.single-page{max-width:var(--max-width);margin:0 auto}.single-header{margin-bottom:var(--space-xl);padding-bottom:var(--space-lg);border-bottom:1px solid var(--fg-muted-darker);text-align:center}.single-content{line-height:1.7;margin-bottom:var(--space-xl)}