/* H4RB1NG3R - matrix morph title (word only, no page background) */

@import url('https://fonts.googleapis.com/css2?family=Press+Start+2P&family=Share+Tech+Mono&family=VT323&display=swap');

.harbinger-hero {
 text-align: center;
 padding: 12px 12px 8px;
 position: relative;
 z-index: 10;
 /* fixed band so font morph never reflows the head below */
 min-height: clamp(72px, 14vw, 110px);
 display: flex;
 align-items: center;
 justify-content: center;
}

.harbinger-title {
 font-family: 'VT323', 'Courier New', Consolas, monospace;
 font-size: clamp(44px, 11vw, 88px);
 font-weight: 700;
 letter-spacing: 0.14em;
 line-height: 1;
 margin: 0;
 user-select: none;
 white-space: nowrap;
 height: clamp(52px, 12vw, 96px);
 display: flex;
 align-items: center;
 justify-content: center;
}

.harbinger-title .hb-char {
 display: inline-flex;
 align-items: center;
 justify-content: center;
 min-width: 0.62em;
 height: 1em;
 text-align: center;
 /* color/font only - no layout shift into the head */
 transition: color 0.14s ease, text-shadow 0.14s ease;
 text-shadow:
 0 0 10px currentColor,
 0 0 22px color-mix(in srgb, currentColor 45%, transparent);
 vertical-align: middle;
}

.harbinger-title .hb-char.hb-glitch {
 color: #00ff41 !important;
 text-shadow:
 0 0 6px #00ff41,
 0 0 14px #00ff41,
 2px 0 #ff00ff,
 -2px 0 #00ffff;
 filter: brightness(1.35);
}

body.orbit-void-inner .harbinger-title .hb-char,
body#screen.orbit-void-inner .orbit-panel .harbinger-title .hb-char {
 /* color driven by --hb-char-color / inline !important from harbinger-title.js */
 color: var(--hb-char-color, #00ff41) !important;
 text-shadow:
 0 0 12px currentColor,
 0 0 28px color-mix(in srgb, currentColor 35%, transparent) !important;
}

body.orbit-void-inner .harbinger-title .hb-char.hb-glitch,
body#screen.orbit-void-inner .orbit-panel .harbinger-title .hb-char.hb-glitch {
 color: #00ff41 !important;
 text-shadow:
 0 0 6px #00ff41,
 0 0 14px #00ff41,
 2px 0 #ff00ff,
 -2px 0 #00ffff !important;
}

.harbinger-title .hb-char.hb-font-pixel {
 font-size: 0.36em;
 /* keep baseline centered in fixed title band */
 line-height: 1;
}

.harbinger-title .hb-char.hb-font-tech {
 letter-spacing: 0.02em;
}

.harbinger-title .hb-char.hb-font-impact,
.harbinger-title .hb-char.hb-font-heavy {
 letter-spacing: 0.04em;
}

.harbinger-title .hb-char.hb-font-serif {
 font-style: italic;
}