
* { box-sizing: border-box; }
body { margin: 0; font-family: 'Courier Prime', 'Courier New', monospace; color: #eee;
  background-color: #000;
  background-image:
    radial-gradient(1px 1px at 12% 22%, #fff 100%, transparent),
    radial-gradient(1px 1px at 32% 68%, #ddd 100%, transparent),
    radial-gradient(2px 2px at 55% 12%, #fff 100%, transparent),
    radial-gradient(1px 1px at 71% 44%, #ccc 100%, transparent),
    radial-gradient(1px 1px at 88% 78%, #fff 100%, transparent),
    radial-gradient(2px 2px at 5% 82%, #ddd 100%, transparent),
    radial-gradient(1px 1px at 44% 38%, #fff 100%, transparent),
    radial-gradient(1px 1px at 63% 90%, #ccc 100%, transparent),
    radial-gradient(1px 1px at 25% 52%, #fff 100%, transparent),
    radial-gradient(1px 1px at 80% 18%, #ddd 100%, transparent);
  background-attachment: fixed; line-height: 1.6; }
nav { background: rgba(0,0,0,0.9); padding: 14px 18px; text-align: center; border-bottom: 1px solid #444; }
nav a { color: #eee; margin: 0 6px; text-decoration: none; font-family: 'Special Elite', 'Courier New', monospace; }
nav a:hover { text-decoration: underline; }
/* Nav dropdowns, added 2026-11-08 (Shows, Articles). Desktop opens on
   hover or keyboard focus; touchscreens open by tapping the caret. */
.drop { position: relative; display: inline-block; }
.caret { background: none; border: 0; color: #eee; font-family: 'Special Elite', 'Courier New', monospace; font-size: 1em; cursor: pointer; padding: 0 2px; margin-left: 2px; }
.menu { display: none; position: absolute; left: 50%; transform: translateX(-50%); top: 100%; background: rgba(0,0,0,0.95); border: 1px solid #555; min-width: 230px; text-align: left; z-index: 10; padding: 6px 0; }
.menu a { display: block; margin: 0; padding: 8px 14px; white-space: nowrap; }
.menu a:hover { background: #222; text-decoration: none; }
.drop:hover .menu, .drop:focus-within .menu, .drop.open .menu { display: block; }
main { max-width: 900px; margin: 0 auto; padding: 24px 16px 48px; }
.panel { background: rgba(8,8,10,0.92); border: 1px solid #555; padding: 22px; margin: 22px 0; }
h1, h2, h3 { font-family: 'Special Elite', 'Courier New', monospace; line-height: 1.3; }
a { color: #eee; }
.logo { display: block; max-width: 420px; width: 90%; margin: 10px auto; }
.hero { text-align: center; }
.hero h1 { font-size: 2.2em; }
.tagline { font-size: 1.3em; color: #eee; font-family: 'Special Elite', 'Courier New', monospace; }
.showcard { border: 1px solid #666; padding: 18px; margin: 16px 0; background: rgba(15,15,18,0.92); }
.showcard img { max-width: 280px; width: 100%; display: block; margin: 0 auto 10px; }
.ep-list { list-style: none; padding: 0; }
.ep-list li { border-bottom: 1px solid #333; padding: 12px 4px; display: flex; gap: 12px; align-items: flex-start; }
.ep-list a { font-size: 1.05em; }
.ep-list p { margin: 6px 0 0; color: #ccc; }
img.ep-thumb { width: 64px; height: 64px; object-fit: cover; flex: 0 0 64px; }
.ep-text { flex: 1; min-width: 0; }
footer { border-top: 1px solid #444; background: rgba(0,0,0,0.9); padding: 24px 16px; }
.footgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; max-width: 1000px; margin: 0 auto; }
.footgrid h3 { margin: 0 0 6px; font-size: 1em; color: #979797; }
.footgrid p { margin: 4px 0; font-size: 0.92em; }
.theme-be .panel, .theme-be .showcard { border-color: #2e7d4f; }
.theme-be a, .theme-be .footgrid h3 { color: #9fd8b4; }
.theme-bi .panel, .theme-bi .showcard { border-color: #6b5bb5; }
.theme-bi a, .theme-bi .footgrid h3 { color: #b8f35a; }
.theme-ior .panel, .theme-ior .showcard { border-color: #bd292b; }
/* Shows hub cards, added 2026-11-08: each show's card carries its own
   border colour, matching its show page theme. */
.show-ior { border-color: #bd292b; }
.show-be { border-color: #2e7d4f; }
.show-bi { border-color: #6b5bb5; }
.theme-report .panel, .theme-news .panel { background: rgba(245,236,215,0.96); color: #111; border: 2px solid #111; }
.theme-report .panel a, .theme-news .panel a { color: #8a1111; }
.theme-report nav a, .theme-news nav a { color: #eee; }
.theme-report h1, .theme-report h2 { color: #111; }
.theme-news h1, .theme-news h2 { color: #111; }
.stamp { display: inline-block; border: 3px solid #a11111; color: #a11111; padding: 4px 12px; letter-spacing: 2px; font-family: 'Special Elite', 'Courier New', monospace; }
img.article-logo { max-width: 340px; width: 100%; display: block; margin: 0 auto 12px; }
img.episode-art { max-width: 340px; width: 100%; display: block; margin: 0 auto 12px; }
.feat-logos { display: flex; gap: 24px; justify-content: center; align-items: center; flex-wrap: wrap; margin: 16px 0 4px; }
.feat-logos img { max-width: 240px; width: 100%; display: block; }
.contact-form label { display: block; margin: 14px 0 4px; }
.contact-form input[type=text], .contact-form input[type=email], .contact-form select, .contact-form textarea { width: 100%; max-width: 560px; box-sizing: border-box; background: #1a1a1a; color: #eee; border: 1px solid #555; padding: 10px; font-size: 16px; }
.btn, .contact-form button { display: inline-block; background: #e5484d; color: #fff; border: none; padding: 12px 24px; font-size: 16px; cursor: pointer; text-decoration: none; }
.contact-form button { margin-top: 16px; }
.gform { width: 100%; max-width: 640px; height: 900px; border: 0; display: block; }
img.about-photo { max-width: 380px; width: 100%; display: block; margin: 0 auto; }
/* Homepage follows the original BRM logo: black, logo red, logo grey. Red is
   brightened from the logo's deep red (#9d1719) so links stay readable on black;
   grey (#979797) is sampled from the logo's halftone. Applies to brand pages
   using theme-home (homepage, about, contact, support, articles). */
.theme-home a { color: #e5484d; }
.theme-home a.btn { color: #fff; }
.theme-home .tagline { color: #e5484d; }
.theme-home nav a { color: #eee; }
.theme-home .footgrid h3 { color: #979797; }

/* Inquiries of our Reality: black with the new logo colors, vivid green galaxy
   links and intense red crack borders. Green #6fdc7e and red #bd292b sampled
   from the new logo (Nov 7, 2026). Nav stays white, as on the other show pages. */
.theme-ior a { color: #6fdc7e; }
.theme-ior nav a { color: #eee; }
.theme-ior .footgrid h3 { color: #6fdc7e; }
.footlogo-wrap { text-align: center; margin-top: 18px; }
.footlogo { max-width: 220px; width: 60%; }
.player { margin: 16px 0; }
.player iframe { width: 100%; height: 400px; border: 0; }
.search-input { width: 100%; max-width: 640px; padding: 12px; font-size: 18px; background: #1a1a1a; color: #eee; border: 1px solid #555; font-family: inherit; }
.search-filters { margin: 16px 0; display: flex; gap: 8px; flex-wrap: wrap; }
.search-filters button { background: #222; color: #eee; border: 1px solid #555; padding: 8px 14px; font-size: 15px; cursor: pointer; font-family: inherit; }
.search-filters button.active { background: #e5484d; color: #fff; border-color: #e5484d; }
.search-count { color: #ccc; margin: 12px 0; }
.search-result { border-bottom: 1px solid #333; padding: 12px 4px; }
.search-result a { font-size: 1.05em; }
.search-result p { margin: 6px 0 0; color: #ccc; }
.search-show { font-size: 0.9em; color: #979797; }
.discover-row { display: flex; gap: 14px; align-items: center; margin: 14px 0; }
.discover-art { width: 72px; height: 72px; object-fit: cover; flex-shrink: 0; border: 1px solid #555; }
.discover-row p { margin: 0; }
.discover-row .discover-show { font-size: 0.9em; color: #979797; }
.discover-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 14px; }
.discover-grid .discover-row { flex-direction: column; text-align: center; border: 1px solid #555; padding: 14px; background: rgba(15,15,18,0.92); margin: 0; }
.discover-grid .discover-art { width: 120px; height: 120px; margin: 0 auto; }
#surprise .discover-row { align-items: center; }
#surprise .discover-art { width: 160px; height: 160px; }
.trail-pills a, .trail-pills button { display: inline-block; border: 1px solid #555; border-radius: 20px; padding: 4px 12px; margin: 4px 4px 4px 0; text-decoration: none; background: transparent; color: #eee; cursor: pointer; font-size: 1em; font-family: inherit; }
.trail-pills a:hover, .trail-pills button:hover { background: #e5484d; color: #fff; border-color: #e5484d; }
.show-chip { display: inline-block; border: 1px solid #555; border-radius: 12px; padding: 2px 10px; font-size: 0.85em; }
.chip-ior { color: #6fdc7e; border-color: #bd292b; }
.chip-be { color: #9fd8b4; border-color: #2e7d4f; }
.chip-bi { color: #b8f35a; border-color: #6b5bb5; }
.featured-day { border-color: #e5484d; }
.featured-day h2 { color: #e5484d; }
.discover-select { padding: 8px; font-size: 1em; background: #1a1a1a; color: #eee; border: 1px solid #555; max-width: 100%; }
