From c3877088925e8a2e552ee4389bdb131665d7db68 Mon Sep 17 00:00:00 2001 From: Alexander Whitestone Date: Fri, 10 Apr 2026 19:38:57 +0000 Subject: [PATCH] feat(mnemosyne): add memory crystal inspection panel styles --- style.css | 123 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 123 insertions(+) diff --git a/style.css b/style.css index 2cc64ab..5c5a39e 100644 --- a/style.css +++ b/style.css @@ -1223,3 +1223,126 @@ canvas#nexus-canvas { .l402-msg { color: #fff; } .pse-status { color: #4af0c0; font-weight: 600; } + + +/* ═══════════════════════════════════════════ + MNEMOSYNE — MEMORY CRYSTAL INSPECTION PANEL + ═══════════════════════════════════════════ */ + +.memory-panel { + position: fixed; + top: 50%; + right: 24px; + transform: translateY(-50%); + z-index: 120; + animation: memoryPanelIn 0.25s ease-out; +} + +@keyframes memoryPanelIn { + from { opacity: 0; transform: translateY(-50%) translateX(20px); } + to { opacity: 1; transform: translateY(-50%) translateX(0); } +} + +.memory-panel-content { + width: 320px; + background: rgba(8, 8, 24, 0.92); + backdrop-filter: blur(12px); + border: 1px solid rgba(74, 240, 192, 0.25); + border-radius: 12px; + padding: 16px; + box-shadow: 0 0 30px rgba(74, 240, 192, 0.08), 0 8px 32px rgba(0, 0, 0, 0.4); +} + +.memory-panel-header { + display: flex; + align-items: center; + gap: 8px; + margin-bottom: 12px; + padding-bottom: 10px; + border-bottom: 1px solid rgba(255, 255, 255, 0.06); +} + +.memory-panel-region-dot { + width: 10px; + height: 10px; + border-radius: 50%; + flex-shrink: 0; +} + +.memory-panel-region { + font-family: var(--font-display, monospace); + font-size: 11px; + letter-spacing: 0.15em; + color: var(--color-primary, #4af0c0); + text-transform: uppercase; + flex: 1; +} + +.memory-panel-close { + background: none; + border: 1px solid rgba(255, 255, 255, 0.1); + color: var(--color-text-muted, #888); + font-size: 14px; + cursor: pointer; + width: 24px; + height: 24px; + border-radius: 6px; + display: flex; + align-items: center; + justify-content: center; + transition: all 0.15s; +} + +.memory-panel-close:hover { + background: rgba(255, 255, 255, 0.05); + color: #fff; +} + +.memory-panel-body { + font-size: 14px; + line-height: 1.6; + color: var(--color-text, #ccc); + margin-bottom: 14px; + max-height: 120px; + overflow-y: auto; + word-break: break-word; +} + +.memory-panel-meta { + display: flex; + flex-direction: column; + gap: 5px; + font-size: 11px; +} + +.memory-meta-row { + display: flex; + gap: 8px; + align-items: baseline; +} + +.memory-meta-label { + color: var(--color-text-muted, #666); + text-transform: uppercase; + letter-spacing: 0.08em; + min-width: 50px; + flex-shrink: 0; +} + +.memory-meta-row span:last-child { + color: var(--color-text, #aaa); + word-break: break-all; +} + +.memory-conn-tag { + display: inline-block; + background: rgba(74, 240, 192, 0.1); + border: 1px solid rgba(74, 240, 192, 0.2); + border-radius: 4px; + padding: 1px 6px; + font-size: 10px; + font-family: var(--font-mono, monospace); + color: var(--color-primary, #4af0c0); + margin: 1px 2px; +} +