---
version: "1.0"
name: "Duwell Surveillance"
description: "Sistema de identidad oscuro e industrial para videovigilancia premium, con antracita mineral, rojo de alerta y una tipografia geometrica de precision."
colors:
primary: "#E14238"
secondary: "#8A919B"
accent: "#F0C9C2"
neutral: "#E9DDD7"
background: "#1D1F22"
surface: "#2A2D31"
text-primary: "#E9DDD7"
text-secondary: "#B9B2AF"
border: "#454A52"
typography:
display-lg:
fontFamily: "Oxanium"
fontSize: "64px"
fontWeight: 600
lineHeight: "60px"
letterSpacing: "-0.04em"
body-md:
fontFamily: "Exo 2"
fontSize: "16px"
fontWeight: 400
lineHeight: "26px"
label-md:
fontFamily: "Exo 2"
fontSize: "12px"
fontWeight: 600
lineHeight: "18px"
rounded:
md: "16px"
full: "9999px"
spacing:
base: "4px"
sm: "12px"
md: "20px"
lg: "32px"
xl: "48px"
gap: "24px"
section-padding: "96px"
components:
button-primary:
backgroundColor: "{colors.primary}"
textColor: "{colors.neutral}"
typography: "{typography.label-md}"
rounded: "{rounded.md}"
padding: "14px 22px"
button-secondary:
backgroundColor: "transparent"
textColor: "{colors.neutral}"
typography: "{typography.label-md}"
rounded: "{rounded.md}"
padding: "14px 22px"
button-link:
textColor: "{colors.accent}"
typography: "{typography.label-md}"
rounded: "{rounded.md}"
padding: "0px"
card:
backgroundColor: "{colors.surface}"
borderColor: "{colors.border}"
textColor: "{colors.text-primary}"
rounded: "{rounded.md}"
padding: "24px"
---
# DESIGN.md - Duwell Surveillance
## 1. Tema Visual y Atmosfera
Duwell se siente como una marca de videovigilancia que quiere verse mas cercana a una firma de precision industrial que a una empresa de electronica de consumo. Todo vive sobre negros minerales, grises metalicos y rojos de alerta contenidos, con una presencia muy controlada del brillo y una preferencia clara por superficies solidas, materiales oscuros y composiciones centradas en objeto o interfaz.
La identidad visual trabaja con tension y silencio. No vende exuberancia sino control, monitoreo y fiabilidad. Incluso cuando aparecen mockups, posters o papeleria, el sistema mantiene un lenguaje de observacion: paneles, marcos, ventanas, objetivos, acceso restringido y luz roja como indicador de actividad, no como decoracion continua.
**Palabras clave de personalidad**: industrial, preciso, vigilante, oscuro, premium, tecnico, contenido
**Densidad del layout**: comfortable
**Modo preferido**: oscuro
**Nivel de ornamentacion**: subtle
**Audiencia visual objetivo**: marcas de seguridad premium, tecnologia de monitoreo, sistemas B2B y equipos de instalaciones
---
## 2. Paleta de Colores y Roles Semanticos
### Colores de marca
| Nombre | Variable CSS | Hex | Rol | Texto sobre el |
|--------|-------------|-----|-----|----------------|
| Alert Red | `--color-primary` | `#E14238` | CTA, indicadores de actividad, foco visual y sellos de alerta | `#F7ECE7` |
| Alert Red Hover | `--color-primary-hover` | `#C2362D` | Hover de CTA y zonas activas | `#F7ECE7` |
| Alert Red Active | `--color-primary-active` | `#A92A22` | Estado pressed y maxima tension | `#F7ECE7` |
| Steel Gray | `--color-secondary` | `#8A919B` | Texto auxiliar fuerte, bordes metalicos y UI secundaria | `#17191C` |
| Warm Dust | `--color-accent` | `#F0C9C2` | Highlights suaves, copy sobre fondos claros y notas de contraste bajo | `#342625` |
### Colores de superficie
| Nombre | Variable CSS | Hex | Rol |
|--------|-------------|-----|-----|
| Carbon Base | `--color-bg` | `#1D1F22` | Fondo principal |
| Graphite Panel | `--color-surface` | `#2A2D31` | Cards, paneles y modulos |
| Raised Metal | `--color-surface-raised` | `#353A41` | Superficies elevadas, hero panels y overlays |
| Fog Overlay | `--color-surface-overlay` | `#E5DFDB` | Superficies claras, papel, material impreso |
| Alloy Border | `--color-border` | `#454A52` | Bordes y divisores |
| Low Border | `--color-border-subtle` | `#35383D` | Separadores suaves en dark |
### Colores de texto
| Nombre | Variable CSS | Hex | Uso |
|--------|-------------|-----|-----|
| Texto principal | `--color-text` | `#E9DDD7` | Titulares, body principal, labels fuertes |
| Texto secundario | `--color-text-secondary` | `#B9B2AF` | Descripciones, supporting copy |
| Texto muted | `--color-text-muted` | `#8C8684` | Metadata y notas secundarias |
| Texto sobre primario | `--color-text-on-primary` | `#F7ECE7` | Texto en botones y alertas rojas |
### Colores de estado
| Estado | Variable CSS | Hex | Texto |
|--------|-------------|-----|-------|
| Exito | `--color-success` | `#79B39B` | `#101A16` |
| Exito (bg) | `--color-success-bg` | `#1A2622` | - |
| Advertencia | `--color-warning` | `#D7A867` | `#271B0F` |
| Advertencia (bg) | `--color-warning-bg` | `#2D2318` | - |
| Error | `--color-error` | `#E14238` | `#F7ECE7` |
| Error (bg) | `--color-error-bg` | `#321715` | - |
| Info | `--color-info` | `#9FB3C5` | `#111B23` |
| Info (bg) | `--color-info-bg` | `#1B2630` | - |
La paleta es deliberadamente contenida. El rojo nunca compite con otros colores de alto voltaje: aparece como senal, no como festival. El resto del sistema se resuelve con metal, polvo tibio y negros industriales.
---
## 3. Reglas de Tipografia
### Familias tipograficas
```css
/* Heading: Oxanium - sustituto Google para la wordmark geometrica y angular observada en la guia */
--font-heading: 'Oxanium', sans-serif;
/* Body: Exo 2 - sans tecnica y estable para textos de producto, monitoreo y soporte */
--font-body: 'Exo 2', sans-serif;
/* Labels: Exo 2 - misma familia para paneles, specs y UI secundaria */
--font-mono: 'Exo 2', sans-serif;
```
**Google Fonts (implementacion web):**
```html
```
**Nota sobre sustitucion**: la marca observada usa una sans display propietaria, muy construida, de hombros rectos y aperturas tecnicas. Se compararon `Oxanium`, `Aldrich` y `Chakra Petch`; `Oxanium` conserva mejor el tono de wordmark de seguridad premium sin volverse futurista caricaturesca. Para body se compararon `Exo 2`, `Saira` y `Barlow`; `Exo 2` fue la mas equilibrada para lectura tecnica y soporte comercial.
### Escala tipografica
| Token | rem | px equiv. | Line height | Uso |
|-------|-----|-----------|-------------|-----|
| `--text-xs` | 0.75rem | 12px | 1.4 | Metadata, seriales, specs |
| `--text-sm` | 0.875rem | 14px | 1.5 | Labels, microcopy, botones |
| `--text-base` | 1rem | 16px | 1.625 | Body principal |
| `--text-lg` | 1.125rem | 18px | 1.55 | Intro copy y descripciones destacadas |
| `--text-xl` | 1.375rem | 22px | 1.3 | Titulo de card |
| `--text-2xl` | 1.75rem | 28px | 1.16 | H3 y carteles de seccion |
| `--text-3xl` | 2.5rem | 40px | 1.05 | H2 y lockups |
| `--text-4xl` | 3rem | 48px | 1.02 | Display de sistema |
| `--text-5xl` | 4rem | 64px | 0.94 | Hero y wordmark dominante |
### Pesos tipograficos
```css
--font-normal: 400;
--font-medium: 500;
--font-semibold: 600;
--font-bold: 700;
```
### Letter spacing
```css
--tracking-tight: -0.04em;
--tracking-normal: 0em;
--tracking-wide: 0.06em;
--tracking-wider: 0.14em;
```
La voz tipografica no es editorial ni amable. Se siente calibrada. El display debe parecer construido, casi grabado o estampado, mientras el cuerpo sostiene la informacion tecnica sin ruido visual.
---
## 4. Estilos de Componentes
### Botones
**Primario**
```
Background: var(--color-primary)
Color de texto: var(--color-text-on-primary)
Padding: 14px 22px
Border-radius: 16px
Font-weight: var(--font-semibold)
Font-size: var(--text-sm)
Transition: background 150ms ease, transform 150ms ease, box-shadow 150ms ease
Hover:
Background: var(--color-primary-hover)
box-shadow: 0 14px 28px rgba(225, 66, 56, 0.18)
Active/Pressed:
Background: var(--color-primary-active)
transform: translateY(1px)
Disabled:
Opacity: 0.45
Cursor: not-allowed
Focus:
Outline: 2px solid var(--color-accent)
Outline-offset: 2px
```
**Secundario**
```
Background: transparent
Color: var(--color-text)
Border: 1px solid rgba(233, 221, 215, 0.18)
Padding: 14px 22px
Border-radius: 16px
Hover:
Background: rgba(233, 221, 215, 0.05)
Border-color: rgba(233, 221, 215, 0.30)
```
**Ghost / Texto**
```
Background: transparent
Color: var(--color-accent)
Border: none
Padding: 0
Hover:
Color: var(--color-primary)
```
**Destructivo**
```
Background: var(--color-error)
Color: #F7ECE7
Misma estructura del primario
```
### Inputs de texto
```
Background: #2A2D31
Border: 1.5px solid #454A52
Border-radius: 16px
Padding: 12px 16px
Font-size: 16px
Color: #E9DDD7
Placeholder: #8C8684
Hover:
Border-color: #5A616A
Focus:
Border-color: #E14238
Box-shadow: 0 0 0 3px rgba(225, 66, 56, 0.16)
Outline: none
```
### Cards
```
Background: #2A2D31
Border: 1px solid #454A52
Border-radius: 16px
Padding: 24px
Box-shadow: 0 20px 38px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255,255,255,0.03)
Hover:
Border-color: rgba(240, 201, 194, 0.26)
Transform: translateY(-1px)
```
### Badges / Chips
```
Padding: 7px 12px
Border-radius: 9999px
Font-size: 12px
Font-weight: 600
Default:
Background: rgba(255,255,255,0.06)
Color: #E9DDD7
Primary:
Background: rgba(225,66,56,0.14)
Color: #F0C9C2
```
### Alertas / Toasts
```
Padding: 16px 20px
Border-radius: 16px
Border-left: 4px solid el color del estado
Background oscuro o fog overlay segun contexto
```
### Navegacion / Header
```
Background: #1D1F22 o transparente sobre hero dark
Border-bottom: 1px solid rgba(255,255,255,0.06)
Height: 64px
Padding horizontal: 24px
Links:
Color: #B9B2AF
Font-size: 12px
Font-weight: 600
Letter spacing: 0.10em
Text-transform: uppercase
Hover:
Color: #E9DDD7
```
---
## 5. Principios de Layout
### Escala de espaciado
```css
--space-1: 4px;
--space-2: 8px;
--space-3: 12px;
--space-4: 16px;
--space-5: 20px;
--space-6: 24px;
--space-8: 32px;
--space-10: 40px;
--space-12: 48px;
--space-16: 64px;
--space-20: 80px;
--space-24: 96px;
```
### Contenedores
```css
--container-sm: 640px;
--container-md: 768px;
--container-lg: 1120px;
--container-xl: 1280px;
```
### Grid
```
Sistema: 12 columnas
Gutter: 24px
Margin lateral: 20px en mobile, 32px en tablet, auto en desktop
```
### Filosofia de espaciado
Duwell no usa mucho aire decorativo. Usa espacio para aislar objeto, mensaje y panel. La composicion necesita calma, pero una calma tensa, con reservas claras para copy, producto y senales visuales.
---
## 6. Profundidad y Elevacion
### Sistema de sombras
```css
--shadow-none: none;
--shadow-sm: 0 8px 18px rgba(0, 0, 0, 0.18), inset 0 1px 0 rgba(255,255,255,0.03);
--shadow-md: 0 20px 38px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255,255,255,0.03);
--shadow-lg: 0 28px 50px rgba(0, 0, 0, 0.34), inset 0 1px 0 rgba(255,255,255,0.04);
--shadow-xl: 0 36px 64px rgba(0, 0, 0, 0.40), inset 0 1px 0 rgba(255,255,255,0.04);
```
### Niveles de elevacion
| Nivel | Token de sombra | Uso |
|-------|----------------|-----|
| 0 - Base | `--shadow-none` | Fondo carbon |
| 1 - Raised | `--shadow-sm` | Chips, mini paneles |
| 2 - Floating | `--shadow-md` | Cards principales y paneles de producto |
| 3 - Overlay | `--shadow-lg` | Posters, kiosks, signal modules |
| 4 - Modal | `--shadow-xl` | Hero objects, device showcases |
### Radios de borde
```css
--radius-none: 0px;
--radius-sm: 10px;
--radius-md: 16px;
--radius-lg: 24px;
--radius-xl: 32px;
--radius-full: 9999px;
```
El radio predominante es `16px`. No busca ternura, sino control industrial contemporaneo. Es suficiente para refinar el sistema sin quitarle rigidez funcional.
---
## 7. Lo que Si y lo que No
### Hacer
1. **Usa el rojo como indicador de estado o tension** - nunca debe perder su poder de alerta.
2. **Mantiene superficies oscuras, solidas y densas** - la marca necesita masa material.
3. **Reserva espacio claro para objetos, posters y monitores** - el producto debe leerse sin ruido.
4. **Usa paneles, marcos o ventanas como gesto grafico** - el sistema habla de observacion y control.
5. **Mantiene la tipografia display muy contenida y estructural** - menos expresiva, mas precisa.
6. **Usa fotografia low-key y luz puntual** - la escena debe sentirse nocturna y controlada.
### No hacer
1. **No conviertas el fondo en humo, nebula o gradientes blandos** - rompe el tono industrial.
2. **No dejes que el rojo cubra grandes superficies sin razon** - debe seguir siendo senal.
3. **No mezcles azules electricos, verdes o acentos brillantes extra** - ensucian el sistema.
4. **No pongas adornos en la zona de copy** - objetivos, marcos o iconos deben vivir aparte.
5. **No uses tipografia redonda o demasiado friendly** - la identidad perderia tension.
6. **No ablandes las cards con exceso de glass o blur** - la marca pide materia y control.
---
## 8. Comportamiento Responsive
### Breakpoints
```css
@media (min-width: 640px) { }
@media (min-width: 768px) { }
@media (min-width: 1024px) { }
@media (min-width: 1280px) { }
```
### Cambios por breakpoint
**Mobile (< 640px)**
- Navegacion: logo + menu resumido
- Grid: 1 columna
- Tipografia H1: 40px
- Padding de contenedor: 16px
- Cards: full-width
**Tablet (640px - 1024px)**
- Navegacion: links abreviados o drawer
- Grid: 2 columnas
- Tipografia H1: 48px
- Padding de contenedor: 24px
**Desktop (> 1024px)**
- Navegacion: full nav visible
- Grid: 12 columnas o composicion 7/5
- Tipografia H1: 64px
- Padding de contenedor: 32px o auto con max-width
### Touch targets
- Botones minimo: 44x44px
- Inputs: minimo 44px
- Elementos de control: hitbox minimo 44x44px
### Filosofia responsive
El sistema debe mantener lectura tecnica y composicion de vigilancia tanto en mobile como en desktop. Mobile-first en controles, desktop-first en presencia de marca y objetos.
---
## 9. Guia de Prompts para Agentes
### Prompt de inicializacion de sesion
```txt
Estas trabajando con el sistema visual de Duwell Surveillance.
PALETA: antracita #1D1F22, panel #2A2D31, rojo alerta #E14238, gris metal #8A919B y texto tibio #E9DDD7.
TIPOGRAFIA: headings con Oxanium, body y labels con Exo 2.
ESTILO: seguridad premium, industrial y oscura, con paneles de observacion, control visual y senales rojas contenidas.
TOKENS: usa siempre variables CSS y evita hardcodear colores fuera de la paleta.
MODO: oscuro.
```
### Prompt: Crear nueva pantalla
```txt
Crea una pantalla de [FUNCIONALIDAD] para Duwell Surveillance.
Requisitos:
- sigue el DESIGN.md de Duwell
- usa superficies oscuras y estructura de panel o monitor
- reserva el rojo para CTA, alerta o indicador de actividad
- debe sentirse premium, preciso y vigilante
```
### Prompt: Anadir componente al UI kit
```txt
Anade un componente de [TIPO] al sistema Duwell Surveillance.
Debe:
- usar exclusivamente los tokens del sistema
- incluir estados default, hover, active, disabled y focus
- sentirse tecnico, oscuro e industrial
- evitar fondos nebulosos o gradientes suaves
```
### Prompt: Revision de consistencia
```txt
Revisa esta interfaz y detecta que elementos no siguen el sistema Duwell Surveillance.
Para cada problema:
1. senala el elemento
2. explica por que rompe la identidad
3. corrige con el token o patron correcto
```
### Prompt: Variante de campana
```txt
Genera una variante promocional o de keynote para Duwell Surveillance manteniendo carbono, rojo alerta y composicion de observacion industrial.
No conviertas la marca en una landing glow genérica. Usa marcos, paneles, visores, luz roja puntual y superficies controladas.
```
---
## 10. Movimiento (Motion)
La board no documenta motion de forma explicita. El tono del sistema pide transiciones secas y medidas: aparicion de paneles, hover corto en CTA, desplazamientos minimos en cards y encendido puntual de indicadores. Nada continuo, nada playful.
**Nivel de motion**: subtle, no especificado literalmente en la guia
**Duraciones**: no especificadas en la board
**Easings**: no especificados en la board
**Propiedades animadas en hover**: color, shadow minima y desplazamiento de 1px
**Patrones de motion**: panel reveal, indicator glow breve, swap de vistas y focus states muy claros
```css
--ease-standard: cubic-bezier(0.2, 0.8, 0.2, 1);
--duration-fast: 150ms;
--duration-base: 220ms;
```
Respeta siempre `prefers-reduced-motion: reduce` y evita loops ambientales.
---
## Anexo: Stack tecnico detectado
- **Plataforma / builder**: no inferible desde la board, probablemente presentacion o brandbook
- **Animacion**: no especificada
- **3D**: no visible como requisito del sistema
- **Animacion vectorial**: no especificada
- **Comportamiento**: branding de seguridad con fuerte uso de objeto, papeleria, paneles y entorno fisico