- auth: session cookie Secure only over https — plain-http LAN access was
silently dropping the cookie, killing WS auth ('connection unstable')
- wire ghost: server-side spike detection on jitter baseline (3σ + 2.5×mean,
20KB/s floor, 20s throttle) — wire anomalies now flood every session with
zero hardware, pushed to clients as {type:'anomaly'} frames
- telemetry cadence 3-5s for live graphs; ambient whispers unchanged
- frontend: MATRIX view (data-rain interleaved with live utterances/anomaly/
telemetry strings), GRAPHS view (scrolling jitter/variance/dns lines +
anomaly markers + counters), BOARD/MATRIX/GRAPHS switcher
- connection banner: 'connecting' is now neutral 'tuning the veil…', only
unstable/closed warns
- db: recreated quantumancy(+_test) as UTF8 (was SQL_ASCII — crashed on
non-ASCII spirit text); README quickstart updated
- i18n: seance.views.* EN/ES
58 lines
1.3 KiB
CSS
58 lines
1.3 KiB
CSS
/* MatrixView — "matrix rain" live-data view for the séance board area.
|
|
Tokens: bg #07070d · phosphor #7cffb2 · violet #b26bff · blood #ff3b5c. */
|
|
|
|
.matrix-view {
|
|
position: relative;
|
|
width: 100%;
|
|
height: 100%;
|
|
min-height: 0;
|
|
background: #07070d;
|
|
border: 1px solid rgba(124, 255, 178, 0.18);
|
|
border-radius: 6px;
|
|
overflow: hidden;
|
|
filter: drop-shadow(0 0 18px rgba(7, 7, 13, 0.9));
|
|
}
|
|
|
|
.matrix-view canvas {
|
|
position: absolute;
|
|
inset: 0;
|
|
}
|
|
|
|
.matrix-listening {
|
|
position: absolute;
|
|
left: 14px;
|
|
bottom: 12px;
|
|
margin: 0;
|
|
color: #b26bff;
|
|
font-family: 'IBM Plex Mono', ui-monospace, Menlo, monospace;
|
|
font-size: 0.78rem;
|
|
letter-spacing: 0.22em;
|
|
text-transform: uppercase;
|
|
text-shadow: 0 0 12px rgba(178, 107, 255, 0.7);
|
|
pointer-events: none;
|
|
}
|
|
|
|
/* ---------- view switcher (BOARD / MATRIX / GRAPHS) ----------
|
|
Styles live here because SeancePage.css is outside this change's scope;
|
|
the tab buttons themselves reuse the existing .mode-tab look. */
|
|
|
|
.seance-view-tabs {
|
|
position: absolute;
|
|
top: 8px;
|
|
left: 50%;
|
|
transform: translateX(-50%);
|
|
z-index: 6;
|
|
display: flex;
|
|
gap: 4px;
|
|
padding: 2px;
|
|
background: rgba(16, 16, 26, 0.85);
|
|
border: 1px solid rgba(124, 255, 178, 0.18);
|
|
border-radius: 5px;
|
|
backdrop-filter: blur(3px);
|
|
}
|
|
|
|
.seance-view-tabs .mode-tab {
|
|
font-size: 0.7rem;
|
|
padding: 0.3rem 0.6rem;
|
|
}
|