/* AUTO-GENERATED by _build_fonts.py — Type Lab wide font library (self-hosted) */
@font-face{font-family:'Press Start 2P';font-weight:400;font-display:swap;src:url('fonts/press-start-2p-400.woff2') format('woff2')}
@font-face{font-family:'Jersey 10';font-weight:400;font-display:swap;src:url('fonts/jersey-10-400.woff2') format('woff2')}
@font-face{font-family:'Jersey 15';font-weight:400;font-display:swap;src:url('fonts/jersey-15-400.woff2') format('woff2')}
@font-face{font-family:'Jersey 25';font-weight:400;font-display:swap;src:url('fonts/jersey-25-400.woff2') format('woff2')}
@font-face{font-family:'Handjet';font-weight:400;font-display:swap;src:url('fonts/handjet-400.woff2') format('woff2')}
@font-face{font-family:'Handjet';font-weight:700;font-display:swap;src:url('fonts/handjet-700.woff2') format('woff2')}
@font-face{font-family:'Tiny5';font-weight:400;font-display:swap;src:url('fonts/tiny5-400.woff2') format('woff2')}
@font-face{font-family:'Workbench';font-weight:400;font-display:swap;src:url('fonts/workbench-400.woff2') format('woff2')}
@font-face{font-family:'DotGothic16';font-weight:400;font-display:swap;src:url('fonts/dotgothic16-400.woff2') format('woff2')}
@font-face{font-family:'Monomaniac One';font-weight:400;font-display:swap;src:url('fonts/monomaniac-one-400.woff2') format('woff2')}
@font-face{font-family:'Bungee';font-weight:400;font-display:swap;src:url('fonts/bungee-400.woff2') format('woff2')}
@font-face{font-family:'Bungee Shade';font-weight:400;font-display:swap;src:url('fonts/bungee-shade-400.woff2') format('woff2')}
@font-face{font-family:'Rubik Glitch';font-weight:400;font-display:swap;src:url('fonts/rubik-glitch-400.woff2') format('woff2')}
@font-face{font-family:'Rubik Pixels';font-weight:400;font-display:swap;src:url('fonts/rubik-pixels-400.woff2') format('woff2')}
@font-face{font-family:'Rubik Wet Paint';font-weight:400;font-display:swap;src:url('fonts/rubik-wet-paint-400.woff2') format('woff2')}
@font-face{font-family:'Rubik Moonrocks';font-weight:400;font-display:swap;src:url('fonts/rubik-moonrocks-400.woff2') format('woff2')}
@font-face{font-family:'Kode Mono';font-weight:400;font-display:swap;src:url('fonts/kode-mono-400.woff2') format('woff2')}
@font-face{font-family:'Kode Mono';font-weight:700;font-display:swap;src:url('fonts/kode-mono-700.woff2') format('woff2')}
@font-face{font-family:'Silkscreen';font-weight:400;font-display:swap;src:url('fonts/silkscreen-400.woff2') format('woff2')}
@font-face{font-family:'Silkscreen';font-weight:700;font-display:swap;src:url('fonts/silkscreen-700.woff2') format('woff2')}
@font-face{font-family:'Pixelify Sans';font-weight:400;font-display:swap;src:url('fonts/pixelify-sans-400.woff2') format('woff2')}
@font-face{font-family:'Pixelify Sans';font-weight:700;font-display:swap;src:url('fonts/pixelify-sans-700.woff2') format('woff2')}
@font-face{font-family:'VT323';font-weight:400;font-display:swap;src:url('fonts/vt323-400.woff2') format('woff2')}
@font-face{font-family:'Micro 5';font-weight:400;font-display:swap;src:url('fonts/micro-5-400.woff2') format('woff2')}
@font-face{font-family:'Space Grotesk';font-weight:400;font-display:swap;src:url('fonts/space-grotesk-400.woff2') format('woff2')}
@font-face{font-family:'Space Grotesk';font-weight:700;font-display:swap;src:url('fonts/space-grotesk-700.woff2') format('woff2')}
@font-face{font-family:'Sora';font-weight:400;font-display:swap;src:url('fonts/sora-400.woff2') format('woff2')}
@font-face{font-family:'Sora';font-weight:700;font-display:swap;src:url('fonts/sora-700.woff2') format('woff2')}
@font-face{font-family:'Inter Tight';font-weight:400;font-display:swap;src:url('fonts/inter-tight-400.woff2') format('woff2')}
@font-face{font-family:'Inter Tight';font-weight:700;font-display:swap;src:url('fonts/inter-tight-700.woff2') format('woff2')}
@font-face{font-family:'Geist';font-weight:400;font-display:swap;src:url('fonts/geist-400.woff2') format('woff2')}
@font-face{font-family:'Geist';font-weight:700;font-display:swap;src:url('fonts/geist-700.woff2') format('woff2')}
@font-face{font-family:'Outfit';font-weight:400;font-display:swap;src:url('fonts/outfit-400.woff2') format('woff2')}
@font-face{font-family:'Outfit';font-weight:700;font-display:swap;src:url('fonts/outfit-700.woff2') format('woff2')}
@font-face{font-family:'Plus Jakarta Sans';font-weight:400;font-display:swap;src:url('fonts/plus-jakarta-sans-400.woff2') format('woff2')}
@font-face{font-family:'Plus Jakarta Sans';font-weight:700;font-display:swap;src:url('fonts/plus-jakarta-sans-700.woff2') format('woff2')}
@font-face{font-family:'Bricolage Grotesque';font-weight:400;font-display:swap;src:url('fonts/bricolage-grotesque-400.woff2') format('woff2')}
@font-face{font-family:'Bricolage Grotesque';font-weight:700;font-display:swap;src:url('fonts/bricolage-grotesque-700.woff2') format('woff2')}
@font-face{font-family:'Syne';font-weight:400;font-display:swap;src:url('fonts/syne-400.woff2') format('woff2')}
@font-face{font-family:'Syne';font-weight:700;font-display:swap;src:url('fonts/syne-700.woff2') format('woff2')}
@font-face{font-family:'Unbounded';font-weight:400;font-display:swap;src:url('fonts/unbounded-400.woff2') format('woff2')}
@font-face{font-family:'Unbounded';font-weight:700;font-display:swap;src:url('fonts/unbounded-700.woff2') format('woff2')}
@font-face{font-family:'Schibsted Grotesk';font-weight:400;font-display:swap;src:url('fonts/schibsted-grotesk-400.woff2') format('woff2')}
@font-face{font-family:'Schibsted Grotesk';font-weight:700;font-display:swap;src:url('fonts/schibsted-grotesk-700.woff2') format('woff2')}
@font-face{font-family:'Familjen Grotesk';font-weight:400;font-display:swap;src:url('fonts/familjen-grotesk-400.woff2') format('woff2')}
@font-face{font-family:'Familjen Grotesk';font-weight:700;font-display:swap;src:url('fonts/familjen-grotesk-700.woff2') format('woff2')}
@font-face{font-family:'Onest';font-weight:400;font-display:swap;src:url('fonts/onest-400.woff2') format('woff2')}
@font-face{font-family:'Onest';font-weight:700;font-display:swap;src:url('fonts/onest-700.woff2') format('woff2')}
@font-face{font-family:'Lexend';font-weight:400;font-display:swap;src:url('fonts/lexend-400.woff2') format('woff2')}
@font-face{font-family:'Lexend';font-weight:700;font-display:swap;src:url('fonts/lexend-700.woff2') format('woff2')}
@font-face{font-family:'Epilogue';font-weight:400;font-display:swap;src:url('fonts/epilogue-400.woff2') format('woff2')}
@font-face{font-family:'Epilogue';font-weight:700;font-display:swap;src:url('fonts/epilogue-700.woff2') format('woff2')}
@font-face{font-family:'Archivo';font-weight:400;font-display:swap;src:url('fonts/archivo-400.woff2') format('woff2')}
@font-face{font-family:'Archivo';font-weight:700;font-display:swap;src:url('fonts/archivo-700.woff2') format('woff2')}
@font-face{font-family:'Urbanist';font-weight:400;font-display:swap;src:url('fonts/urbanist-400.woff2') format('woff2')}
@font-face{font-family:'Urbanist';font-weight:700;font-display:swap;src:url('fonts/urbanist-700.woff2') format('woff2')}
@font-face{font-family:'DM Sans';font-weight:400;font-display:swap;src:url('fonts/dm-sans-400.woff2') format('woff2')}
@font-face{font-family:'DM Sans';font-weight:700;font-display:swap;src:url('fonts/dm-sans-700.woff2') format('woff2')}
@font-face{font-family:'Gabarito';font-weight:400;font-display:swap;src:url('fonts/gabarito-400.woff2') format('woff2')}
@font-face{font-family:'Gabarito';font-weight:700;font-display:swap;src:url('fonts/gabarito-700.woff2') format('woff2')}
@font-face{font-family:'Chivo';font-weight:400;font-display:swap;src:url('fonts/chivo-400.woff2') format('woff2')}
@font-face{font-family:'Chivo';font-weight:700;font-display:swap;src:url('fonts/chivo-700.woff2') format('woff2')}
@font-face{font-family:'Red Hat Display';font-weight:400;font-display:swap;src:url('fonts/red-hat-display-400.woff2') format('woff2')}
@font-face{font-family:'Red Hat Display';font-weight:700;font-display:swap;src:url('fonts/red-hat-display-700.woff2') format('woff2')}
@font-face{font-family:'Libre Franklin';font-weight:400;font-display:swap;src:url('fonts/libre-franklin-400.woff2') format('woff2')}
@font-face{font-family:'Libre Franklin';font-weight:700;font-display:swap;src:url('fonts/libre-franklin-700.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-weight:400;font-display:swap;src:url('fonts/montserrat-400.woff2') format('woff2')}
@font-face{font-family:'Montserrat';font-weight:700;font-display:swap;src:url('fonts/montserrat-700.woff2') format('woff2')}
@font-face{font-family:'Poppins';font-weight:400;font-display:swap;src:url('fonts/poppins-400.woff2') format('woff2')}
@font-face{font-family:'Poppins';font-weight:700;font-display:swap;src:url('fonts/poppins-700.woff2') format('woff2')}
@font-face{font-family:'Raleway';font-weight:400;font-display:swap;src:url('fonts/raleway-400.woff2') format('woff2')}
@font-face{font-family:'Raleway';font-weight:700;font-display:swap;src:url('fonts/raleway-700.woff2') format('woff2')}
@font-face{font-family:'Jost';font-weight:400;font-display:swap;src:url('fonts/jost-400.woff2') format('woff2')}
@font-face{font-family:'Jost';font-weight:700;font-display:swap;src:url('fonts/jost-700.woff2') format('woff2')}
@font-face{font-family:'Be Vietnam Pro';font-weight:400;font-display:swap;src:url('fonts/be-vietnam-pro-400.woff2') format('woff2')}
@font-face{font-family:'Be Vietnam Pro';font-weight:700;font-display:swap;src:url('fonts/be-vietnam-pro-700.woff2') format('woff2')}
@font-face{font-family:'Anybody';font-weight:400;font-display:swap;src:url('fonts/anybody-400.woff2') format('woff2')}
@font-face{font-family:'Anybody';font-weight:700;font-display:swap;src:url('fonts/anybody-700.woff2') format('woff2')}
@font-face{font-family:'Darker Grotesque';font-weight:400;font-display:swap;src:url('fonts/darker-grotesque-400.woff2') format('woff2')}
@font-face{font-family:'Darker Grotesque';font-weight:700;font-display:swap;src:url('fonts/darker-grotesque-700.woff2') format('woff2')}
@font-face{font-family:'Instrument Sans';font-weight:400;font-display:swap;src:url('fonts/instrument-sans-400.woff2') format('woff2')}
@font-face{font-family:'Instrument Sans';font-weight:700;font-display:swap;src:url('fonts/instrument-sans-700.woff2') format('woff2')}
@font-face{font-family:'Fraunces';font-weight:400;font-display:swap;src:url('fonts/fraunces-400.woff2') format('woff2')}
@font-face{font-family:'Fraunces';font-weight:700;font-display:swap;src:url('fonts/fraunces-700.woff2') format('woff2')}
@font-face{font-family:'Playfair Display';font-weight:400;font-display:swap;src:url('fonts/playfair-display-400.woff2') format('woff2')}
@font-face{font-family:'Playfair Display';font-weight:700;font-display:swap;src:url('fonts/playfair-display-700.woff2') format('woff2')}
@font-face{font-family:'DM Serif Display';font-weight:400;font-display:swap;src:url('fonts/dm-serif-display-400.woff2') format('woff2')}
@font-face{font-family:'Instrument Serif';font-weight:400;font-display:swap;src:url('fonts/instrument-serif-400.woff2') format('woff2')}
@font-face{font-family:'Spectral';font-weight:400;font-display:swap;src:url('fonts/spectral-400.woff2') format('woff2')}
@font-face{font-family:'Spectral';font-weight:700;font-display:swap;src:url('fonts/spectral-700.woff2') format('woff2')}
@font-face{font-family:'Inter';font-weight:400;font-display:swap;src:url('fonts/inter-400.woff2') format('woff2')}
@font-face{font-family:'Inter';font-weight:700;font-display:swap;src:url('fonts/inter-700.woff2') format('woff2')}
@font-face{font-family:'Figtree';font-weight:400;font-display:swap;src:url('fonts/figtree-400.woff2') format('woff2')}
@font-face{font-family:'Figtree';font-weight:700;font-display:swap;src:url('fonts/figtree-700.woff2') format('woff2')}
@font-face{font-family:'Hanken Grotesk';font-weight:400;font-display:swap;src:url('fonts/hanken-grotesk-400.woff2') format('woff2')}
@font-face{font-family:'Hanken Grotesk';font-weight:700;font-display:swap;src:url('fonts/hanken-grotesk-700.woff2') format('woff2')}
@font-face{font-family:'Public Sans';font-weight:400;font-display:swap;src:url('fonts/public-sans-400.woff2') format('woff2')}
@font-face{font-family:'Public Sans';font-weight:700;font-display:swap;src:url('fonts/public-sans-700.woff2') format('woff2')}
@font-face{font-family:'Albert Sans';font-weight:400;font-display:swap;src:url('fonts/albert-sans-400.woff2') format('woff2')}
@font-face{font-family:'Albert Sans';font-weight:700;font-display:swap;src:url('fonts/albert-sans-700.woff2') format('woff2')}
@font-face{font-family:'Atkinson Hyperlegible';font-weight:400;font-display:swap;src:url('fonts/atkinson-hyperlegible-400.woff2') format('woff2')}
@font-face{font-family:'Atkinson Hyperlegible';font-weight:700;font-display:swap;src:url('fonts/atkinson-hyperlegible-700.woff2') format('woff2')}
@font-face{font-family:'Work Sans';font-weight:400;font-display:swap;src:url('fonts/work-sans-400.woff2') format('woff2')}
@font-face{font-family:'Work Sans';font-weight:700;font-display:swap;src:url('fonts/work-sans-700.woff2') format('woff2')}
@font-face{font-family:'Mulish';font-weight:400;font-display:swap;src:url('fonts/mulish-400.woff2') format('woff2')}
@font-face{font-family:'Mulish';font-weight:700;font-display:swap;src:url('fonts/mulish-700.woff2') format('woff2')}
@font-face{font-family:'Rubik';font-weight:400;font-display:swap;src:url('fonts/rubik-400.woff2') format('woff2')}
@font-face{font-family:'Rubik';font-weight:700;font-display:swap;src:url('fonts/rubik-700.woff2') format('woff2')}
@font-face{font-family:'Nunito Sans';font-weight:400;font-display:swap;src:url('fonts/nunito-sans-400.woff2') format('woff2')}
@font-face{font-family:'Nunito Sans';font-weight:700;font-display:swap;src:url('fonts/nunito-sans-700.woff2') format('woff2')}
@font-face{font-family:'Source Sans 3';font-weight:400;font-display:swap;src:url('fonts/source-sans-3-400.woff2') format('woff2')}
@font-face{font-family:'Source Sans 3';font-weight:700;font-display:swap;src:url('fonts/source-sans-3-700.woff2') format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-weight:400;font-display:swap;src:url('fonts/ibm-plex-sans-400.woff2') format('woff2')}
@font-face{font-family:'IBM Plex Sans';font-weight:700;font-display:swap;src:url('fonts/ibm-plex-sans-700.woff2') format('woff2')}
@font-face{font-family:'Karla';font-weight:400;font-display:swap;src:url('fonts/karla-400.woff2') format('woff2')}
@font-face{font-family:'Karla';font-weight:700;font-display:swap;src:url('fonts/karla-700.woff2') format('woff2')}
@font-face{font-family:'Readex Pro';font-weight:400;font-display:swap;src:url('fonts/readex-pro-400.woff2') format('woff2')}
@font-face{font-family:'Readex Pro';font-weight:700;font-display:swap;src:url('fonts/readex-pro-700.woff2') format('woff2')}
@font-face{font-family:'Spline Sans';font-weight:400;font-display:swap;src:url('fonts/spline-sans-400.woff2') format('woff2')}
@font-face{font-family:'Spline Sans';font-weight:700;font-display:swap;src:url('fonts/spline-sans-700.woff2') format('woff2')}
@font-face{font-family:'Space Mono';font-weight:400;font-display:swap;src:url('fonts/space-mono-400.woff2') format('woff2')}
@font-face{font-family:'Space Mono';font-weight:700;font-display:swap;src:url('fonts/space-mono-700.woff2') format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-weight:400;font-display:swap;src:url('fonts/ibm-plex-mono-400.woff2') format('woff2')}
@font-face{font-family:'IBM Plex Mono';font-weight:500;font-display:swap;src:url('fonts/ibm-plex-mono-500.woff2') format('woff2')}
@font-face{font-family:'Geist Mono';font-weight:400;font-display:swap;src:url('fonts/geist-mono-400.woff2') format('woff2')}
@font-face{font-family:'Geist Mono';font-weight:500;font-display:swap;src:url('fonts/geist-mono-500.woff2') format('woff2')}
@font-face{font-family:'Fira Code';font-weight:400;font-display:swap;src:url('fonts/fira-code-400.woff2') format('woff2')}
@font-face{font-family:'Fira Code';font-weight:700;font-display:swap;src:url('fonts/fira-code-700.woff2') format('woff2')}
@font-face{font-family:'Fira Mono';font-weight:400;font-display:swap;src:url('fonts/fira-mono-400.woff2') format('woff2')}
@font-face{font-family:'Fira Mono';font-weight:700;font-display:swap;src:url('fonts/fira-mono-700.woff2') format('woff2')}
@font-face{font-family:'Martian Mono';font-weight:400;font-display:swap;src:url('fonts/martian-mono-400.woff2') format('woff2')}
@font-face{font-family:'Martian Mono';font-weight:700;font-display:swap;src:url('fonts/martian-mono-700.woff2') format('woff2')}
@font-face{font-family:'Spline Sans Mono';font-weight:400;font-display:swap;src:url('fonts/spline-sans-mono-400.woff2') format('woff2')}
@font-face{font-family:'Spline Sans Mono';font-weight:700;font-display:swap;src:url('fonts/spline-sans-mono-700.woff2') format('woff2')}
@font-face{font-family:'DM Mono';font-weight:400;font-display:swap;src:url('fonts/dm-mono-400.woff2') format('woff2')}
@font-face{font-family:'DM Mono';font-weight:500;font-display:swap;src:url('fonts/dm-mono-500.woff2') format('woff2')}
@font-face{font-family:'Red Hat Mono';font-weight:400;font-display:swap;src:url('fonts/red-hat-mono-400.woff2') format('woff2')}
@font-face{font-family:'Red Hat Mono';font-weight:700;font-display:swap;src:url('fonts/red-hat-mono-700.woff2') format('woff2')}
@font-face{font-family:'Azeret Mono';font-weight:400;font-display:swap;src:url('fonts/azeret-mono-400.woff2') format('woff2')}
@font-face{font-family:'Azeret Mono';font-weight:700;font-display:swap;src:url('fonts/azeret-mono-700.woff2') format('woff2')}
@font-face{font-family:'Fragment Mono';font-weight:400;font-display:swap;src:url('fonts/fragment-mono-400.woff2') format('woff2')}
@font-face{font-family:'Source Code Pro';font-weight:400;font-display:swap;src:url('fonts/source-code-pro-400.woff2') format('woff2')}
@font-face{font-family:'Source Code Pro';font-weight:700;font-display:swap;src:url('fonts/source-code-pro-700.woff2') format('woff2')}
@font-face{font-family:'Roboto Mono';font-weight:400;font-display:swap;src:url('fonts/roboto-mono-400.woff2') format('woff2')}
@font-face{font-family:'Roboto Mono';font-weight:700;font-display:swap;src:url('fonts/roboto-mono-700.woff2') format('woff2')}
@font-face{font-family:'Ubuntu Mono';font-weight:400;font-display:swap;src:url('fonts/ubuntu-mono-400.woff2') format('woff2')}
@font-face{font-family:'Ubuntu Mono';font-weight:700;font-display:swap;src:url('fonts/ubuntu-mono-700.woff2') format('woff2')}
@font-face{font-family:'Inconsolata';font-weight:400;font-display:swap;src:url('fonts/inconsolata-400.woff2') format('woff2')}
@font-face{font-family:'Inconsolata';font-weight:700;font-display:swap;src:url('fonts/inconsolata-700.woff2') format('woff2')}
@font-face{font-family:'Overpass Mono';font-weight:400;font-display:swap;src:url('fonts/overpass-mono-400.woff2') format('woff2')}
@font-face{font-family:'Overpass Mono';font-weight:700;font-display:swap;src:url('fonts/overpass-mono-700.woff2') format('woff2')}
@font-face{font-family:'Victor Mono';font-weight:400;font-display:swap;src:url('fonts/victor-mono-400.woff2') format('woff2')}
@font-face{font-family:'Victor Mono';font-weight:700;font-display:swap;src:url('fonts/victor-mono-700.woff2') format('woff2')}
@font-face{font-family:'B612 Mono';font-weight:400;font-display:swap;src:url('fonts/b612-mono-400.woff2') format('woff2')}
@font-face{font-family:'B612 Mono';font-weight:700;font-display:swap;src:url('fonts/b612-mono-700.woff2') format('woff2')}
@font-face{font-family:'Anonymous Pro';font-weight:400;font-display:swap;src:url('fonts/anonymous-pro-400.woff2') format('woff2')}
@font-face{font-family:'Anonymous Pro';font-weight:700;font-display:swap;src:url('fonts/anonymous-pro-700.woff2') format('woff2')}
@font-face{font-family:'Sometype Mono';font-weight:400;font-display:swap;src:url('fonts/sometype-mono-400.woff2') format('woff2')}
@font-face{font-family:'Sometype Mono';font-weight:700;font-display:swap;src:url('fonts/sometype-mono-700.woff2') format('woff2')}
@font-face{font-family:'Noto Sans Mono';font-weight:400;font-display:swap;src:url('fonts/noto-sans-mono-400.woff2') format('woff2')}
@font-face{font-family:'Noto Sans Mono';font-weight:700;font-display:swap;src:url('fonts/noto-sans-mono-700.woff2') format('woff2')}
