- Remplace Editor POC par A propos (sparkles) dans le menu header - Modale About avec animation fade+scale, logo SVG, hero gradient - Stats live: fichiers, vaults (API /health), tests (285) - Stack techno: 12 badges (FastAPI, vanilla JS, Docker, etc.) - Footer: date livraison, blague aleatoire (10 variantes humour) - Touche d'humour: git push --force accidentels, CSS > backend - Fermeture: bouton X, clic overlay, Escape - initAboutModal dans sync.js + config.js export
97 lines
3.3 KiB
CSS
97 lines
3.3 KiB
CSS
|
|
/* ── About Modal ── */
|
|
.about-overlay {
|
|
position: fixed; inset: 0; z-index: 1000;
|
|
background: rgba(0,0,0,0.7); backdrop-filter: blur(6px);
|
|
display: none; align-items: center; justify-content: center;
|
|
}
|
|
.about-overlay.active { display: flex; }
|
|
.about-modal {
|
|
background: var(--bg-secondary);
|
|
border: 1px solid var(--border-md);
|
|
border-radius: 16px;
|
|
width: 480px; max-width: 92vw; max-height: 90vh;
|
|
overflow-y: auto;
|
|
position: relative;
|
|
box-shadow: 0 20px 60px rgba(0,0,0,0.5), 0 0 0 1px rgba(255,255,255,0.05);
|
|
animation: about-in 0.35s ease;
|
|
}
|
|
@keyframes about-in {
|
|
from { opacity: 0; transform: translateY(20px) scale(0.97); }
|
|
to { opacity: 1; transform: translateY(0) scale(1); }
|
|
}
|
|
.about-close {
|
|
position: absolute; top: 12px; right: 14px;
|
|
background: var(--bg-hover); border: none; color: var(--text-secondary);
|
|
width: 30px; height: 30px; border-radius: 8px; font-size: 18px;
|
|
cursor: pointer; display: flex; align-items: center; justify-content: center;
|
|
transition: background 0.15s, color 0.15s; z-index: 1;
|
|
}
|
|
.about-close:hover { background: var(--danger-bg); color: var(--danger); }
|
|
.about-hero {
|
|
text-align: center; padding: 36px 24px 28px;
|
|
background: linear-gradient(160deg, var(--accent-bg) 0%, transparent 60%);
|
|
border-bottom: 1px solid var(--border);
|
|
}
|
|
.about-logo { margin-bottom: 14px; display: inline-block; }
|
|
.about-title {
|
|
font-size: 1.6rem; font-weight: 700; color: var(--text-primary);
|
|
letter-spacing: -0.5px; margin-bottom: 6px;
|
|
}
|
|
.about-tagline {
|
|
font-size: 0.85rem; color: var(--text-secondary); line-height: 1.5;
|
|
margin-bottom: 10px;
|
|
}
|
|
.about-version {
|
|
display: inline-block; padding: 3px 12px;
|
|
background: var(--accent); color: #fff;
|
|
font-size: 0.7rem; font-weight: 600; font-family: var(--mono);
|
|
border-radius: 20px; letter-spacing: 0.5px;
|
|
}
|
|
.about-body { padding: 20px 24px 24px; }
|
|
.about-stats {
|
|
display: flex; gap: 0; justify-content: center;
|
|
margin-bottom: 20px;
|
|
}
|
|
.about-stat {
|
|
flex: 1; text-align: center; padding: 12px 8px;
|
|
border-right: 1px solid var(--border);
|
|
}
|
|
.about-stat:last-child { border-right: none; }
|
|
.about-stat-value {
|
|
display: block; font-size: 1.5rem; font-weight: 700;
|
|
color: var(--accent); font-family: var(--mono);
|
|
}
|
|
.about-stat-label {
|
|
font-size: 0.65rem; color: var(--text-muted);
|
|
text-transform: uppercase; letter-spacing: 0.6px; margin-top: 2px;
|
|
}
|
|
.about-stack { margin-bottom: 18px; }
|
|
.about-stack h3 {
|
|
font-size: 0.7rem; color: var(--text-muted); text-transform: uppercase;
|
|
letter-spacing: 0.8px; margin-bottom: 10px;
|
|
}
|
|
.about-stack-grid {
|
|
display: flex; flex-wrap: wrap; gap: 6px;
|
|
}
|
|
.about-stack-badge {
|
|
padding: 3px 10px; font-size: 0.68rem;
|
|
background: var(--bg-hover); color: var(--text-secondary);
|
|
border: 1px solid var(--border); border-radius: 6px;
|
|
font-family: var(--mono);
|
|
}
|
|
.about-footer { border-top: 1px solid var(--border); padding-top: 14px; }
|
|
.about-meta {
|
|
display: flex; gap: 16px; font-size: 0.7rem; color: var(--text-muted);
|
|
margin-bottom: 10px; flex-wrap: wrap;
|
|
}
|
|
.about-meta strong { color: var(--text-secondary); font-family: var(--mono); font-size: 0.68rem; }
|
|
.about-joke {
|
|
font-size: 0.7rem; color: var(--text-muted); font-style: italic;
|
|
margin-bottom: 8px; opacity: 0.7;
|
|
}
|
|
.about-copy {
|
|
font-size: 0.65rem; color: var(--text-muted); opacity: 0.5;
|
|
}
|
|
.about-copy code { font-family: var(--mono); font-size: 0.6rem; }
|