a:hover, a:visited, a:link, a:active
{
    text-decoration: none !important;
    color: #1468ff !important;
}

/* Keep menu/nav links the default color */
nav a:hover, nav a:visited, nav a:link, nav a:active,
header a:hover, header a:visited, header a:link, header a:active,
.menu a:hover, .menu a:visited, .menu a:link, .menu a:active
{
    color: #dedede !important;
}

/* Make current page menu item stand out */
nav a.current, nav a.active, nav a[aria-current="page"],
header a.current, header a.active, header a[aria-current="page"],
.menu a.current, .menu a.active, .menu a[aria-current="page"],
nav .current a, nav .active a,
header .current a, header .active a,
.menu .current a, .menu .active a
{
    color: #1a1b1d !important;
}

/* ============================================
   SECTION TITLES
   ============================================ */
h2.section-title {
  text-align: center;
  font-weight: bold;
}

/* ============================================
   READING TIME
   ============================================ */
.reading-time {
  font-style: italic;
  opacity: 0.6;
  font-size: 0.9em;
}

/* ============================================
   TABLE OF CONTENTS — quiet style
   ============================================ */
.toc {
  margin: 1.5em 0;
  padding: 0;
  border: none;
}

.toc h2 {
  display: none;
}

.toc ol {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.25em 1.5em;
  font-size: 0.85em;
  opacity: 0.5;
}

.toc ol li {
  padding: 0;
  margin: 0;
}

.toc ol li a {
  color: #dedede !important;
  text-decoration: none !important;
  border-bottom: none !important;
}

.toc ol li a:hover {
  opacity: 1;
  color: #1468ff !important;
}

/* ============================================
   CRT SCANLINES OVERLAY
   ============================================ */
body::after {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 9999;
  background: repeating-linear-gradient(
    to bottom,
    transparent 0px,
    transparent 2px,
    rgba(0, 0, 0, 0.025) 2px,
    rgba(0, 0, 0, 0.025) 4px
  );
}

/* ============================================
   ZIGZAG CLAUSE LAYOUT
   ============================================ */

.zigzag-container {
  position: relative;
  padding: 2em 0;
  margin: 2em 0;
}

.zigzag-clause {
  display: block;
  margin-bottom: 1.5em;
  color: white;
  position: relative;
  z-index: 1;
}

.zigzag-left {
  text-align: left;
}

.zigzag-right {
  text-align: right;
}

.zigzag-centre {
  text-align: center;
  font-style: italic;
  margin-top: 0.5em;
}

.zigzag-line {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
}

/* ============================================
   TEXT EFFECTS - KRZ Style
   ============================================ */

/* Effect 1: KRZ-style fog scroll */
.fog-text {
  color: #dedede;
  -webkit-text-fill-color: transparent;
  background-size: 100% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  animation: fog-scroll 1s linear infinite;
  filter: url(#fog-glow);
}

@keyframes fog-scroll {
  from { background-position: 0% center; }
  to { background-position: 200% center; }
}

/* Effect 3: Glitch/noise shimmer with RGB split */
.glitch-text {
  color: #ccddee;
  filter: url(#glitch);
}

/* Effect 4: Ethereal glow pulse */
.ethereal-text {
  color: #dedede;
  text-shadow:
    0 0 5px rgba(170, 204, 238, 0.6),
    0 0 5px rgba(170, 204, 238, 0.3);
  animation: ethereal-pulse 3s ease-in-out infinite;
}

@keyframes ethereal-pulse {
  0%, 100% { opacity: 0.85; }
  50% { opacity: 1; }
}

/* Effect 5: Static interference - flicker effect */
.static-text {
  color: #dedede;
  animation: static-flicker 0.15s infinite;
}

@keyframes static-flicker {
  0%, 100% { opacity: 1; text-shadow: none; }
  25% { opacity: 0.97; text-shadow: 1px 0 0 rgba(255,100,100,0.1), -1px 0 0 rgba(100,100,255,0.1); }
  50% { opacity: 0.99; text-shadow: -1px 0 0 rgba(255,100,100,0.08); }
  75% { opacity: 0.96; text-shadow: 0 0 2px rgba(200,200,255,0.15); }
}

/* Effect 6: Chromatic drift */
.chromatic-text {
  color: #dedede;
  filter: url(#chromatic);
}

/* ============================================
   LEGACY EFFECTS (kept for compatibility)
   ============================================ */

/* Wobble effect - uses quantum-wobble filter */
.wobble-text {
  filter: url(#quantum-wobble);
  will-change: filter;
  animation: keep-alive 1s linear infinite;
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* Shimmer effect - original noisy displacement, blue color */
.shimmer-text-blue {
  color: #1468ff;
  filter: url(#shimmer-noise-blue);
  will-change: filter;
  animation: keep-alive 1s linear infinite;
  transform: translateZ(0);
  backface-visibility: hidden;
}

.shimmer-text {
  color: #dedede;
  filter: url(#shimmer-noise);
  will-change: filter;
  animation: keep-alive 1s linear infinite;
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* Skip rendering (and thus filters) on off-screen dialogue blockquotes */
blockquote {
  content-visibility: auto;
  contain-intrinsic-size: auto 500px;
}

/* Invisible animation to force continuous repaint for SVG filters */
@keyframes keep-alive {
  0%, 100% { opacity: 0.9999; }
  50% { opacity: 1; }
}

/* ============================================
   DROP CAPS - Newspaper Style First Letters
   ============================================ */

/* Drop cap for paragraphs marked with .drop-cap class (via shortcode) */
.drop-cap::first-letter {
  float: left;
  font-size: 3.5em;
  line-height: 0.85;
  margin: 0.05em 0.1em 0 0;
  font-weight: bold;
  color: #1468ff !important;
  border: 2px solid #1468ff;
  padding: 0.1em 0.15em;
}

/* LEGACY selectors removed - use dropcap shortcode instead */

/* Cancel drop cap for centered/header paragraphs */
#main p[align]::first-letter,
#main p:has(> strong:only-child)::first-letter,
#main p:has(> strong)::first-letter,
.content p[align]::first-letter,
.content p:has(> strong:only-child)::first-letter,
.content p:has(> strong)::first-letter {
  float: none !important;
  font-size: inherit !important;
  line-height: inherit !important;
  margin: 0 !important;
  font-weight: inherit !important;
  color: inherit !important;
  border: none !important;
}