:root {
  --font-typewriter: 'Special Elite', Courier, monospace;
  --font-sans: 'Plus Jakarta Sans', sans-serif;
}

body { font-family: var(--font-sans); }
.font-typewriter { font-family: var(--font-typewriter); }

strike {
  text-decoration-line: line-through;
  text-decoration-thickness: 36%;
  text-decoration-color: currentColor;
  color: #444444;
}

.highlight {
  background-color: khaki;
}

.goto {
  border-bottom: dashed #0000ff 1px;
}

.goto:hover { color: blue; border-bottom: solid 1px red; }

@keyframes spin-record { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
.animate-spin-slow { animation: spin-record 12s linear infinite; }

::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #0c0a09; }
::-webkit-scrollbar-thumb { background: #2e2a24; border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: #443e38; }

.jacket-shadow { box-shadow: 0 10px 30px -5px rgba(0, 0, 0, 0.5), 0 1px 3px rgba(0, 0, 0, 0.2); }

@keyframes eq-bounce { 0%, 100% { transform: scaleY(0.2); } 50% { transform: scaleY(1); } }
.animate-eq-1 { animation: eq-bounce 0.65s ease-in-out infinite; transform-origin: bottom; }
.animate-eq-2 { animation: eq-bounce 0.8s ease-in-out infinite; transform-origin: bottom; animation-delay: 0.15s; }
.animate-eq-3 { animation: eq-bounce 0.5s ease-in-out infinite; transform-origin: bottom; animation-delay: 0.3s; }

/* Title hover "rise" nudge — applies to every post title, audio or not */
.title-zoom { transition: transform 0.25s ease; transform-origin: left center; }
.title-zoom:hover { transform: scale(1.035) translateY(-2px); }
.title-zoom:active { transform: scale(1.01) translateY(0); }
