@dammgo/vena-visual-engine 0.1.0
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.
- package/LICENSE +21 -0
- package/README.md +45 -0
- package/package.json +50 -0
- package/showroom/astro.config.mjs +11 -0
- package/showroom/src/pages/index.astro +126 -0
- package/src/index.ts +64 -0
- package/tsconfig.json +19 -0
- package/uno.config.ts +62 -0
- package/uno.css +497 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 dammgo labs
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# VENA Visual Engine v0.1.0 🚀
|
|
2
|
+
|
|
3
|
+
> **"Engineering as Art. Sovereignty as Standard."**
|
|
4
|
+
|
|
5
|
+
## 🧬 The Manifesto
|
|
6
|
+
|
|
7
|
+
The web has been colonized by the generic. AI-generated interfaces have commoditized "good taste," filling our screens with predictable shadows, rounded corners, and a lack of character. Every app looks like a template of a template.
|
|
8
|
+
|
|
9
|
+
**VENA Visual Engine** is a rebellion. It is not another CSS framework for "friendly" apps. It is a **Sovereign Infrastructure** for building digital interfaces that reflect precision, authority, and longevity.
|
|
10
|
+
|
|
11
|
+
We don't build "UI components"; we build **Visual Protocols**.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## 🏛️ Axioms of the Engine
|
|
16
|
+
|
|
17
|
+
1. **Precision over Organic:** We reject the "round-everything" culture. Surfaces should feel like precision-cut steel, not plastic bubbles.
|
|
18
|
+
2. **Infrastructure over Ornament:** Every pixel must justify its existence. If it's just "decoration," it's noise.
|
|
19
|
+
3. **The Active Pulse:** Interfaces are not static; they are live signals. We treat the rendering process as a vital pulse of data.
|
|
20
|
+
4. **Sovereignty:** Total control over the design grammar. No dependence on industry "safe" standards that dilute identity.
|
|
21
|
+
|
|
22
|
+
---
|
|
23
|
+
|
|
24
|
+
## 🛠️ Technical Core
|
|
25
|
+
|
|
26
|
+
VENA Visual Engine is built as a high-performance **Visual Syntax** that can be injected into any project. It leverages the power of atomic CSS engines to provide:
|
|
27
|
+
|
|
28
|
+
- **BOS Protocol Presets:** Ready-to-use visual laws for the erpbsg ecosystem.
|
|
29
|
+
- **Precision Tokens:** Mathematical scales for typography and spacing based on the BOS Golden Ratio.
|
|
30
|
+
- **Atmospheric Glows:** Cinematic lighting systems for deep-space (Dark Mode) interfaces.
|
|
31
|
+
|
|
32
|
+
---
|
|
33
|
+
|
|
34
|
+
## 🚀 Usage
|
|
35
|
+
|
|
36
|
+
*Documentation in progress. This is the seed of a new visual era.*
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
# Clone the rebellion
|
|
40
|
+
git clone https://github.com/dammgo/vena-visual-engine
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
---
|
|
44
|
+
**dammgo labs** - _Institutionalizing the Future._
|
|
45
|
+
© 2026. Distributed under the MIT License.
|
package/package.json
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@dammgo/vena-visual-engine",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "The Sovereign Visual Engine. A rebellion against generic AI-generated interfaces, built for infrastructure longevity.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"module": "./dist/index.js",
|
|
8
|
+
"types": "./dist/index.d.ts",
|
|
9
|
+
"exports": {
|
|
10
|
+
".": {
|
|
11
|
+
"types": "./dist/index.d.ts",
|
|
12
|
+
"import": "./dist/index.js"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"license": "MIT",
|
|
16
|
+
"author": "dammgo labs",
|
|
17
|
+
"homepage": "https://kr.dammgo.com",
|
|
18
|
+
"repository": {
|
|
19
|
+
"type": "git",
|
|
20
|
+
"url": "https://github.com/dammgo/vena-visual-engine"
|
|
21
|
+
},
|
|
22
|
+
"keywords": [
|
|
23
|
+
"css",
|
|
24
|
+
"visual-engine",
|
|
25
|
+
"design-system",
|
|
26
|
+
"sovereignty",
|
|
27
|
+
"unocss",
|
|
28
|
+
"tailwind",
|
|
29
|
+
"dammgo"
|
|
30
|
+
],
|
|
31
|
+
"publishConfig": {
|
|
32
|
+
"access": "public"
|
|
33
|
+
},
|
|
34
|
+
"scripts": {
|
|
35
|
+
"dev": "unocss",
|
|
36
|
+
"build": "unocss build && tsc",
|
|
37
|
+
"showroom:dev": "astro dev --root showroom",
|
|
38
|
+
"showroom:build": "astro build --root showroom",
|
|
39
|
+
"test": "echo \"Error: no test specified\" && exit 1"
|
|
40
|
+
},
|
|
41
|
+
"peerDependencies": {
|
|
42
|
+
"unocss": "^65.0.0"
|
|
43
|
+
},
|
|
44
|
+
"devDependencies": {
|
|
45
|
+
"@unocss/astro": "^65.4.3",
|
|
46
|
+
"astro": "^5.17.1",
|
|
47
|
+
"unocss": "^65.4.3",
|
|
48
|
+
"typescript": "^5.7.3"
|
|
49
|
+
}
|
|
50
|
+
}
|
|
@@ -0,0 +1,126 @@
|
|
|
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
ADDED
|
@@ -0,0 +1,64 @@
|
|
|
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
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
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
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
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
ADDED
|
@@ -0,0 +1,497 @@
|
|
|
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
|
+
}
|