@dammgo/vena-visual-engine 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ export declare const presetVena: import("unocss").PresetFactory<any, undefined>;
package/dist/index.js ADDED
@@ -0,0 +1,61 @@
1
+ import { definePreset, presetUno, presetWebFonts } from 'unocss';
2
+ export const presetVena = definePreset(() => {
3
+ return {
4
+ name: '@dammgo/vena-visual-engine',
5
+ theme: {
6
+ colors: {
7
+ bos: {
8
+ slate: '#020617',
9
+ pink: '#E91E63',
10
+ white: '#f8fafc',
11
+ gray: '#94a3b8',
12
+ cobalt: '#00d4ff',
13
+ void: '#0d1117',
14
+ surface: '#161b22', // Absorbido de vena-pulse docs
15
+ armor: '#30363d', // Absorbido de vena-pulse docs
16
+ },
17
+ // Mapeo de compatibilidad para evitar roturas
18
+ void: '#0d1117',
19
+ cobalt: '#00d4ff',
20
+ armor: '#30363d',
21
+ muted: '#8b949e',
22
+ },
23
+ borderRadius: {
24
+ 'bos-sm': '2px',
25
+ 'bos-md': '4px',
26
+ 'bos-lg': '6px',
27
+ },
28
+ // PUNTO FINO: Curva de animación oficial del BOS
29
+ easing: {
30
+ 'bos-pulse': 'cubic-bezier(0.4, 0, 0.2, 1)',
31
+ }
32
+ },
33
+ presets: [
34
+ presetUno(),
35
+ presetWebFonts({
36
+ provider: 'google',
37
+ fonts: {
38
+ brand: 'Montserrat:400,700,900',
39
+ ui: 'Inter:400,500,600,700',
40
+ mono: 'JetBrains Mono:400,700',
41
+ },
42
+ }),
43
+ ],
44
+ shortcuts: [
45
+ ['bos-surface', 'bg-bos-surface/40 backdrop-blur-md border border-bos-armor/30 rounded-bos-sm shadow-none'],
46
+ ['precision-bracket', 'relative before:content-[""] before:absolute before:-top-1 before:-left-1 before:w-2 before:h-2 before:border-t-1 before:border-l-1 before:border-bos-pink after:content-[""] after:absolute after:-bottom-1 after:-right-1 after:w-2 after:h-2 after:border-b-1 after:border-r-1 after:border-bos-pink'],
47
+ ['infra-grid', 'relative before:content-[""] before:absolute before:inset-0 before:opacity-0 before:pointer-events-none before:[background-image:radial-gradient(#f8fafc_1px,transparent_1px)] before:[background-size:10px_10px] focus-within:before:opacity-10 before:transition-opacity'],
48
+ ['synapse-line', 'h-1 bg-white/5 relative overflow-hidden after:content-[""] after:absolute after:inset-0 after:bg-gradient-to-r after:from-transparent after:via-bos-pink after:to-transparent after:animate-pulse'],
49
+ ['text-authority', 'font-brand font-black uppercase tracking-widest text-bos-white'],
50
+ // PROTOCOLO: Cinematic Loading (Radar Sweep)
51
+ ['bos-loader', 'relative overflow-hidden before:content-[""] before:absolute before:inset-0 before:bg-gradient-to-r before:from-transparent before:via-bos-cobalt/20 before:to-transparent before:animate-scan'],
52
+ // Inputs Soberanos
53
+ ['bos-input', 'bos-surface infra-grid px-4 py-3 font-mono text-sm bg-transparent outline-none focus:precision-bracket transition-all placeholder:opacity-20'],
54
+ ['bos-checkbox', 'w-4 h-4 border border-white/20 rounded-bos-sm bg-white/5 appearance-none cursor-pointer checked:bg-bos-pink checked:border-bos-pink checked:shadow-[0_0_10px_rgba(233,30,99,0.5)] transition-all'],
55
+ ['bos-radio', 'w-4 h-4 border border-white/20 rounded-full bg-white/5 appearance-none cursor-pointer checked:border-bos-pink transition-all relative after:content-[""] after:absolute after:top-1/2 after:left-1/2 after:-translate-x-1/2 after:-translate-y-1/2 after:w-0 after:h-0 checked:after:w-2 checked:after:h-2 after:bg-bos-pink after:rounded-full after:transition-all'],
56
+ ],
57
+ rules: [
58
+ ['animate-scan', { animation: 'scan 2s linear infinite' }],
59
+ ],
60
+ };
61
+ });
package/package.json CHANGED
@@ -1,11 +1,14 @@
1
1
  {
2
2
  "name": "@dammgo/vena-visual-engine",
3
- "version": "0.1.0",
3
+ "version": "0.1.1",
4
4
  "description": "The Sovereign Visual Engine. A rebellion against generic AI-generated interfaces, built for infrastructure longevity.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
7
7
  "module": "./dist/index.js",
8
8
  "types": "./dist/index.d.ts",
9
+ "files": [
10
+ "dist"
11
+ ],
9
12
  "exports": {
10
13
  ".": {
11
14
  "types": "./dist/index.d.ts",
@@ -1,11 +0,0 @@
1
- import { defineConfig } from 'astro/config';
2
- import UnoCSS from '@unocss/astro';
3
-
4
- export default defineConfig({
5
- root: './showroom',
6
- integrations: [
7
- UnoCSS({
8
- injectReset: true,
9
- }),
10
- ],
11
- });
@@ -1,126 +0,0 @@
1
- ---
2
- // D:\OneDrive\code-workspace\dammgo\vena-visual-engine\showroom\src\pages\index.astro
3
- ---
4
-
5
- <html lang="en">
6
- <head>
7
- <meta charset="utf-8" />
8
- <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
9
- <meta name="viewport" content="width=device-width" />
10
- <meta name="generator" content={Astro.generator} />
11
- <title>VENA Visual Engine | Sovereign Showroom</title>
12
- </head>
13
- <body class="bg-bos-slate min-h-screen text-bos-white p-12 font-ui selection:bg-bos-pink selection:text-bos-white">
14
-
15
- <header class="mb-32 flex justify-between items-end border-b border-white/5 pb-12">
16
- <div>
17
- <h1 class="font-brand font-black text-7xl tracking-tighter mb-4">
18
- VENA<span class="text-bos-pink">.</span>VISUAL<span class="text-bos-pink">.</span>ENGINE
19
- </h1>
20
- <p class="font-mono text-bos-gray tracking-[0.8em] text-[10px] uppercase">
21
- The Sovereign Visual Protocol // dammgo labs // v0.1.0
22
- </p>
23
- </div>
24
- <div class="text-right">
25
- <div class="flex items-center gap-3 justify-end mb-2">
26
- <div class="w-2 h-2 rounded-full bg-bos-pink animate-pulse"></div>
27
- <p class="font-mono text-bos-pink text-[10px] tracking-widest">SIGNAL: STEADY</p>
28
- </div>
29
- <p class="font-mono text-white/20 text-[10px]">AUTH_CORE: VERIFIED</p>
30
- </div>
31
- </header>
32
-
33
- <main class="space-y-48">
34
-
35
- <!-- SECCIÓN 05: PROTOCOLOS DE CAPTURA (Sovereign Inputs) -->
36
- <section>
37
- <div class="flex items-center gap-4 mb-12">
38
- <span class="text-bos-pink font-mono text-xs">05</span>
39
- <h2 class="text-authority text-2xl tracking-widest">sovereign_inputs</h2>
40
- <span class="h-px flex-1 bg-gradient-to-r from-bos-pink/50 to-transparent"></span>
41
- <span class="font-mono text-[10px] text-bos-gray uppercase">Status: Capturing_Data</span>
42
- </div>
43
-
44
- <div class="grid grid-cols-1 md:grid-cols-2 gap-16">
45
-
46
- <!-- CAMPOS DE TEXTO Y SELECCIÓN -->
47
- <div class="space-y-12">
48
- <div class="space-y-4">
49
- <label class="block font-mono text-[10px] text-bos-gray uppercase tracking-widest">Director_Identification</label>
50
- <input type="text" class="bos-input w-full" placeholder="Enter Credential ID..." />
51
- </div>
52
-
53
- <div class="space-y-4">
54
- <label class="block font-mono text-[10px] text-bos-gray uppercase tracking-widest">Operational_Status</label>
55
- <div class="flex gap-8">
56
- <label class="flex items-center gap-3 cursor-pointer group">
57
- <input type="radio" name="status" class="bos-radio" checked />
58
- <span class="font-mono text-xs opacity-50 group-hover:opacity-100 transition-opacity">ACTIVE_NODE</span>
59
- </label>
60
- <label class="flex items-center gap-3 cursor-pointer group">
61
- <input type="radio" name="status" class="bos-radio" />
62
- <span class="font-mono text-xs opacity-50 group-hover:opacity-100 transition-opacity">MAINTENANCE</span>
63
- </label>
64
- </div>
65
- </div>
66
-
67
- <div class="space-y-4">
68
- <label class="flex items-center gap-3 cursor-pointer group">
69
- <input type="checkbox" class="bos-checkbox" />
70
- <span class="font-mono text-xs opacity-50 group-hover:opacity-100 transition-opacity uppercase">Encrypt_Data_Payload</span>
71
- </label>
72
- </div>
73
- </div>
74
-
75
- <!-- SELECTOR DE FECHA (Vector Temporal) -->
76
- <div class="space-y-4">
77
- <label class="block font-mono text-[10px] text-bos-gray uppercase tracking-widest">Temporal_Vector_Lock</label>
78
- <div class="bos-surface p-6">
79
- <div class="flex justify-between items-center mb-6 border-b border-white/5 pb-4">
80
- <span class="font-brand font-black text-xl">FEBRUARY 2026</span>
81
- <div class="flex gap-2">
82
- <button class="w-8 h-8 border border-white/10 flex items-center justify-center hover:bg-bos-pink transition-colors">←</button>
83
- <button class="w-8 h-8 border border-white/10 flex items-center justify-center hover:bg-bos-pink transition-colors">→</button>
84
- </div>
85
- </div>
86
- <div class="grid grid-cols-7 gap-2 text-center mb-4">
87
- {['S','M','T','W','T','F','S'].map(d => <span class="font-mono text-[10px] text-bos-pink opacity-50">{d}</span>)}
88
- </div>
89
- <div class="grid grid-cols-7 gap-2">
90
- {Array.from({length: 28}).map((_, i) => (
91
- <button class={`aspect-square flex items-center justify-center font-mono text-xs border border-transparent hover:border-bos-pink transition-all ${i === 15 ? 'precision-bracket text-bos-pink' : 'opacity-40'}`}>
92
- {i + 1}
93
- </button>
94
- ))}
95
- </div>
96
- <div class="mt-6 synapse-line"></div>
97
- </div>
98
- </div>
99
- </div>
100
- </section>
101
-
102
- <!-- (Resto de los protocolos anteriores se mantienen para referencia...) -->
103
- <section class="opacity-30 grayscale pointer-events-none">
104
- <h2 class="text-authority text-sm mb-4">Existing_Protocols_Archive</h2>
105
- <p class="font-mono text-[10px]">ERPBSG_HUB // DAMMGO_CORP // VENA_CORE // KODE_REBOOT</p>
106
- </section>
107
-
108
- </main>
109
-
110
- <footer class="mt-48 border-t border-white/5 py-12 flex justify-between items-center">
111
- <p class="font-mono text-[10px] text-bos-gray tracking-[0.5em]">
112
- DAMMGO LABS // 2026 // SOVEREIGN_INFRASTRUCTURE
113
- </p>
114
- </footer>
115
-
116
- <style is:global>
117
- @keyframes scan {
118
- from { transform: translateY(-100%); }
119
- to { transform: translateY(500px); }
120
- }
121
- ::-webkit-scrollbar { width: 4px; }
122
- ::-webkit-scrollbar-track { background: #020617; }
123
- ::-webkit-scrollbar-thumb { background: #E91E63; }
124
- </style>
125
- </body>
126
- </html>
package/src/index.ts DELETED
@@ -1,64 +0,0 @@
1
- import { definePreset, presetUno, presetWebFonts } from 'unocss'
2
-
3
- export const presetVena = definePreset(() => {
4
- return {
5
- name: '@dammgo/vena-visual-engine',
6
- theme: {
7
- colors: {
8
- bos: {
9
- slate: '#020617',
10
- pink: '#E91E63',
11
- white: '#f8fafc',
12
- gray: '#94a3b8',
13
- cobalt: '#00d4ff',
14
- void: '#0d1117',
15
- surface: '#161b22', // Absorbido de vena-pulse docs
16
- armor: '#30363d', // Absorbido de vena-pulse docs
17
- },
18
- // Mapeo de compatibilidad para evitar roturas
19
- void: '#0d1117',
20
- cobalt: '#00d4ff',
21
- armor: '#30363d',
22
- muted: '#8b949e',
23
- },
24
- borderRadius: {
25
- 'bos-sm': '2px',
26
- 'bos-md': '4px',
27
- 'bos-lg': '6px',
28
- },
29
- // PUNTO FINO: Curva de animación oficial del BOS
30
- easing: {
31
- 'bos-pulse': 'cubic-bezier(0.4, 0, 0.2, 1)',
32
- }
33
- },
34
- presets: [
35
- presetUno(),
36
- presetWebFonts({
37
- provider: 'google',
38
- fonts: {
39
- brand: 'Montserrat:400,700,900',
40
- ui: 'Inter:400,500,600,700',
41
- mono: 'JetBrains Mono:400,700',
42
- },
43
- }),
44
- ],
45
- shortcuts: [
46
- ['bos-surface', 'bg-bos-surface/40 backdrop-blur-md border border-bos-armor/30 rounded-bos-sm shadow-none'],
47
- ['precision-bracket', 'relative before:content-[""] before:absolute before:-top-1 before:-left-1 before:w-2 before:h-2 before:border-t-1 before:border-l-1 before:border-bos-pink after:content-[""] after:absolute after:-bottom-1 after:-right-1 after:w-2 after:h-2 after:border-b-1 after:border-r-1 after:border-bos-pink'],
48
- ['infra-grid', 'relative before:content-[""] before:absolute before:inset-0 before:opacity-0 before:pointer-events-none before:[background-image:radial-gradient(#f8fafc_1px,transparent_1px)] before:[background-size:10px_10px] focus-within:before:opacity-10 before:transition-opacity'],
49
- ['synapse-line', 'h-1 bg-white/5 relative overflow-hidden after:content-[""] after:absolute after:inset-0 after:bg-gradient-to-r after:from-transparent after:via-bos-pink after:to-transparent after:animate-pulse'],
50
- ['text-authority', 'font-brand font-black uppercase tracking-widest text-bos-white'],
51
-
52
- // PROTOCOLO: Cinematic Loading (Radar Sweep)
53
- ['bos-loader', 'relative overflow-hidden before:content-[""] before:absolute before:inset-0 before:bg-gradient-to-r before:from-transparent before:via-bos-cobalt/20 before:to-transparent before:animate-scan'],
54
-
55
- // Inputs Soberanos
56
- ['bos-input', 'bos-surface infra-grid px-4 py-3 font-mono text-sm bg-transparent outline-none focus:precision-bracket transition-all placeholder:opacity-20'],
57
- ['bos-checkbox', 'w-4 h-4 border border-white/20 rounded-bos-sm bg-white/5 appearance-none cursor-pointer checked:bg-bos-pink checked:border-bos-pink checked:shadow-[0_0_10px_rgba(233,30,99,0.5)] transition-all'],
58
- ['bos-radio', 'w-4 h-4 border border-white/20 rounded-full bg-white/5 appearance-none cursor-pointer checked:border-bos-pink transition-all relative after:content-[""] after:absolute after:top-1/2 after:left-1/2 after:-translate-x-1/2 after:-translate-y-1/2 after:w-0 after:h-0 checked:after:w-2 checked:after:h-2 after:bg-bos-pink after:rounded-full after:transition-all'],
59
- ],
60
- rules: [
61
- ['animate-scan', { animation: 'scan 2s linear infinite' }],
62
- ],
63
- }
64
- })
package/tsconfig.json DELETED
@@ -1,19 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ESNext",
4
- "module": "ESNext",
5
- "moduleResolution": "node",
6
- "declaration": true,
7
- "outDir": "./dist",
8
- "strict": true,
9
- "esModuleInterop": true,
10
- "skipLibCheck": true,
11
- "forceConsistentCasingInFileNames": true,
12
- "baseUrl": ".",
13
- "paths": {
14
- "@/*": ["src/*"]
15
- }
16
- },
17
- "include": ["src/**/*"],
18
- "exclude": ["node_modules", "dist", "showroom"]
19
- }
package/uno.config.ts DELETED
@@ -1,62 +0,0 @@
1
- import {
2
- defineConfig,
3
- presetUno,
4
- presetWebFonts,
5
- transformerDirectives,
6
- transformerVariantGroup,
7
- } from 'unocss'
8
-
9
- export default defineConfig({
10
- theme: {
11
- colors: {
12
- bos: {
13
- slate: '#020617', // Base de profundidad
14
- pink: '#E91E63', // El pulso erpbsg
15
- white: '#f8fafc', // Claridad
16
- gray: '#94a3b8', // Muted Infrastructure
17
- cobalt: '#00d4ff', // VENA Intelligence
18
- void: '#0d1117', // VENA Base
19
- },
20
- },
21
- fontFamily: {
22
- brand: 'Montserrat, sans-serif', // Autoridad
23
- ui: 'Inter, sans-serif', // Operación
24
- mono: 'JetBrains Mono, monospace', // Precisión técnica
25
- },
26
- borderRadius: {
27
- 'bos-sm': '2px',
28
- 'bos-md': '4px',
29
- 'bos-lg': '6px',
30
- },
31
- },
32
- presets: [
33
- presetUno(),
34
- presetWebFonts({
35
- provider: 'google',
36
- fonts: {
37
- brand: 'Montserrat:400,700,900',
38
- ui: 'Inter:400,500,600,700',
39
- mono: 'JetBrains Mono:400,700',
40
- },
41
- }),
42
- ],
43
- transformers: [
44
- transformerDirectives(),
45
- transformerVariantGroup(),
46
- ],
47
- shortcuts: [
48
- ['bos-surface', 'bg-white/3 backdrop-blur-lg border border-white/10 rounded-bos-sm shadow-none'],
49
- ['precision-bracket', 'relative before:content-[""] before:absolute before:-top-1 before:-left-1 before:w-2 before:h-2 before:border-t-1 before:border-l-1 before:border-bos-pink after:content-[""] after:absolute after:-bottom-1 after:-right-1 after:w-2 after:h-2 after:border-b-1 after:border-r-1 after:border-bos-pink'],
50
- ['infra-grid', 'relative before:content-[""] before:absolute before:inset-0 before:opacity-0 before:pointer-events-none before:[background-image:radial-gradient(#f8fafc_1px,transparent_1px)] before:[background-size:10px_10px] focus-within:before:opacity-10 before:transition-opacity'],
51
- ['synapse-line', 'h-1 bg-white/5 relative overflow-hidden after:content-[""] after:absolute after:inset-0 after:bg-gradient-to-r after:from-transparent after:via-bos-pink after:to-transparent after:animate-pulse'],
52
- ['text-authority', 'font-brand font-black uppercase tracking-widest text-bos-white'],
53
-
54
- // PROTOCOLOS DE CAPTURA (Punto Fino)
55
- ['bos-input', 'bos-surface infra-grid px-4 py-3 font-mono text-sm bg-transparent outline-none focus:precision-bracket transition-all placeholder:opacity-20'],
56
- ['bos-checkbox', 'w-4 h-4 border border-white/20 rounded-bos-sm bg-white/5 appearance-none cursor-pointer checked:bg-bos-pink checked:border-bos-pink checked:shadow-[0_0_10px_rgba(233,30,99,0.5)] transition-all relative after:content-[""] after:absolute after:inset-0 after:bg-bos-pink after:opacity-0 checked:after:opacity-20'],
57
- ['bos-radio', 'w-4 h-4 border border-white/20 rounded-full bg-white/5 appearance-none cursor-pointer checked:border-bos-pink transition-all relative after:content-[""] after:absolute after:top-1/2 after:left-1/2 after:-translate-x-1/2 after:-translate-y-1/2 after:w-0 after:h-0 checked:after:w-2 checked:after:h-2 after:bg-bos-pink after:rounded-full after:transition-all'],
58
- ],
59
- rules: [
60
- ['animate-scan', { animation: 'scan 2s linear infinite' }],
61
- ],
62
- })
package/uno.css DELETED
@@ -1,497 +0,0 @@
1
- /* layer: preflights */
2
- *,::before,::after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / 0.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: ;}::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / 0.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: ;}
3
- /* cyrillic-ext */
4
- @font-face {
5
- font-family: 'Inter';
6
- font-style: normal;
7
- font-weight: 400;
8
- font-display: swap;
9
- src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7W0Q5n-wU.woff2) format('woff2');
10
- unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
11
- }
12
- /* cyrillic */
13
- @font-face {
14
- font-family: 'Inter';
15
- font-style: normal;
16
- font-weight: 400;
17
- font-display: swap;
18
- src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7W0Q5n-wU.woff2) format('woff2');
19
- unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
20
- }
21
- /* greek-ext */
22
- @font-face {
23
- font-family: 'Inter';
24
- font-style: normal;
25
- font-weight: 400;
26
- font-display: swap;
27
- src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7W0Q5n-wU.woff2) format('woff2');
28
- unicode-range: U+1F00-1FFF;
29
- }
30
- /* greek */
31
- @font-face {
32
- font-family: 'Inter';
33
- font-style: normal;
34
- font-weight: 400;
35
- font-display: swap;
36
- src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7W0Q5n-wU.woff2) format('woff2');
37
- unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
38
- }
39
- /* vietnamese */
40
- @font-face {
41
- font-family: 'Inter';
42
- font-style: normal;
43
- font-weight: 400;
44
- font-display: swap;
45
- src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7W0Q5n-wU.woff2) format('woff2');
46
- unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
47
- }
48
- /* latin-ext */
49
- @font-face {
50
- font-family: 'Inter';
51
- font-style: normal;
52
- font-weight: 400;
53
- font-display: swap;
54
- src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7W0Q5n-wU.woff2) format('woff2');
55
- unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
56
- }
57
- /* latin */
58
- @font-face {
59
- font-family: 'Inter';
60
- font-style: normal;
61
- font-weight: 400;
62
- font-display: swap;
63
- src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0Q5nw.woff2) format('woff2');
64
- unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
65
- }
66
- /* cyrillic-ext */
67
- @font-face {
68
- font-family: 'Inter';
69
- font-style: normal;
70
- font-weight: 500;
71
- font-display: swap;
72
- src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7W0Q5n-wU.woff2) format('woff2');
73
- unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
74
- }
75
- /* cyrillic */
76
- @font-face {
77
- font-family: 'Inter';
78
- font-style: normal;
79
- font-weight: 500;
80
- font-display: swap;
81
- src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7W0Q5n-wU.woff2) format('woff2');
82
- unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
83
- }
84
- /* greek-ext */
85
- @font-face {
86
- font-family: 'Inter';
87
- font-style: normal;
88
- font-weight: 500;
89
- font-display: swap;
90
- src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7W0Q5n-wU.woff2) format('woff2');
91
- unicode-range: U+1F00-1FFF;
92
- }
93
- /* greek */
94
- @font-face {
95
- font-family: 'Inter';
96
- font-style: normal;
97
- font-weight: 500;
98
- font-display: swap;
99
- src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7W0Q5n-wU.woff2) format('woff2');
100
- unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
101
- }
102
- /* vietnamese */
103
- @font-face {
104
- font-family: 'Inter';
105
- font-style: normal;
106
- font-weight: 500;
107
- font-display: swap;
108
- src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7W0Q5n-wU.woff2) format('woff2');
109
- unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
110
- }
111
- /* latin-ext */
112
- @font-face {
113
- font-family: 'Inter';
114
- font-style: normal;
115
- font-weight: 500;
116
- font-display: swap;
117
- src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7W0Q5n-wU.woff2) format('woff2');
118
- unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
119
- }
120
- /* latin */
121
- @font-face {
122
- font-family: 'Inter';
123
- font-style: normal;
124
- font-weight: 500;
125
- font-display: swap;
126
- src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0Q5nw.woff2) format('woff2');
127
- unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
128
- }
129
- /* cyrillic-ext */
130
- @font-face {
131
- font-family: 'Inter';
132
- font-style: normal;
133
- font-weight: 600;
134
- font-display: swap;
135
- src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7W0Q5n-wU.woff2) format('woff2');
136
- unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
137
- }
138
- /* cyrillic */
139
- @font-face {
140
- font-family: 'Inter';
141
- font-style: normal;
142
- font-weight: 600;
143
- font-display: swap;
144
- src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7W0Q5n-wU.woff2) format('woff2');
145
- unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
146
- }
147
- /* greek-ext */
148
- @font-face {
149
- font-family: 'Inter';
150
- font-style: normal;
151
- font-weight: 600;
152
- font-display: swap;
153
- src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7W0Q5n-wU.woff2) format('woff2');
154
- unicode-range: U+1F00-1FFF;
155
- }
156
- /* greek */
157
- @font-face {
158
- font-family: 'Inter';
159
- font-style: normal;
160
- font-weight: 600;
161
- font-display: swap;
162
- src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7W0Q5n-wU.woff2) format('woff2');
163
- unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
164
- }
165
- /* vietnamese */
166
- @font-face {
167
- font-family: 'Inter';
168
- font-style: normal;
169
- font-weight: 600;
170
- font-display: swap;
171
- src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7W0Q5n-wU.woff2) format('woff2');
172
- unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
173
- }
174
- /* latin-ext */
175
- @font-face {
176
- font-family: 'Inter';
177
- font-style: normal;
178
- font-weight: 600;
179
- font-display: swap;
180
- src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7W0Q5n-wU.woff2) format('woff2');
181
- unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
182
- }
183
- /* latin */
184
- @font-face {
185
- font-family: 'Inter';
186
- font-style: normal;
187
- font-weight: 600;
188
- font-display: swap;
189
- src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0Q5nw.woff2) format('woff2');
190
- unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
191
- }
192
- /* cyrillic-ext */
193
- @font-face {
194
- font-family: 'Inter';
195
- font-style: normal;
196
- font-weight: 700;
197
- font-display: swap;
198
- src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2JL7W0Q5n-wU.woff2) format('woff2');
199
- unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
200
- }
201
- /* cyrillic */
202
- @font-face {
203
- font-family: 'Inter';
204
- font-style: normal;
205
- font-weight: 700;
206
- font-display: swap;
207
- src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa0ZL7W0Q5n-wU.woff2) format('woff2');
208
- unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
209
- }
210
- /* greek-ext */
211
- @font-face {
212
- font-family: 'Inter';
213
- font-style: normal;
214
- font-weight: 700;
215
- font-display: swap;
216
- src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2ZL7W0Q5n-wU.woff2) format('woff2');
217
- unicode-range: U+1F00-1FFF;
218
- }
219
- /* greek */
220
- @font-face {
221
- font-family: 'Inter';
222
- font-style: normal;
223
- font-weight: 700;
224
- font-display: swap;
225
- src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1pL7W0Q5n-wU.woff2) format('woff2');
226
- unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
227
- }
228
- /* vietnamese */
229
- @font-face {
230
- font-family: 'Inter';
231
- font-style: normal;
232
- font-weight: 700;
233
- font-display: swap;
234
- src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa2pL7W0Q5n-wU.woff2) format('woff2');
235
- unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
236
- }
237
- /* latin-ext */
238
- @font-face {
239
- font-family: 'Inter';
240
- font-style: normal;
241
- font-weight: 700;
242
- font-display: swap;
243
- src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa25L7W0Q5n-wU.woff2) format('woff2');
244
- unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
245
- }
246
- /* latin */
247
- @font-face {
248
- font-family: 'Inter';
249
- font-style: normal;
250
- font-weight: 700;
251
- font-display: swap;
252
- src: url(https://fonts.gstatic.com/s/inter/v20/UcC73FwrK3iLTeHuS_nVMrMxCp50SjIa1ZL7W0Q5nw.woff2) format('woff2');
253
- unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
254
- }
255
- /* cyrillic-ext */
256
- @font-face {
257
- font-family: 'JetBrains Mono';
258
- font-style: normal;
259
- font-weight: 400;
260
- font-display: swap;
261
- src: url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx3cwgknk-6nFg.woff2) format('woff2');
262
- unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
263
- }
264
- /* cyrillic */
265
- @font-face {
266
- font-family: 'JetBrains Mono';
267
- font-style: normal;
268
- font-weight: 400;
269
- font-display: swap;
270
- src: url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxTcwgknk-6nFg.woff2) format('woff2');
271
- unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
272
- }
273
- /* greek */
274
- @font-face {
275
- font-family: 'JetBrains Mono';
276
- font-style: normal;
277
- font-weight: 400;
278
- font-display: swap;
279
- src: url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxPcwgknk-6nFg.woff2) format('woff2');
280
- unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
281
- }
282
- /* vietnamese */
283
- @font-face {
284
- font-family: 'JetBrains Mono';
285
- font-style: normal;
286
- font-weight: 400;
287
- font-display: swap;
288
- src: url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx_cwgknk-6nFg.woff2) format('woff2');
289
- unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
290
- }
291
- /* latin-ext */
292
- @font-face {
293
- font-family: 'JetBrains Mono';
294
- font-style: normal;
295
- font-weight: 400;
296
- font-display: swap;
297
- src: url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwgknk-6nFg.woff2) format('woff2');
298
- unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
299
- }
300
- /* latin */
301
- @font-face {
302
- font-family: 'JetBrains Mono';
303
- font-style: normal;
304
- font-weight: 400;
305
- font-display: swap;
306
- src: url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwgknk-4.woff2) format('woff2');
307
- unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
308
- }
309
- /* cyrillic-ext */
310
- @font-face {
311
- font-family: 'JetBrains Mono';
312
- font-style: normal;
313
- font-weight: 700;
314
- font-display: swap;
315
- src: url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx3cwgknk-6nFg.woff2) format('woff2');
316
- unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
317
- }
318
- /* cyrillic */
319
- @font-face {
320
- font-family: 'JetBrains Mono';
321
- font-style: normal;
322
- font-weight: 700;
323
- font-display: swap;
324
- src: url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxTcwgknk-6nFg.woff2) format('woff2');
325
- unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
326
- }
327
- /* greek */
328
- @font-face {
329
- font-family: 'JetBrains Mono';
330
- font-style: normal;
331
- font-weight: 700;
332
- font-display: swap;
333
- src: url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxPcwgknk-6nFg.woff2) format('woff2');
334
- unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
335
- }
336
- /* vietnamese */
337
- @font-face {
338
- font-family: 'JetBrains Mono';
339
- font-style: normal;
340
- font-weight: 700;
341
- font-display: swap;
342
- src: url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx_cwgknk-6nFg.woff2) format('woff2');
343
- unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
344
- }
345
- /* latin-ext */
346
- @font-face {
347
- font-family: 'JetBrains Mono';
348
- font-style: normal;
349
- font-weight: 700;
350
- font-display: swap;
351
- src: url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPx7cwgknk-6nFg.woff2) format('woff2');
352
- unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
353
- }
354
- /* latin */
355
- @font-face {
356
- font-family: 'JetBrains Mono';
357
- font-style: normal;
358
- font-weight: 700;
359
- font-display: swap;
360
- src: url(https://fonts.gstatic.com/s/jetbrainsmono/v24/tDbv2o-flEEny0FZhsfKu5WU4zr3E_BX0PnT8RD8yKwBNntkaToggR7BYRbKPxDcwgknk-4.woff2) format('woff2');
361
- unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
362
- }
363
- /* cyrillic-ext */
364
- @font-face {
365
- font-family: 'Montserrat';
366
- font-style: normal;
367
- font-weight: 400;
368
- font-display: swap;
369
- src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459WRhyyTh89ZNpQ.woff2) format('woff2');
370
- unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
371
- }
372
- /* cyrillic */
373
- @font-face {
374
- font-family: 'Montserrat';
375
- font-style: normal;
376
- font-weight: 400;
377
- font-display: swap;
378
- src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459W1hyyTh89ZNpQ.woff2) format('woff2');
379
- unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
380
- }
381
- /* vietnamese */
382
- @font-face {
383
- font-family: 'Montserrat';
384
- font-style: normal;
385
- font-weight: 400;
386
- font-display: swap;
387
- src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459WZhyyTh89ZNpQ.woff2) format('woff2');
388
- unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
389
- }
390
- /* latin-ext */
391
- @font-face {
392
- font-family: 'Montserrat';
393
- font-style: normal;
394
- font-weight: 400;
395
- font-display: swap;
396
- src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459WdhyyTh89ZNpQ.woff2) format('woff2');
397
- unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
398
- }
399
- /* latin */
400
- @font-face {
401
- font-family: 'Montserrat';
402
- font-style: normal;
403
- font-weight: 400;
404
- font-display: swap;
405
- src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459WlhyyTh89Y.woff2) format('woff2');
406
- unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
407
- }
408
- /* cyrillic-ext */
409
- @font-face {
410
- font-family: 'Montserrat';
411
- font-style: normal;
412
- font-weight: 700;
413
- font-display: swap;
414
- src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459WRhyyTh89ZNpQ.woff2) format('woff2');
415
- unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
416
- }
417
- /* cyrillic */
418
- @font-face {
419
- font-family: 'Montserrat';
420
- font-style: normal;
421
- font-weight: 700;
422
- font-display: swap;
423
- src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459W1hyyTh89ZNpQ.woff2) format('woff2');
424
- unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
425
- }
426
- /* vietnamese */
427
- @font-face {
428
- font-family: 'Montserrat';
429
- font-style: normal;
430
- font-weight: 700;
431
- font-display: swap;
432
- src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459WZhyyTh89ZNpQ.woff2) format('woff2');
433
- unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
434
- }
435
- /* latin-ext */
436
- @font-face {
437
- font-family: 'Montserrat';
438
- font-style: normal;
439
- font-weight: 700;
440
- font-display: swap;
441
- src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459WdhyyTh89ZNpQ.woff2) format('woff2');
442
- unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
443
- }
444
- /* latin */
445
- @font-face {
446
- font-family: 'Montserrat';
447
- font-style: normal;
448
- font-weight: 700;
449
- font-display: swap;
450
- src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459WlhyyTh89Y.woff2) format('woff2');
451
- unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
452
- }
453
- /* cyrillic-ext */
454
- @font-face {
455
- font-family: 'Montserrat';
456
- font-style: normal;
457
- font-weight: 900;
458
- font-display: swap;
459
- src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459WRhyyTh89ZNpQ.woff2) format('woff2');
460
- unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
461
- }
462
- /* cyrillic */
463
- @font-face {
464
- font-family: 'Montserrat';
465
- font-style: normal;
466
- font-weight: 900;
467
- font-display: swap;
468
- src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459W1hyyTh89ZNpQ.woff2) format('woff2');
469
- unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
470
- }
471
- /* vietnamese */
472
- @font-face {
473
- font-family: 'Montserrat';
474
- font-style: normal;
475
- font-weight: 900;
476
- font-display: swap;
477
- src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459WZhyyTh89ZNpQ.woff2) format('woff2');
478
- unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
479
- }
480
- /* latin-ext */
481
- @font-face {
482
- font-family: 'Montserrat';
483
- font-style: normal;
484
- font-weight: 900;
485
- font-display: swap;
486
- src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459WdhyyTh89ZNpQ.woff2) format('woff2');
487
- unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
488
- }
489
- /* latin */
490
- @font-face {
491
- font-family: 'Montserrat';
492
- font-style: normal;
493
- font-weight: 900;
494
- font-display: swap;
495
- src: url(https://fonts.gstatic.com/s/montserrat/v31/JTUSjIg1_i6t8kCHKm459WlhyyTh89Y.woff2) format('woff2');
496
- unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
497
- }