auto(enrich): github-hub doctrine 60 via cascade async

This commit is contained in:
Opus
2026-04-24 11:08:30 +02:00
parent 0d80fbf0cb
commit a63cd51352

View File

@@ -9,7 +9,47 @@
.card:hover{border-color:#f0883e;transform:translateY(-2px)}
.card h3{color:#f0883e;margin-bottom:6px;font-size:15px}.card p{color:#94a3b8;font-size:12px;line-height:1.4}
.dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#22c55e;margin-right:4px}
</style></head><body>
</style><!-- DOCTRINE-60-UX-ENRICH cerebras-qwen-235b 20260424-110829 --><style id="doctrine60-ux-github-hub">
body::before {
content: '';
position: fixed;
top: 0; left: 0;
width: 100%; height: 100%;
background: radial-gradient(circle, rgba(0,0,0,0.12), transparent 70%);
z-index: -1;
pointer-events: none;
}
.card, .btn, .kpi, .panel {
opacity: 0;
transform: translateY(20px);
transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.enter-stagger {
opacity: 1;
transform: translateY(0);
}
@keyframes pulse {
0%, 100% { opacity: 1; }
50% { opacity: 0.6; }
}
.pulse, .active, .live-indicator, .online {
animation: pulse 3s ease-in-out infinite;
}
.card:hover {
box-shadow: 0 8px 24px rgba(0,0,0,0.15);
border-color: var(--accent);
}
.modal, .chat, .speech, .overlay {
backdrop-filter: blur(12px);
}
</style>
</head><body>
<div class="hdr"><h1>🐙 WEVIA GitHub Hub</h1><span class="badge">SOVEREIGN</span></div>
<div class="grid"><div class="card"><h3><span class="dot"></span>Repositories</h3><p>15 repos surveillés, dual push SSH+HTTPS</p></div><div class="card"><h3><span class="dot"></span>Actions CI/CD</h3><p>Workflows automatisés, NonReg</p></div><div class="card"><h3><span class="dot"></span>PAT Monitor</h3><p>SSH ed25519 déployé, 0 expiration</p></div><div class="card"><h3><span class="dot"></span>Gitea Backup</h3><p>Mirror automatique sur Gitea local</p></div></div>
<div style="padding:20px;text-align:center;color:#475569;font-size:11px">WEVIA {title} Hub — Sovereign Infrastructure</div>
@@ -101,4 +141,20 @@
<script src="/api/a11y-auto-enhancer.js" defer></script>
<!-- WTP_UDOCK_V1 (Opus 21-avr t34final) --><script src="/wtp-unified-dock.js" defer></script>
<script src="/opus-antioverlap-doctrine.js?v=1776776094" defer></script>
<!-- DOCTRINE-60-UX-JS --><script id="doctrine60-ux-js-github-hub">
const observer = new IntersectionObserver((entries) => {
entries.forEach((entry, index) => {
if (entry.isIntersecting) {
setTimeout(() => {
entry.target.classList.add('enter-stagger');
}, index * 80);
}
});
}, { threshold: 0.1 });
document.querySelectorAll('.card, .btn, .kpi, .panel').forEach(el => {
observer.observe(el);
});
</script>
</body></html>