/* Workbench-only styles (front-page Morse translator).
   Loaded conditionally from functions.php (cm_scripts) when is_front_page().
   Includes signal-bar animations, audio indicators, morse blink, dot grid,
   technical grid and the sidebar/workbench full-height layout. */

/* Dot grid pattern for Morse output */
.bg-dot-grid {
    background-image: radial-gradient(#131b2e 1px, transparent 1px);
    background-size: 20px 20px;
}

/* Signal bar animation */
@keyframes pulse-bar {
    0%, 100% { opacity: 0.3; }
    50% { opacity: 1; }
}
.signal-bar { animation: pulse-bar 2s ease-in-out infinite; }
.signal-bar:nth-child(2) { animation-delay: 0.2s; }
.signal-bar:nth-child(3) { animation-delay: 0.4s; }
.signal-bar:nth-child(4) { animation-delay: 0.6s; }
.signal-bar:nth-child(5) { animation-delay: 0.8s; }
.signal-bar:nth-child(6) { animation-delay: 1.0s; }
.signal-bar:nth-child(7) { animation-delay: 1.2s; }

/* Signal bar heights */
.signal-bar-1 { height: 30%; }
.signal-bar-2 { height: 45%; }
.signal-bar-3 { height: 60%; }
.signal-bar-4 { height: 75%; }
.signal-bar-5 { height: 90%; }
.signal-bar-6 { height: 100%; }
.signal-bar-7 { height: 80%; }

/* Morse play animation - blinking dot */
@keyframes morse-blink {
    0%, 100% { opacity: 0; }
    50% { opacity: 1; }
}
.morse-playing { animation: morse-blink 0.3s ease-in-out infinite; }

/* Audio visualization for Morse playback */
.audio-indicator {
    width: 3px;
    height: 12px;
    background: #ab3600;
    display: inline-block;
    margin: 0 1px;
    transition: height 0.1s ease;
}
.audio-indicator.active { animation: audio-bounce 0.4s ease infinite alternate; }
@keyframes audio-bounce {
    from { height: 4px; }
    to   { height: 20px; }
}

/* Workbench full-height columns */
.cm-sidebar-height,
.cm-workbench-height {
    height: calc(100vh - 4rem);
}
