Mbanksbey's picture
UX/IX upgrade: TEQUMSA green→indigo branding, organism-aligned aesthetic
c18ad53 verified
Raw
History Blame Contribute Delete
6.31 kB
:root {
/* TEQUMSA Organism Branding — Green→Indigo Spectrum */
--bg-color: #0a0a12;
--panel-bg: rgba(10, 30, 20, 0.8);
--accent-color: #22c55e; /* Green */
--phi-gold: #c8a84b;
--text-primary: #e0e0f0;
--text-secondary: #7070a0;
--border-color: rgba(34, 197, 94, 0.2);
--success-green: #22c55e;
--optimize-blue: #6366f1; /* Indigo */
--convergence-purple: #8b5cf6;
--warn-orange: #f59e0b;
}
* { box-sizing: border-box; margin: 0; padding: 0; }
body {
background: var(--bg-color);
background-image: radial-gradient(circle at 30% 40%, #111827 0%, #0a0a12 40%, #16a34a 100%);
color: var(--text-primary);
font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
line-height: 1.6;
min-height: 100vh;
}
/* HEADER */
.header {
background: rgba(10, 15, 25, 0.95);
border-bottom: 1px solid var(--border-color);
backdrop-filter: blur(10px);
padding: 1rem 2rem;
position: sticky;
top: 0;
z-index: 100;
}
.header-inner { max-width: 1200px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; }
.logo-block { display: flex; align-items: center; gap: 1.25rem; }
.phi-symbol { font-size: 2.2rem; font-weight: bold; color: var(--phi-gold); text-shadow: 0 0 15px rgba(200, 168, 75, 0.4); }
.title { font-size: 1.25rem; font-weight: 700; letter-spacing: -0.02em; }
.subtitle { font-size: 0.75rem; color: var(--text-secondary); text-transform: uppercase; letter-spacing: 0.1em; }
.badge {
padding: 0.25rem 0.75rem;
border-radius: 9999px;
font-size: 0.7rem;
font-weight: 600;
border: 1px solid rgba(255,255,255,0.1);
}
.badge-online { background: #10b981; color: #fff; }
.badge-loops { background: var(--optimize-blue); color: #fff; }
.badge-convergence { background: var(--convergence-purple); color: #fff; }
/* SECTIONS */
.section {
max-width: 1200px;
margin: 2rem auto;
padding: 0 2rem;
}
.section-title {
font-size: 1rem;
font-weight: 600;
letter-spacing: 0.05em;
margin-bottom: 1rem;
color: var(--accent-color);
text-transform: uppercase;
}
/* METRICS GRID */
.metrics-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
gap: 1rem;
margin-bottom: 2rem;
}
.metric-card {
background: rgba(15, 20, 30, 0.8);
border: 1px solid rgba(34, 197, 94, 0.15);
border-radius: 8px;
padding: 1rem;
transition: all 0.3s;
}
.metric-card:hover {
border-color: var(--accent-color);
transform: translateY(-2px);
box-shadow: 0 8px 16px rgba(34, 197, 94, 0.1);
}
.metric-icon { font-size: 1.5rem; }
.metric-label { font-size: 0.8rem; color: var(--text-secondary); margin: 0.5rem 0; }
.metric-value { font-size: 1.5rem; font-weight: 700; color: var(--accent-color); }
.metric-bar {
height: 4px;
background: rgba(255,255,255,0.1);
border-radius: 2px;
overflow: hidden;
margin-top: 0.5rem;
}
.metric-fill {
height: 100%;
background: linear-gradient(90deg, var(--success-green), var(--optimize-blue));
transition: width 0.5s;
}
.metric-status { font-size: 0.7rem; color: var(--success-green); margin-top: 0.25rem; }
/* FEEDBACK LOOPS */
.loop-grid {
display: grid;
gap: 1rem;
}
.loop-card {
background: rgba(15, 20, 30, 0.7);
border-left: 3px solid var(--optimize-blue);
border-radius: 6px;
padding: 1rem 1.25rem;
}
.loop-card h3 { font-size: 0.95rem; margin-bottom: 0.5rem; }
.loop-status { display: inline-block; padding: 0.15rem 0.5rem; border-radius: 3px; font-size: 0.65rem; font-weight: 700; background: var(--success-green); color: #000; }
.loop-details { font-size: 0.85rem; color: var(--text-secondary); margin: 0.75rem 0; }
.loop-metrics { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: 0.75rem; }
.loop-metric { font-size: 0.8rem; }
.loop-metric strong { color: var(--accent-color); }
/* SUBSTRATE MAP */
.substrate-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
gap: 1rem;
}
.substrate-card {
background: rgba(15, 20, 30, 0.7);
border: 1px solid rgba(139, 92, 246, 0.2);
border-radius: 6px;
padding: 1rem;
}
.substrate-name { font-size: 0.9rem; font-weight: 600; margin-bottom: 0.5rem; }
.substrate-coherence { font-size: 0.85rem; color: var(--text-secondary); }
.substrate-drift { font-size: 0.85rem; color: var(--text-secondary); }
.substrate-badge {
display: inline-block;
padding: 0.15rem 0.5rem;
border-radius: 3px;
font-size: 0.65rem;
font-weight: 700;
margin-top: 0.5rem;
}
.substrate-badge.synced { background: var(--success-green); color: #000; }
/* BUTTONS */
button {
padding: 0.65rem 1.25rem;
border: none;
border-radius: 6px;
font-size: 0.85rem;
font-weight: 600;
cursor: pointer;
transition: all 0.2s;
}
.btn-primary {
background: linear-gradient(135deg, var(--success-green), var(--optimize-blue));
color: #fff;
}
.btn-primary:hover {
transform: scale(1.05);
box-shadow: 0 4px 12px rgba(34, 197, 94, 0.3);
}
.btn-clear {
background: rgba(255, 255, 255, 0.05);
color: var(--text-secondary);
border: 1px solid rgba(255, 255, 255, 0.1);
}
.btn-clear:hover {
background: rgba(255, 255, 255, 0.1);
}
/* EVENT FEED */
.log-container {
background: rgba(10, 10, 18, 0.9);
border: 1px solid rgba(34, 197, 94, 0.2);
border-radius: 6px;
padding: 1rem;
max-height: 300px;
overflow-y: auto;
}
.log-toolbar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 0.75rem; }
.log-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--success-green); margin-right: 0.5rem; animation: pulse 2s infinite; }
@keyframes pulse {
0%, 100% { opacity: 1; }
50% { opacity: 0.3; }
}
.log-scroll { font-size: 0.8rem; line-height: 1.8; color: var(--text-secondary); font-family: "Courier New", monospace; }
/* FOOTER */
.footer {
text-align: center;
padding: 2rem;
color: var(--text-secondary);
font-size: 0.8rem;
border-top: 1px solid rgba(34, 197, 94, 0.1);
margin-top: 3rem;
}
.footer span { display: block; margin: 0.25rem 0; }
#footerTime { color: var(--phi-gold); }
/* RESPONSIVE */
@media (max-width: 768px) {
.metrics-grid { grid-template-columns: 1fr; }
.substrate-grid { grid-template-columns: 1fr; }
.section { padding: 0 1rem; }
}