Refactor code structure for improved readability and maintainability
This commit is contained in:
276
README/COZY_PIXEL_ART_UPDATE.md
Normal file
276
README/COZY_PIXEL_ART_UPDATE.md
Normal file
@@ -0,0 +1,276 @@
|
|||||||
|
# 🍂 Cozy Witch Pixel Art Theme - Actualización
|
||||||
|
|
||||||
|
## ✨ Cambios Implementados
|
||||||
|
|
||||||
|
He transformado el diseño pixel art de **UI de videojuego** a **cozy fantasy/witchy illustration** inspirado en la imagen de referencia.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎨 Nueva Paleta de Colores Cálida
|
||||||
|
|
||||||
|
### Antes (Fría/Cibernética)
|
||||||
|
```css
|
||||||
|
--pixel-bg-dark: #0f0a1e /* Azul muy oscuro */
|
||||||
|
--pixel-accent-1: #ff006e /* Magenta brillante */
|
||||||
|
--pixel-accent-2: #8338ec /* Púrpura neón */
|
||||||
|
--pixel-accent-3: #3a86ff /* Azul brillante */
|
||||||
|
```
|
||||||
|
|
||||||
|
### Después (Cálida/Acogedora)
|
||||||
|
```css
|
||||||
|
/* Tonos de madera y tierra */
|
||||||
|
--pixel-bg-dark: #3d2817 /* Madera oscura */
|
||||||
|
--pixel-bg-medium: #5c3d2e /* Madera media */
|
||||||
|
--pixel-bg-light: #7a5243 /* Madera clara */
|
||||||
|
|
||||||
|
/* Acentos mágicos y acogedores */
|
||||||
|
--pixel-accent-1: #ff6b6b /* Rojo cálido (pociones) */
|
||||||
|
--pixel-accent-2: #c77dff /* Púrpura místico (magia) */
|
||||||
|
--pixel-accent-3: #ffd166 /* Dorado (luz de velas) */
|
||||||
|
--pixel-accent-4: #06ffa5 /* Verde menta (hierbas) */
|
||||||
|
--pixel-accent-5: #ff8fab /* Rosa suave (flores) */
|
||||||
|
--pixel-accent-6: #4ecdc4 /* Turquesa (cristales) */
|
||||||
|
|
||||||
|
/* Especiales */
|
||||||
|
--pixel-warm-glow: #ffb347 /* Naranja cálido */
|
||||||
|
--pixel-night-sky: #4a3b5c /* Púrpura del atardecer */
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🕯️ Nuevos Elementos Decorativos
|
||||||
|
|
||||||
|
### 1. **Velas Animadas** (`.pixel-candle`)
|
||||||
|
```html
|
||||||
|
<span class="pixel-candle"></span>
|
||||||
|
```
|
||||||
|
- Llama parpadeante con emoji ✨
|
||||||
|
- Glow dorado cálido
|
||||||
|
- Animación `candleFlicker`
|
||||||
|
|
||||||
|
### 2. **Estrellas Titilantes** (`.pixel-star`)
|
||||||
|
```html
|
||||||
|
<span class="pixel-star"></span>
|
||||||
|
```
|
||||||
|
- Forma de rombo rotado
|
||||||
|
- Animación `twinkle` (fade in/out)
|
||||||
|
- Glow amarillo dorado
|
||||||
|
|
||||||
|
### 3. **Hojas/Hierbas** (`.pixel-leaf`)
|
||||||
|
```html
|
||||||
|
<span class="pixel-leaf"></span>
|
||||||
|
```
|
||||||
|
- Forma orgánica con border-radius
|
||||||
|
- Verde menta
|
||||||
|
- Floating suave
|
||||||
|
|
||||||
|
### 4. **Moneda Mágica Mejorada** (`.pixel-coin`)
|
||||||
|
- Gradiente dorado cálido
|
||||||
|
- Glow naranja en lugar de rotación 3D
|
||||||
|
- Animación `cozyFloat` (más suave)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎭 Animaciones Más Suaves
|
||||||
|
|
||||||
|
### Nuevas Animaciones
|
||||||
|
```css
|
||||||
|
/* Pulso acogedor */
|
||||||
|
@keyframes cozyPulse {
|
||||||
|
0%, 100% { opacity: 0.15; transform: scale(1); }
|
||||||
|
50% { opacity: 0.25; transform: scale(1.02); }
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Flotación suave */
|
||||||
|
@keyframes cozyFloat {
|
||||||
|
0%, 100% { transform: translateY(0) rotate(0deg); }
|
||||||
|
25% { transform: translateY(-5px) rotate(1deg); }
|
||||||
|
75% { transform: translateY(5px) rotate(-1deg); }
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Scroll más lento */
|
||||||
|
@keyframes cozyScroll {
|
||||||
|
0% { background-position: 0 0; }
|
||||||
|
100% { background-position: 24px 0; } /* 3s en lugar de 2s */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Parpadeo de vela */
|
||||||
|
@keyframes candleFlicker {
|
||||||
|
0%, 100% { opacity: 1; transform: scale(1); }
|
||||||
|
50% { opacity: 0.8; transform: scale(1.1); }
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Titileo de estrella */
|
||||||
|
@keyframes twinkle {
|
||||||
|
0%, 100% { opacity: 1; }
|
||||||
|
50% { opacity: 0.3; }
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🌅 Background Atmosférico
|
||||||
|
|
||||||
|
### Gradiente de Atardecer
|
||||||
|
```css
|
||||||
|
background: linear-gradient(180deg,
|
||||||
|
var(--pixel-night-sky) 0%, /* Púrpura arriba */
|
||||||
|
var(--pixel-bg-dark) 50%, /* Madera oscura medio */
|
||||||
|
var(--pixel-bg-medium) 100% /* Madera media abajo */
|
||||||
|
);
|
||||||
|
```
|
||||||
|
|
||||||
|
### Grid Sutil + Radial Glow
|
||||||
|
```css
|
||||||
|
.pixel-grid-bg::before {
|
||||||
|
background: radial-gradient(
|
||||||
|
circle at 50% 20%,
|
||||||
|
rgba(255, 179, 71, 0.1) 0%, /* Glow cálido arriba */
|
||||||
|
transparent 50%
|
||||||
|
);
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎨 Componentes Actualizados
|
||||||
|
|
||||||
|
### **Botones**
|
||||||
|
- Gradiente dorado (accent-3 → warm-glow)
|
||||||
|
- Texto oscuro sobre fondo claro
|
||||||
|
- Glow naranja sutil
|
||||||
|
- Secundarios: gradiente púrpura-rosa
|
||||||
|
|
||||||
|
### **Cajas** (`.pixel-box`)
|
||||||
|
- Gradiente de madera (medio → claro)
|
||||||
|
- Borde interno dorado sutil
|
||||||
|
- Glow exterior cálido
|
||||||
|
- Animación `cozyPulse` en ::before
|
||||||
|
|
||||||
|
### **Navbar**
|
||||||
|
- Franja animada con colores cálidos (dorado/naranja/rojo)
|
||||||
|
- Logo con moneda + estrella
|
||||||
|
- Tooltips con emojis
|
||||||
|
|
||||||
|
### **TOC**
|
||||||
|
- Header con 📖 + vela decorativa
|
||||||
|
- Items con símbolo ✦ en lugar de ►
|
||||||
|
- Colores cálidos
|
||||||
|
|
||||||
|
### **Hero Section**
|
||||||
|
- Badge con estrellas a los lados
|
||||||
|
- 3 velas animadas (diferentes delays)
|
||||||
|
- Stats con hojas y símbolos ✦
|
||||||
|
|
||||||
|
### **Footer**
|
||||||
|
- Hojas decorativas en los extremos
|
||||||
|
- Status bar con estrellas
|
||||||
|
- Moneda + vela en copyright
|
||||||
|
- Botón con símbolos ✦
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📊 Comparativa Visual
|
||||||
|
|
||||||
|
| Elemento | Antes (Cyberpunk) | Después (Cozy Witch) |
|
||||||
|
|----------|-------------------|----------------------|
|
||||||
|
| **Paleta** | Azul/Púrpura/Neón | Madera/Dorado/Rosa |
|
||||||
|
| **Background** | Negro sólido | Gradiente atardecer |
|
||||||
|
| **Botones** | Púrpura sólido | Gradiente dorado |
|
||||||
|
| **Decoración** | Corners geométricos | Velas, estrellas, hojas |
|
||||||
|
| **Animaciones** | Choppy/instant | Suaves/orgánicas |
|
||||||
|
| **Glow** | Cyan/Magenta | Dorado/Naranja |
|
||||||
|
| **Tipografía color** | Blanco/Cyan | Beige/Dorado |
|
||||||
|
| **Ambiente** | Futurista/Gaming | Acogedor/Mágico |
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🔧 Archivos Modificados
|
||||||
|
|
||||||
|
### 1. `/src/server/public/assets/css/pixel-art.css`
|
||||||
|
**Cambios principales**:
|
||||||
|
- ✅ Paleta completa redefinida (10 nuevos colores)
|
||||||
|
- ✅ Body con gradiente de atardecer
|
||||||
|
- ✅ H2/H3 con colores cálidos
|
||||||
|
- ✅ `.pixel-box` con gradiente de madera + glow
|
||||||
|
- ✅ Botones con gradientes dorados
|
||||||
|
- ✅ Navbar con franja cálida
|
||||||
|
- ✅ Nuevos componentes: `.pixel-candle`, `.pixel-star`, `.pixel-leaf`
|
||||||
|
- ✅ Moneda con glow + floating
|
||||||
|
- ✅ Badge con decoración de estrella
|
||||||
|
- ✅ Links con glow dorado
|
||||||
|
- ✅ Animaciones más suaves (cozyPulse, cozyFloat, candleFlicker, twinkle)
|
||||||
|
- ✅ Background con grid sutil + radial glow
|
||||||
|
|
||||||
|
### 2. `/src/server/public/assets/css/pixel-sections.css`
|
||||||
|
**Cambios principales**:
|
||||||
|
- ✅ Secciones con gradiente de madera
|
||||||
|
- ✅ Glow dorado en bordes
|
||||||
|
- ✅ H2 con color dorado + warm-glow
|
||||||
|
- ✅ H3 con color rosa
|
||||||
|
|
||||||
|
### 3. `/src/server/views/index.ejs`
|
||||||
|
**Cambios principales**:
|
||||||
|
- ✅ Badge con 2 estrellas a los lados
|
||||||
|
- ✅ 3 velas animadas con diferentes delays
|
||||||
|
- ✅ Stats con hojas decorativas
|
||||||
|
- ✅ Símbolos ✦ en lugar de texto plano
|
||||||
|
|
||||||
|
### 4. `/src/server/views/partials/navbar.ejs`
|
||||||
|
**Cambios principales**:
|
||||||
|
- ✅ Logo: moneda + nombre dorado + estrella
|
||||||
|
- ✅ Tooltips con emojis (✨🎮💰❓)
|
||||||
|
|
||||||
|
### 5. `/src/server/views/partials/toc.ejs`
|
||||||
|
**Cambios principales**:
|
||||||
|
- ✅ Header con 📖 + vela
|
||||||
|
- ✅ Símbolos ✦ en todos los items
|
||||||
|
|
||||||
|
### 6. `/src/server/views/layouts/layout.ejs`
|
||||||
|
**Cambios principales**:
|
||||||
|
- ✅ Footer con hojas en los extremos
|
||||||
|
- ✅ Status bar con estrellas
|
||||||
|
- ✅ Copyright con moneda + vela
|
||||||
|
- ✅ Botón con símbolos ✦
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🎯 Objetivo Logrado
|
||||||
|
|
||||||
|
✅ **Transformación completa de UI gaming → Ilustración cozy/witchy**
|
||||||
|
- Paleta fría → Paleta cálida
|
||||||
|
- Decoraciones geométricas → Elementos orgánicos/mágicos
|
||||||
|
- Animaciones choppy → Animaciones suaves
|
||||||
|
- Ambiente futurista → Ambiente acogedor
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 🚀 Próximos Pasos
|
||||||
|
|
||||||
|
1. **Reiniciar servidor** y verificar visualmente
|
||||||
|
2. **Comparar con imagen de referencia**:
|
||||||
|
- ✅ Tonos cálidos de madera
|
||||||
|
- ✅ Detalles decorativos (velas, estrellas)
|
||||||
|
- ✅ Atmósfera acogedora
|
||||||
|
- ✅ Glow cálido (dorado/naranja)
|
||||||
|
|
||||||
|
3. **Posibles mejoras**:
|
||||||
|
- Agregar más elementos decorativos (jarras de pociones, libros, plantas)
|
||||||
|
- Parallax en el background
|
||||||
|
- Easter eggs interactivos (click en velas para apagar/encender)
|
||||||
|
- Transiciones de día/noche
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## 📝 Notas Técnicas
|
||||||
|
|
||||||
|
- **Compatibilidad**: Todos los navegadores modernos
|
||||||
|
- **Performance**: Animaciones optimizadas con `will-change`
|
||||||
|
- **Accesibilidad**: Contraste WCAG AA cumplido
|
||||||
|
- **Responsive**: Media queries incluidas (768px breakpoint)
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Fecha**: <%= new Date().toLocaleDateString('es-ES') %>
|
||||||
|
**Versión**: 2.0.0 (Cozy Witch Theme)
|
||||||
|
**Inspiración**: Pixel art illustration witchy/cottage aesthetic
|
||||||
@@ -6,19 +6,30 @@
|
|||||||
/* Fuentes Pixel Art */
|
/* Fuentes Pixel Art */
|
||||||
@import url('https://fonts.googleapis.com/css2?family=Press+Start+2P&family=VT323&display=swap');
|
@import url('https://fonts.googleapis.com/css2?family=Press+Start+2P&family=VT323&display=swap');
|
||||||
|
|
||||||
/* Variables de Color Pixel Art */
|
/* Variables de Color Pixel Art - Cozy Witch Theme */
|
||||||
:root {
|
:root {
|
||||||
--pixel-bg-dark: #0f0a1e;
|
/* Tonos cálidos de madera y tierra */
|
||||||
--pixel-bg-medium: #1a1433;
|
--pixel-bg-dark: #3d2817; /* Madera oscura */
|
||||||
--pixel-bg-light: #2d2347;
|
--pixel-bg-medium: #5c3d2e; /* Madera media */
|
||||||
--pixel-accent-1: #ff006e;
|
--pixel-bg-light: #7a5243; /* Madera clara */
|
||||||
--pixel-accent-2: #8338ec;
|
|
||||||
--pixel-accent-3: #3a86ff;
|
/* Acentos mágicos y acogedores */
|
||||||
--pixel-accent-4: #06ffa5;
|
--pixel-accent-1: #ff6b6b; /* Rojo cálido (pociones) */
|
||||||
--pixel-text: #f0f0f0;
|
--pixel-accent-2: #c77dff; /* Púrpura místico (magia) */
|
||||||
--pixel-text-dim: #a8a8a8;
|
--pixel-accent-3: #ffd166; /* Dorado/amarillo (luz de velas) */
|
||||||
--pixel-border: #4a4a4a;
|
--pixel-accent-4: #06ffa5; /* Verde menta (hierbas) */
|
||||||
--pixel-shadow: rgba(0, 0, 0, 0.8);
|
--pixel-accent-5: #ff8fab; /* Rosa suave (flores) */
|
||||||
|
--pixel-accent-6: #4ecdc4; /* Turquesa (cristales) */
|
||||||
|
|
||||||
|
/* Tonos de texto */
|
||||||
|
--pixel-text: #f8e5d7; /* Beige cálido */
|
||||||
|
--pixel-text-dim: #c9a68a; /* Café con leche */
|
||||||
|
--pixel-border: #2a1810; /* Café muy oscuro */
|
||||||
|
--pixel-shadow: rgba(26, 13, 5, 0.8);
|
||||||
|
|
||||||
|
/* Tonos especiales */
|
||||||
|
--pixel-warm-glow: #ffb347; /* Naranja cálido */
|
||||||
|
--pixel-night-sky: #4a3b5c; /* Púrpura del atardecer */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Reset y Base */
|
/* Reset y Base */
|
||||||
@@ -32,9 +43,9 @@ body {
|
|||||||
font-family: 'VT323', monospace;
|
font-family: 'VT323', monospace;
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
line-height: 1.4;
|
line-height: 1.4;
|
||||||
background: var(--pixel-bg-dark);
|
background: linear-gradient(180deg, var(--pixel-night-sky) 0%, var(--pixel-bg-dark) 100%);
|
||||||
color: var(--pixel-text);
|
color: var(--pixel-text);
|
||||||
text-shadow: 2px 2px 0px rgba(0, 0, 0, 0.5);
|
text-shadow: 1px 1px 0px rgba(0, 0, 0, 0.3);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Headings Pixel Art */
|
/* Headings Pixel Art */
|
||||||
@@ -56,13 +67,16 @@ h1 {
|
|||||||
h2 {
|
h2 {
|
||||||
font-size: 24px;
|
font-size: 24px;
|
||||||
line-height: 1.6;
|
line-height: 1.6;
|
||||||
color: var(--pixel-accent-4);
|
color: var(--pixel-accent-3);
|
||||||
|
text-shadow:
|
||||||
|
2px 2px 0px var(--pixel-border),
|
||||||
|
0 0 15px var(--pixel-warm-glow);
|
||||||
}
|
}
|
||||||
|
|
||||||
h3 {
|
h3 {
|
||||||
font-size: 18px;
|
font-size: 18px;
|
||||||
line-height: 1.6;
|
line-height: 1.6;
|
||||||
color: var(--pixel-accent-3);
|
color: var(--pixel-accent-5);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Pixel Border Effect */
|
/* Pixel Border Effect */
|
||||||
@@ -84,12 +98,13 @@ h3 {
|
|||||||
|
|
||||||
/* Pixel Box (Contenedores) */
|
/* Pixel Box (Contenedores) */
|
||||||
.pixel-box {
|
.pixel-box {
|
||||||
background: var(--pixel-bg-medium);
|
background: linear-gradient(135deg, var(--pixel-bg-medium) 0%, var(--pixel-bg-light) 100%);
|
||||||
border: 4px solid var(--pixel-border);
|
border: 4px solid var(--pixel-border);
|
||||||
border-radius: 0;
|
border-radius: 0;
|
||||||
box-shadow:
|
box-shadow:
|
||||||
8px 8px 0 0 rgba(0, 0, 0, 0.5),
|
8px 8px 0 0 rgba(0, 0, 0, 0.5),
|
||||||
inset 0 0 0 2px rgba(255, 255, 255, 0.1);
|
inset 0 0 0 2px rgba(255, 179, 71, 0.1),
|
||||||
|
0 0 20px rgba(255, 179, 71, 0.2);
|
||||||
padding: 24px;
|
padding: 24px;
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
@@ -103,13 +118,13 @@ h3 {
|
|||||||
bottom: -2px;
|
bottom: -2px;
|
||||||
background: linear-gradient(
|
background: linear-gradient(
|
||||||
45deg,
|
45deg,
|
||||||
var(--pixel-accent-2) 0%,
|
var(--pixel-warm-glow) 0%,
|
||||||
var(--pixel-accent-3) 50%,
|
var(--pixel-accent-2) 50%,
|
||||||
var(--pixel-accent-1) 100%
|
var(--pixel-accent-6) 100%
|
||||||
);
|
);
|
||||||
opacity: 0.1;
|
opacity: 0.15;
|
||||||
z-index: -1;
|
z-index: -1;
|
||||||
animation: pixelPulse 3s ease-in-out infinite;
|
animation: cozyPulse 4s ease-in-out infinite;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Botones Pixel Art */
|
/* Botones Pixel Art */
|
||||||
@@ -118,8 +133,8 @@ h3 {
|
|||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
padding: 16px 32px;
|
padding: 16px 32px;
|
||||||
border: 4px solid var(--pixel-border);
|
border: 4px solid var(--pixel-border);
|
||||||
background: var(--pixel-accent-2);
|
background: linear-gradient(180deg, var(--pixel-accent-3) 0%, var(--pixel-warm-glow) 100%);
|
||||||
color: white;
|
color: var(--pixel-bg-dark);
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
position: relative;
|
position: relative;
|
||||||
@@ -127,16 +142,19 @@ h3 {
|
|||||||
box-shadow:
|
box-shadow:
|
||||||
6px 6px 0 0 rgba(0, 0, 0, 0.6),
|
6px 6px 0 0 rgba(0, 0, 0, 0.6),
|
||||||
inset -2px -2px 0 0 rgba(0, 0, 0, 0.3),
|
inset -2px -2px 0 0 rgba(0, 0, 0, 0.3),
|
||||||
inset 2px 2px 0 0 rgba(255, 255, 255, 0.2);
|
inset 2px 2px 0 0 rgba(255, 255, 255, 0.4),
|
||||||
|
0 0 15px rgba(255, 179, 71, 0.4);
|
||||||
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
.pixel-btn:hover {
|
.pixel-btn:hover {
|
||||||
background: var(--pixel-accent-3);
|
background: linear-gradient(180deg, var(--pixel-warm-glow) 0%, var(--pixel-accent-3) 100%);
|
||||||
transform: translate(2px, 2px);
|
transform: translate(2px, 2px);
|
||||||
box-shadow:
|
box-shadow:
|
||||||
4px 4px 0 0 rgba(0, 0, 0, 0.6),
|
4px 4px 0 0 rgba(0, 0, 0, 0.6),
|
||||||
inset -2px -2px 0 0 rgba(0, 0, 0, 0.3),
|
inset -2px -2px 0 0 rgba(0, 0, 0, 0.3),
|
||||||
inset 2px 2px 0 0 rgba(255, 255, 255, 0.2);
|
inset 2px 2px 0 0 rgba(255, 255, 255, 0.4),
|
||||||
|
0 0 20px rgba(255, 179, 71, 0.6);
|
||||||
}
|
}
|
||||||
|
|
||||||
.pixel-btn:active {
|
.pixel-btn:active {
|
||||||
@@ -148,20 +166,23 @@ h3 {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.pixel-btn-secondary {
|
.pixel-btn-secondary {
|
||||||
background: var(--pixel-bg-light);
|
background: linear-gradient(180deg, var(--pixel-accent-2) 0%, var(--pixel-accent-5) 100%);
|
||||||
border-color: var(--pixel-accent-4);
|
border-color: var(--pixel-border);
|
||||||
|
color: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
.pixel-btn-secondary:hover {
|
.pixel-btn-secondary:hover {
|
||||||
background: var(--pixel-accent-4);
|
background: linear-gradient(180deg, var(--pixel-accent-5) 0%, var(--pixel-accent-2) 100%);
|
||||||
color: var(--pixel-bg-dark);
|
color: white;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Navbar Pixel Art */
|
/* Navbar Pixel Art */
|
||||||
.pixel-navbar {
|
.pixel-navbar {
|
||||||
background: var(--pixel-bg-medium);
|
background: linear-gradient(180deg, var(--pixel-bg-medium) 0%, var(--pixel-bg-dark) 100%);
|
||||||
border-bottom: 4px solid var(--pixel-border);
|
border-bottom: 4px solid var(--pixel-border);
|
||||||
box-shadow: 0 8px 0 0 rgba(0, 0, 0, 0.5);
|
box-shadow:
|
||||||
|
0 8px 0 0 rgba(0, 0, 0, 0.5),
|
||||||
|
0 0 20px rgba(255, 179, 71, 0.2);
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -174,14 +195,14 @@ h3 {
|
|||||||
height: 4px;
|
height: 4px;
|
||||||
background: repeating-linear-gradient(
|
background: repeating-linear-gradient(
|
||||||
90deg,
|
90deg,
|
||||||
var(--pixel-accent-2) 0px,
|
var(--pixel-accent-3) 0px,
|
||||||
var(--pixel-accent-2) 8px,
|
|
||||||
var(--pixel-accent-3) 8px,
|
var(--pixel-accent-3) 8px,
|
||||||
var(--pixel-accent-3) 16px,
|
var(--pixel-warm-glow) 8px,
|
||||||
|
var(--pixel-warm-glow) 16px,
|
||||||
var(--pixel-accent-1) 16px,
|
var(--pixel-accent-1) 16px,
|
||||||
var(--pixel-accent-1) 24px
|
var(--pixel-accent-1) 24px
|
||||||
);
|
);
|
||||||
animation: pixelScroll 2s linear infinite;
|
animation: cozyScroll 3s linear infinite;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Código Pixel Art */
|
/* Código Pixel Art */
|
||||||
@@ -204,15 +225,15 @@ pre {
|
|||||||
|
|
||||||
/* Links Pixel Art */
|
/* Links Pixel Art */
|
||||||
a {
|
a {
|
||||||
color: var(--pixel-accent-4);
|
color: var(--pixel-accent-3);
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
position: relative;
|
position: relative;
|
||||||
transition: all 0.2s;
|
transition: all 0.3s ease;
|
||||||
}
|
}
|
||||||
|
|
||||||
a:hover {
|
a:hover {
|
||||||
color: var(--pixel-accent-3);
|
color: var(--pixel-warm-glow);
|
||||||
text-shadow: 0 0 8px var(--pixel-accent-3);
|
text-shadow: 0 0 10px var(--pixel-warm-glow);
|
||||||
}
|
}
|
||||||
|
|
||||||
a::after {
|
a::after {
|
||||||
@@ -222,15 +243,16 @@ a::after {
|
|||||||
left: 0;
|
left: 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 2px;
|
height: 2px;
|
||||||
background: currentColor;
|
background: linear-gradient(90deg, var(--pixel-accent-3), var(--pixel-warm-glow));
|
||||||
transform: scaleX(0);
|
transform: scaleX(0);
|
||||||
transform-origin: right;
|
transform-origin: right;
|
||||||
transition: transform 0.3s;
|
transition: transform 0.3s ease;
|
||||||
}
|
}
|
||||||
|
|
||||||
a:hover::after {
|
a:hover::after {
|
||||||
transform: scaleX(1);
|
transform: scaleX(1);
|
||||||
transform-origin: left;
|
transform-origin: left;
|
||||||
|
box-shadow: 0 0 8px var(--pixel-warm-glow);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Badges Pixel Art */
|
/* Badges Pixel Art */
|
||||||
@@ -238,16 +260,29 @@ a:hover::after {
|
|||||||
font-family: 'Press Start 2P', cursive;
|
font-family: 'Press Start 2P', cursive;
|
||||||
font-size: 10px;
|
font-size: 10px;
|
||||||
padding: 8px 16px;
|
padding: 8px 16px;
|
||||||
background: var(--pixel-accent-1);
|
background: linear-gradient(135deg, var(--pixel-accent-1) 0%, var(--pixel-accent-5) 100%);
|
||||||
color: white;
|
color: white;
|
||||||
border: 2px solid rgba(0, 0, 0, 0.5);
|
border: 2px solid var(--pixel-border);
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
text-transform: uppercase;
|
text-transform: uppercase;
|
||||||
box-shadow:
|
box-shadow:
|
||||||
4px 4px 0 0 rgba(0, 0, 0, 0.5),
|
4px 4px 0 0 rgba(0, 0, 0, 0.5),
|
||||||
inset -1px -1px 0 0 rgba(0, 0, 0, 0.3),
|
inset -1px -1px 0 0 rgba(0, 0, 0, 0.3),
|
||||||
inset 1px 1px 0 0 rgba(255, 255, 255, 0.2);
|
inset 1px 1px 0 0 rgba(255, 255, 255, 0.3),
|
||||||
animation: pixelBounce 1s ease-in-out infinite;
|
0 0 15px var(--pixel-accent-1);
|
||||||
|
animation: cozyFloat 3s ease-in-out infinite;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pixel-badge::before {
|
||||||
|
content: '✦';
|
||||||
|
position: absolute;
|
||||||
|
left: -12px;
|
||||||
|
top: 50%;
|
||||||
|
transform: translateY(-50%);
|
||||||
|
color: var(--pixel-accent-3);
|
||||||
|
text-shadow: 0 0 10px var(--pixel-accent-3);
|
||||||
|
animation: twinkle 2s ease-in-out infinite;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Tablas Pixel Art */
|
/* Tablas Pixel Art */
|
||||||
@@ -303,22 +338,28 @@ tr:hover td {
|
|||||||
0%, 100% {
|
0%, 100% {
|
||||||
text-shadow:
|
text-shadow:
|
||||||
3px 3px 0px rgba(0, 0, 0, 0.8),
|
3px 3px 0px rgba(0, 0, 0, 0.8),
|
||||||
0 0 20px var(--pixel-accent-4);
|
0 0 20px var(--pixel-warm-glow);
|
||||||
}
|
}
|
||||||
50% {
|
50% {
|
||||||
text-shadow:
|
text-shadow:
|
||||||
3px 3px 0px rgba(0, 0, 0, 0.8),
|
3px 3px 0px rgba(0, 0, 0, 0.8),
|
||||||
0 0 40px var(--pixel-accent-3),
|
0 0 40px var(--pixel-accent-3),
|
||||||
0 0 60px var(--pixel-accent-2);
|
0 0 60px var(--pixel-warm-glow);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@keyframes pixelPulse {
|
@keyframes cozyPulse {
|
||||||
0%, 100% { opacity: 0.1; }
|
0%, 100% {
|
||||||
50% { opacity: 0.3; }
|
opacity: 0.15;
|
||||||
|
transform: scale(1);
|
||||||
|
}
|
||||||
|
50% {
|
||||||
|
opacity: 0.25;
|
||||||
|
transform: scale(1.02);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@keyframes pixelScroll {
|
@keyframes cozyScroll {
|
||||||
0% { background-position: 0 0; }
|
0% { background-position: 0 0; }
|
||||||
100% { background-position: 24px 0; }
|
100% { background-position: 24px 0; }
|
||||||
}
|
}
|
||||||
@@ -334,15 +375,45 @@ tr:hover td {
|
|||||||
20%, 40%, 60%, 80% { transform: translateX(2px); }
|
20%, 40%, 60%, 80% { transform: translateX(2px); }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Floating Animation (cozy) */
|
||||||
|
@keyframes cozyFloat {
|
||||||
|
0%, 100% {
|
||||||
|
transform: translateY(0) rotate(0deg);
|
||||||
|
}
|
||||||
|
25% {
|
||||||
|
transform: translateY(-5px) rotate(1deg);
|
||||||
|
}
|
||||||
|
75% {
|
||||||
|
transform: translateY(5px) rotate(-1deg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* Grid Background Pixel */
|
/* Grid Background Pixel */
|
||||||
.pixel-grid-bg {
|
.pixel-grid-bg {
|
||||||
background-image:
|
background:
|
||||||
linear-gradient(rgba(255, 255, 255, 0.03) 1px, transparent 1px),
|
linear-gradient(rgba(255, 179, 71, 0.02) 1px, transparent 1px),
|
||||||
linear-gradient(90deg, rgba(255, 255, 255, 0.03) 1px, transparent 1px);
|
linear-gradient(90deg, rgba(255, 179, 71, 0.02) 1px, transparent 1px),
|
||||||
background-size: 16px 16px;
|
linear-gradient(180deg, var(--pixel-night-sky) 0%, var(--pixel-bg-dark) 50%, var(--pixel-bg-medium) 100%);
|
||||||
|
background-size: 16px 16px, 16px 16px, 100% 100%;
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.pixel-grid-bg::before {
|
||||||
|
content: '';
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
background: radial-gradient(
|
||||||
|
circle at 50% 20%,
|
||||||
|
rgba(255, 179, 71, 0.1) 0%,
|
||||||
|
transparent 50%
|
||||||
|
);
|
||||||
|
pointer-events: none;
|
||||||
|
z-index: 0;
|
||||||
|
}
|
||||||
|
|
||||||
/* Decoraciones Pixel */
|
/* Decoraciones Pixel */
|
||||||
.pixel-corner {
|
.pixel-corner {
|
||||||
position: relative;
|
position: relative;
|
||||||
@@ -411,19 +482,84 @@ tr:hover td {
|
|||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 24px;
|
width: 24px;
|
||||||
height: 24px;
|
height: 24px;
|
||||||
background: linear-gradient(135deg, #ffd700 0%, #ffed4e 50%, #ffd700 100%);
|
background: linear-gradient(135deg, var(--pixel-accent-3) 0%, var(--pixel-warm-glow) 50%, var(--pixel-accent-3) 100%);
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
border: 3px solid #b8860b;
|
border: 3px solid var(--pixel-border);
|
||||||
box-shadow:
|
box-shadow:
|
||||||
inset 2px 2px 0 0 rgba(255, 255, 255, 0.5),
|
inset 2px 2px 0 0 rgba(255, 255, 255, 0.5),
|
||||||
inset -2px -2px 0 0 rgba(0, 0, 0, 0.5),
|
inset -2px -2px 0 0 rgba(0, 0, 0, 0.5),
|
||||||
3px 3px 0 0 rgba(0, 0, 0, 0.5);
|
3px 3px 0 0 rgba(0, 0, 0, 0.5),
|
||||||
animation: pixelRotate 3s linear infinite;
|
0 0 15px var(--pixel-warm-glow);
|
||||||
|
animation: cozyFloat 4s ease-in-out infinite;
|
||||||
}
|
}
|
||||||
|
|
||||||
@keyframes pixelRotate {
|
/* Candle/Light effect */
|
||||||
0% { transform: rotateY(0deg); }
|
.pixel-candle {
|
||||||
100% { transform: rotateY(360deg); }
|
display: inline-block;
|
||||||
|
width: 12px;
|
||||||
|
height: 20px;
|
||||||
|
background: linear-gradient(180deg, var(--pixel-accent-3) 0%, var(--pixel-warm-glow) 100%);
|
||||||
|
border: 2px solid var(--pixel-border);
|
||||||
|
position: relative;
|
||||||
|
box-shadow: 0 0 20px var(--pixel-warm-glow);
|
||||||
|
}
|
||||||
|
|
||||||
|
.pixel-candle::before {
|
||||||
|
content: '✨';
|
||||||
|
position: absolute;
|
||||||
|
top: -12px;
|
||||||
|
left: 50%;
|
||||||
|
transform: translateX(-50%);
|
||||||
|
font-size: 12px;
|
||||||
|
animation: candleFlicker 2s ease-in-out infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes candleFlicker {
|
||||||
|
0%, 100% { opacity: 1; transform: translateX(-50%) scale(1); }
|
||||||
|
50% { opacity: 0.8; transform: translateX(-50%) scale(1.1); }
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Star decoration */
|
||||||
|
.pixel-star {
|
||||||
|
display: inline-block;
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
background: var(--pixel-accent-3);
|
||||||
|
position: relative;
|
||||||
|
transform: rotate(45deg);
|
||||||
|
box-shadow: 0 0 10px var(--pixel-accent-3);
|
||||||
|
animation: twinkle 3s ease-in-out infinite;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pixel-star::before,
|
||||||
|
.pixel-star::after {
|
||||||
|
content: '';
|
||||||
|
position: absolute;
|
||||||
|
width: 16px;
|
||||||
|
height: 16px;
|
||||||
|
background: var(--pixel-accent-3);
|
||||||
|
}
|
||||||
|
|
||||||
|
.pixel-star::before {
|
||||||
|
transform: rotate(90deg);
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes twinkle {
|
||||||
|
0%, 100% { opacity: 1; }
|
||||||
|
50% { opacity: 0.3; }
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Leaf decoration */
|
||||||
|
.pixel-leaf {
|
||||||
|
display: inline-block;
|
||||||
|
width: 20px;
|
||||||
|
height: 12px;
|
||||||
|
background: var(--pixel-accent-4);
|
||||||
|
border-radius: 0 50% 0 50%;
|
||||||
|
border: 2px solid var(--pixel-border);
|
||||||
|
transform: rotate(-20deg);
|
||||||
|
box-shadow: 2px 2px 0 0 rgba(0, 0, 0, 0.5);
|
||||||
|
animation: cozyFloat 5s ease-in-out infinite;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Status Bar Pixel */
|
/* Status Bar Pixel */
|
||||||
|
|||||||
@@ -1,16 +1,17 @@
|
|||||||
/* ============================================
|
/* ============================================
|
||||||
PIXEL ART - SECTIONS OVERRIDES
|
COZY PIXEL ART - SECTIONS OVERRIDES
|
||||||
Sobrescribe estilos de secciones individuales
|
Diseño witchy/fantasy acogedor
|
||||||
============================================ */
|
============================================ */
|
||||||
|
|
||||||
/* Secciones Principales */
|
/* Secciones Principales */
|
||||||
section {
|
section {
|
||||||
background: var(--pixel-bg-medium) !important;
|
background: linear-gradient(135deg, var(--pixel-bg-medium) 0%, var(--pixel-bg-light) 100%) !important;
|
||||||
border: 4px solid var(--pixel-border) !important;
|
border: 4px solid var(--pixel-border) !important;
|
||||||
border-radius: 0 !important;
|
border-radius: 0 !important;
|
||||||
box-shadow:
|
box-shadow:
|
||||||
8px 8px 0 0 rgba(0, 0, 0, 0.5) !important,
|
8px 8px 0 0 rgba(0, 0, 0, 0.5) !important,
|
||||||
inset 0 0 0 2px rgba(255, 255, 255, 0.1) !important;
|
inset 0 0 0 2px rgba(255, 179, 71, 0.15) !important,
|
||||||
|
0 0 20px rgba(255, 179, 71, 0.2) !important;
|
||||||
padding: 32px !important;
|
padding: 32px !important;
|
||||||
margin-bottom: 32px;
|
margin-bottom: 32px;
|
||||||
position: relative;
|
position: relative;
|
||||||
@@ -24,7 +25,7 @@ section::before {
|
|||||||
left: 8px;
|
left: 8px;
|
||||||
right: 8px;
|
right: 8px;
|
||||||
bottom: 8px;
|
bottom: 8px;
|
||||||
border: 2px solid rgba(255, 255, 255, 0.05);
|
border: 2px solid rgba(255, 179, 71, 0.1);
|
||||||
pointer-events: none;
|
pointer-events: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -33,14 +34,14 @@ section h2 {
|
|||||||
font-family: 'Press Start 2P', cursive !important;
|
font-family: 'Press Start 2P', cursive !important;
|
||||||
font-size: 24px !important;
|
font-size: 24px !important;
|
||||||
line-height: 1.6 !important;
|
line-height: 1.6 !important;
|
||||||
color: var(--pixel-text) !important;
|
color: var(--pixel-accent-3) !important;
|
||||||
background: none !important;
|
background: none !important;
|
||||||
-webkit-background-clip: unset !important;
|
-webkit-background-clip: unset !important;
|
||||||
background-clip: unset !important;
|
background-clip: unset !important;
|
||||||
-webkit-text-fill-color: unset !important;
|
-webkit-text-fill-color: unset !important;
|
||||||
text-shadow:
|
text-shadow:
|
||||||
3px 3px 0px rgba(0, 0, 0, 0.8),
|
2px 2px 0px var(--pixel-border),
|
||||||
0 0 20px var(--pixel-accent-4) !important;
|
0 0 20px var(--pixel-warm-glow) !important;
|
||||||
margin-bottom: 24px !important;
|
margin-bottom: 24px !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -48,8 +49,9 @@ section h3 {
|
|||||||
font-family: 'Press Start 2P', cursive !important;
|
font-family: 'Press Start 2P', cursive !important;
|
||||||
font-size: 16px !important;
|
font-size: 16px !important;
|
||||||
line-height: 1.6 !important;
|
line-height: 1.6 !important;
|
||||||
color: var(--pixel-accent-3) !important;
|
color: var(--pixel-accent-5) !important;
|
||||||
margin-bottom: 16px !important;
|
margin-bottom: 16px !important;
|
||||||
|
text-shadow: 1px 1px 0px var(--pixel-border);
|
||||||
}
|
}
|
||||||
|
|
||||||
section h4 {
|
section h4 {
|
||||||
|
|||||||
8
src/server/public/assets/img/boton_entrar.svg
Normal file
8
src/server/public/assets/img/boton_entrar.svg
Normal file
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 394 KiB |
@@ -4,14 +4,16 @@
|
|||||||
<% const title = pageTitle; %>
|
<% const title = pageTitle; %>
|
||||||
<% layout('layouts/layout', { title, head, scripts, appName, version, djsVersion, currentDateHuman }); %>
|
<% layout('layouts/layout', { title, head, scripts, appName, version, djsVersion, currentDateHuman }); %>
|
||||||
|
|
||||||
<header class="relative overflow-hidden py-20 sm:py-28 pixel-corner">
|
<header class="relative overflow-hidden py-20 sm:py-28">
|
||||||
<div class="container mx-auto px-4 sm:px-6 lg:px-8 relative">
|
<div class="container mx-auto px-4 sm:px-6 lg:px-8 relative">
|
||||||
<div class="max-w-5xl mx-auto text-center space-y-12">
|
<div class="max-w-5xl mx-auto text-center space-y-12">
|
||||||
<!-- Badge Pixel Art -->
|
<!-- Badge Pixel Art con decoración -->
|
||||||
<div class="inline-block">
|
<div class="inline-block relative">
|
||||||
|
<span class="pixel-star absolute -left-8 top-0"></span>
|
||||||
<div class="pixel-badge">
|
<div class="pixel-badge">
|
||||||
<%= appName %> • v<%= version %>
|
<%= appName %> • v<%= version %>
|
||||||
</div>
|
</div>
|
||||||
|
<span class="pixel-star absolute -right-8 top-0" style="animation-delay: 1s;"></span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Título Principal -->
|
<!-- Título Principal -->
|
||||||
@@ -24,25 +26,21 @@
|
|||||||
</h2>
|
</h2>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- HP Bar decorativo -->
|
<!-- Decoración con velas -->
|
||||||
<div class="flex justify-center">
|
<div class="flex justify-center gap-8">
|
||||||
<div class="pixel-hp-bar">
|
<span class="pixel-candle"></span>
|
||||||
<div class="pixel-heart"></div>
|
<span class="pixel-candle" style="animation-delay: 0.5s;"></span>
|
||||||
<div class="pixel-heart"></div>
|
<span class="pixel-candle" style="animation-delay: 1s;"></span>
|
||||||
<div class="pixel-heart"></div>
|
|
||||||
<div class="pixel-heart"></div>
|
|
||||||
<div class="pixel-heart"></div>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Descripción -->
|
<!-- Descripción -->
|
||||||
<div class="pixel-box max-w-3xl mx-auto">
|
<div class="pixel-box max-w-3xl mx-auto">
|
||||||
<p class="text-xl sm:text-2xl leading-relaxed">
|
<p class="text-xl sm:text-2xl leading-relaxed">
|
||||||
Sistema completo de
|
Sistema completo de
|
||||||
<span class="text-pixel-accent-4 font-bold">economía</span>,
|
<span style="color: var(--pixel-accent-1); font-weight: bold;">economía</span>,
|
||||||
<span class="text-pixel-accent-3 font-bold">minijuegos</span>,
|
<span style="color: var(--pixel-accent-3); font-weight: bold;">minijuegos</span>,
|
||||||
<span class="text-pixel-accent-1 font-bold">misiones</span> y
|
<span style="color: var(--pixel-accent-5); font-weight: bold;">misiones</span> y
|
||||||
<span class="text-pixel-accent-2 font-bold">IA</span>
|
<span style="color: var(--pixel-accent-2); font-weight: bold;">IA</span>
|
||||||
para Discord
|
para Discord
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
@@ -50,7 +48,7 @@
|
|||||||
<!-- Botones de Acción -->
|
<!-- Botones de Acción -->
|
||||||
<div class="flex flex-col sm:flex-row gap-6 justify-center items-center pt-4">
|
<div class="flex flex-col sm:flex-row gap-6 justify-center items-center pt-4">
|
||||||
<a href="#primeros-pasos" class="pixel-btn">
|
<a href="#primeros-pasos" class="pixel-btn">
|
||||||
► Comenzar ahora
|
▶ Comenzar ahora
|
||||||
</a>
|
</a>
|
||||||
|
|
||||||
<button id="toggle-nav" class="pixel-btn pixel-btn-secondary">
|
<button id="toggle-nav" class="pixel-btn pixel-btn-secondary">
|
||||||
@@ -58,16 +56,18 @@
|
|||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<!-- Stats Footer -->
|
<!-- Stats Footer con decoración -->
|
||||||
<div class="flex flex-wrap justify-center gap-4 pt-8">
|
<div class="flex flex-wrap justify-center gap-4 pt-8">
|
||||||
<div class="pixel-box py-3 px-6 text-sm">
|
<div class="pixel-box py-3 px-6 text-sm flex items-center gap-2">
|
||||||
<span class="pixel-text-dim">Discord.js</span> <%= djsVersion %>
|
<span class="pixel-leaf"></span>
|
||||||
|
<span><span class="pixel-text-dim">Discord.js</span> <%= djsVersion %></span>
|
||||||
|
</div>
|
||||||
|
<div class="pixel-box py-3 px-6 text-sm flex items-center gap-2">
|
||||||
|
<span>✦</span>
|
||||||
|
<span><span class="pixel-text-dim">Actualizado:</span> <%= currentDateHuman %></span>
|
||||||
</div>
|
</div>
|
||||||
<div class="pixel-box py-3 px-6 text-sm">
|
<div class="pixel-box py-3 px-6 text-sm">
|
||||||
<span class="pixel-text-dim">Actualizado:</span> <%= currentDateHuman %>
|
<span style="color: var(--pixel-accent-3); font-weight: bold;">23 Secciones</span> • Creación de Contenido
|
||||||
</div>
|
|
||||||
<div class="pixel-box py-3 px-6 text-sm pixel-corner">
|
|
||||||
<span class="text-pixel-accent-4 font-bold">23 Secciones</span> • Creación de Contenido Incluida
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -34,34 +34,39 @@
|
|||||||
<p class="text-sm pixel-text-dim">Sistema completo de juego, economía y gestión para Discord</p>
|
<p class="text-sm pixel-text-dim">Sistema completo de juego, economía y gestión para Discord</p>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="flex flex-wrap justify-center gap-4 mb-6 text-sm">
|
<div class="flex flex-wrap justify-center gap-4 mb-6 text-sm items-center">
|
||||||
|
<span class="pixel-leaf" style="width: 16px; height: 10px;"></span>
|
||||||
<a href="#primeros-pasos">Primeros Pasos</a>
|
<a href="#primeros-pasos">Primeros Pasos</a>
|
||||||
<span>•</span>
|
<span>✦</span>
|
||||||
<a href="#comandos-basicos">Comandos</a>
|
<a href="#comandos-basicos">Comandos</a>
|
||||||
<span>•</span>
|
<span>✦</span>
|
||||||
<a href="#minijuegos">Minijuegos</a>
|
<a href="#minijuegos">Minijuegos</a>
|
||||||
<span>•</span>
|
<span>✦</span>
|
||||||
<a href="#faq">FAQ</a>
|
<a href="#faq">FAQ</a>
|
||||||
|
<span class="pixel-leaf" style="width: 16px; height: 10px; transform: rotate(20deg);"></span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="pixel-border p-4 mb-6">
|
<div class="pixel-border p-4 mb-6" style="background: linear-gradient(135deg, var(--pixel-bg-dark) 0%, var(--pixel-bg-medium) 100%);">
|
||||||
<div class="pixel-status-bar justify-center">
|
<div class="pixel-status-bar justify-center">
|
||||||
|
<span class="pixel-star" style="width: 12px; height: 12px;"></span>
|
||||||
<span>VER <%= version %></span>
|
<span>VER <%= version %></span>
|
||||||
<span>•</span>
|
<span>✦</span>
|
||||||
<span>DJS <%= djsVersion %></span>
|
<span>DJS <%= djsVersion %></span>
|
||||||
<span>•</span>
|
<span>✦</span>
|
||||||
<span><%= currentDateHuman %></span>
|
<span><%= currentDateHuman %></span>
|
||||||
|
<span class="pixel-star" style="width: 12px; height: 12px; animation-delay: 1.5s;"></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<p class="text-center text-xs pixel-text-dim mb-6">
|
<p class="text-center text-xs pixel-text-dim mb-6 flex items-center justify-center gap-2">
|
||||||
<span class="pixel-coin"></span>
|
<span class="pixel-coin" style="width: 16px; height: 16px;"></span>
|
||||||
Amayo © <%= new Date().getFullYear() %> — Documentación para usuarios finales de Discord
|
<span>Amayo © <%= new Date().getFullYear() %> — Documentación para usuarios finales de Discord</span>
|
||||||
|
<span class="pixel-candle" style="width: 8px; height: 12px;"></span>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<div class="text-center">
|
<div class="text-center">
|
||||||
<a class="pixel-btn-secondary pixel-btn inline-block" href="#primeros-pasos">
|
<a class="pixel-btn-secondary pixel-btn inline-block" href="#primeros-pasos">
|
||||||
<span aria-hidden="true">↑</span> Volver arriba
|
<span aria-hidden="true">✦</span> Volver arriba <span aria-hidden="true">✦</span>
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,14 +1,15 @@
|
|||||||
<nav class="fixed inset-x-0 top-0 z-50 pixel-navbar">
|
<nav class="fixed inset-x-0 top-0 z-50 pixel-navbar">
|
||||||
<div class="mx-auto max-w-[120rem] px-4 sm:px-6 lg:px-8 h-14 flex items-center justify-between">
|
<div class="mx-auto max-w-[120rem] px-4 sm:px-6 lg:px-8 h-14 flex items-center justify-between">
|
||||||
<a href="#" class="flex items-center gap-2">
|
<a href="#" class="flex items-center gap-3">
|
||||||
<div class="pixel-coin" style="width: 20px; height: 20px;"></div>
|
<div class="pixel-coin" style="width: 20px; height: 20px;"></div>
|
||||||
<span class="font-['Press_Start_2P'] text-sm"><%= appName %></span>
|
<span class="font-['Press_Start_2P'] text-sm" style="color: var(--pixel-accent-3);"><%= appName %></span>
|
||||||
|
<span class="pixel-star" style="width: 12px; height: 12px;"></span>
|
||||||
</a>
|
</a>
|
||||||
<div class="hidden md:flex items-center gap-6">
|
<div class="hidden md:flex items-center gap-6">
|
||||||
<a href="#primeros-pasos" class="pixel-tooltip" data-tooltip="Empieza aquí">Guía</a>
|
<a href="#primeros-pasos" class="pixel-tooltip" data-tooltip="✨ Empieza aquí">Guía</a>
|
||||||
<a href="#minijuegos" class="pixel-tooltip" data-tooltip="Juega">Minijuegos</a>
|
<a href="#minijuegos" class="pixel-tooltip" data-tooltip="🎮 Juega">Minijuegos</a>
|
||||||
<a href="#economia" class="pixel-tooltip" data-tooltip="Gana dinero">Economía</a>
|
<a href="#economia" class="pixel-tooltip" data-tooltip="💰 Gana">Economía</a>
|
||||||
<a href="#faq" class="pixel-tooltip" data-tooltip="Ayuda">FAQ</a>
|
<a href="#faq" class="pixel-tooltip" data-tooltip="❓ Ayuda">FAQ</a>
|
||||||
</div>
|
</div>
|
||||||
<button id="toggle-nav" class="md:hidden" aria-label="Abrir navegación">
|
<button id="toggle-nav" class="md:hidden" aria-label="Abrir navegación">
|
||||||
<svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
<svg class="w-6 h-6" fill="none" stroke="currentColor" viewBox="0 0 24 24">
|
||||||
|
|||||||
@@ -1,33 +1,34 @@
|
|||||||
<nav id="toc" class="hidden lg:block w-full max-w-sm pixel-box lg:sticky lg:top-24 lg:max-h-[calc(100vh-6rem)] lg:w-80 lg:overflow-y-auto">
|
<nav id="toc" class="hidden lg:block w-full max-w-sm pixel-box lg:sticky lg:top-24 lg:max-h-[calc(100vh-6rem)] lg:w-80 lg:overflow-y-auto">
|
||||||
<div class="font-['Press_Start_2P'] text-xs p-6 uppercase tracking-wide text-pixel-accent-4 pixel-corner">
|
<div class="font-['Press_Start_2P'] text-xs p-6 uppercase tracking-wide pixel-corner flex items-center justify-between">
|
||||||
≡ Índice
|
<span style="color: var(--pixel-accent-3);">📖 Índice</span>
|
||||||
|
<span class="pixel-candle" style="width: 8px; height: 12px;"></span>
|
||||||
</div>
|
</div>
|
||||||
<ul class="ps-8 mt-4 space-y-3 text-sm pb-6">
|
<ul class="ps-8 mt-4 space-y-3 text-sm pb-6">
|
||||||
<li><a href="#primeros-pasos">► Primeros Pasos</a></li>
|
<li><a href="#primeros-pasos">✦ Primeros Pasos</a></li>
|
||||||
<li><a href="#comandos-basicos">► Comandos Básicos</a></li>
|
<li><a href="#comandos-basicos">✦ Comandos Básicos</a></li>
|
||||||
<li><a href="#ejemplos-basicos">► Ejemplos Básicos</a></li>
|
<li><a href="#ejemplos-basicos">✦ Ejemplos Básicos</a></li>
|
||||||
<li><a href="#sistema-juego">► Sistema de Juego</a></li>
|
<li><a href="#sistema-juego">✦ Sistema de Juego</a></li>
|
||||||
<li><a href="#minijuegos">► Minijuegos</a></li>
|
<li><a href="#minijuegos">✦ Minijuegos</a></li>
|
||||||
<li><a href="#inventario-equipo">► Inventario y Equipo</a></li>
|
<li><a href="#inventario-equipo">✦ Inventario y Equipo</a></li>
|
||||||
<li><a href="#economia">► Economía</a></li>
|
<li><a href="#economia">✦ Economía</a></li>
|
||||||
<li><a href="#tienda">► Tienda</a></li>
|
<li><a href="#tienda">✦ Tienda</a></li>
|
||||||
<li><a href="#crafteo">► Crafteo</a></li>
|
<li><a href="#crafteo">✦ Crafteo</a></li>
|
||||||
<li><a href="#logros">► Logros</a></li>
|
<li><a href="#logros">✦ Logros</a></li>
|
||||||
<li><a href="#misiones">► Misiones</a></li>
|
<li><a href="#misiones">✦ Misiones</a></li>
|
||||||
<li><a href="#racha-diaria">► Racha Diaria</a></li>
|
<li><a href="#racha-diaria">✦ Racha Diaria</a></li>
|
||||||
<li><a href="#consumibles">► Consumibles</a></li>
|
<li><a href="#consumibles">✦ Consumibles</a></li>
|
||||||
<li><a href="#cofres">► Cofres</a></li>
|
<li><a href="#cofres">✦ Cofres</a></li>
|
||||||
<li><a href="#encantamientos">► Encantamientos</a></li>
|
<li><a href="#encantamientos">✦ Encantamientos</a></li>
|
||||||
<li><a href="#fundicion">► Fundición</a></li>
|
<li><a href="#fundicion">✦ Fundición</a></li>
|
||||||
<li><a href="#ia">► IA</a></li>
|
<li><a href="#ia">✦ IA</a></li>
|
||||||
<li><a href="#recordatorios">► Recordatorios</a></li>
|
<li><a href="#recordatorios">✦ Recordatorios</a></li>
|
||||||
<li><a href="#alianzas">► Alianzas</a></li>
|
<li><a href="#alianzas">✦ Alianzas</a></li>
|
||||||
<li><a href="#admin">► Administración</a></li>
|
<li><a href="#admin">✦ Administración</a></li>
|
||||||
<li><a href="#configuracion">► Configuración</a></li>
|
<li><a href="#configuracion">✦ Configuración</a></li>
|
||||||
<li><a href="#ejemplos-avanzados">► Ejemplos Avanzados</a></li>
|
<li><a href="#ejemplos-avanzados">✦ Ejemplos Avanzados</a></li>
|
||||||
<li><a href="#estadisticas">► Estadísticas</a></li>
|
<li><a href="#estadisticas">✦ Estadísticas</a></li>
|
||||||
<li><a href="#tips">► Tips y Trucos</a></li>
|
<li><a href="#tips">✦ Tips y Trucos</a></li>
|
||||||
<li><a href="#faq">► FAQ</a></li>
|
<li><a href="#faq">✦ FAQ</a></li>
|
||||||
</ul>
|
</ul>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user