elasko-aim's picture
Веб-приложение представляет собой визуально-ориентированную интерфейсную систему для отображения многослойных “квантовых наблюдений”, состояния сенсоров и аномалий в реальном времени, построенную вокруг метафоры Quantum Observer Network и использующую UI-парадигмы мониторинга/визоринга.
9a5585c verified
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Inter', sans-serif;
line-height: 1.6;
}
/* Custom scrollbar */
::-webkit-scrollbar {
width: 8px;
}
::-webkit-scrollbar-track {
background: #f1f1f1;
}
::-webkit-scrollbar-thumb {
background: linear-gradient(45deg, #ec4899, #84cc16);
border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
background: linear-gradient(45deg, #db2777, #65a30d);
}
/* Animation classes */
.fade-in {
animation: fadeIn 0.8s ease-in;
}
@keyframes fadeIn {
from { opacity: 0; transform: translateY(20px); }
to { opacity: 1; transform: translateY(0); }
}
.pulse-glow {
animation: pulseGlow 2s infinite;
}
@keyframes pulseGlow {
0%, 100% { box-shadow: 0 0 20px rgba(236, 72, 153, 0.3); }
50% { box-shadow: 0 0 30px rgba(236, 72, 153, 0.6); }
}
/* Quantum gradient backgrounds */
.quantum-gradient {
background: linear-gradient(135deg, #fdf2f8 0%, #ecfdf5 100%);
}
.security-pattern {
background-image:
radial-gradient(circle at 20% 80%, rgba(236, 72, 153, 0.1) 0%,
transparent 50%),
radial-gradient(circle at 80% 20%, rgba(132, 204, 22, 0.1) 0%,
transparent 50%);
}
/* Anomaly effects */
@keyframes anomalyPulse {
0% { box-shadow: 0 0 0 0 rgba(220, 38, 38, 0.7); }
70% { box-shadow: 0 0 0 10px rgba(220, 38, 38, 0); }
100% { box-shadow: 0 0 0 0 rgba(220, 38, 38, 0); }
}
.anomaly-critical {
animation: anomalyPulse 1s;
}
.anomaly-marker {
position: absolute;
width: 12px;
height: 12px;
background: #ef4444;
border-radius: 50%;
transform: translate(-50%, -50%);
z-index: 100;
pointer-events: none;
}
/* Component transitions */
.component-enter {
opacity: 0;
transform: scale(0.9);
}
.component-enter-active {
opacity: 1;
transform: scale(1);
transition: all 0.3s ease-out;
}
/* Responsive text scaling */
.text-responsive {
font-size: clamp(1rem, 2.5vw, 2rem);
}