/* ============================================================
   BARTGRAVES.COM — site.css  v2
   Bebas Neue · Crimson Pro · Space Mono

   COLOR ROLES:
     --amber  brand signal. headings, active, primary buttons
     --blue   Area 13, metadata, secondary utility
     --green  AUDIO ONLY. player, waveform, play button
     --ember  GRAVE AIRWAVES ONLY. halloween, seasonal
     --live   on-air indicator. dedicated red, never ember
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Bebas+Neue&family=Crimson+Pro:ital,wght@0,400;0,600;1,400;1,600&family=Space+Mono:wght@400;700&display=swap');

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}

:root{
  --bg:#080b12;
  --deep:#0d1320;
  --panel:#141b2a;
  --panel2:#1b2436;
  --line:rgba(255,255,255,.12);
  --line2:rgba(255,255,255,.20);
  --text:#eee5d6;
  --muted:#9aa5b8;
  --dim:#7a8699;
  --amber:#f29b18;
  --amber2:#ffc15a;
  --blue:#5b9df1;
  --green:#62e6a2;
  --ember:#ff6226;
  --live:#c82020;
  --live2:#e83030;
  --disp:'Bebas Neue',sans-serif;
  --body:'Crimson Pro',Georgia,serif;
  --mono:'Space Mono',monospace;
  --r:18px;
  --r-sm:10px;
  --shadow:0 24px 80px rgba(0,0,0,.38);
  --shadow-sm:0 8px 32px rgba(0,0,0,.28);
  --max:1480px;
  --sp-xs:6px;--sp-sm:12px;--sp-md:20px;--sp-lg:32px;--sp-xl:48px;--sp-2xl:72px;
  /* Legacy aliases */
  --void:#080b12;--studio:#0d1320;--raised:#1b2436;
  --border:rgba(255,255,255,.12);--border2:rgba(255,255,255,.20);
  --white:#eee5d6;--red:#c82020;
  --serif:'Crimson Pro',Georgia,serif;--sans:'Crimson Pro',Georgia,serif;--mono-f:'Space Mono',monospace;
  --green2:rgba(98,230,162,.15);
  --green3:rgba(98,230,162,.25);
}

body{
  font-family:var(--body);
  background:
    radial-gradient(circle at 18% -6%, rgba(91,157,241,.20),transparent 30%),
    radial-gradient(circle at 84%  2%, rgba(242,155,24,.16),transparent 28%),
    linear-gradient(180deg,#080b12 0%,#0c1220 45%,#070a13 100%);
  background-attachment:fixed;
  color:var(--text);font-size:18px;line-height:1.55;overflow-x:hidden;min-height:100vh;
}

/* CRT scanline */
body::before{
  content:"";position:fixed;inset:0;
  background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(0,0,0,.09) 3px 4px);
  pointer-events:none;z-index:9999;
}

/* Star noise */
body::after{
  content:"";position:fixed;inset:0;
  background-image:
    radial-gradient(1px 1px at 12% 18%,rgba(255,255,255,.18),transparent),
    radial-gradient(1px 1px at 38% 72%,rgba(255,255,255,.14),transparent),
    radial-gradient(1px 1px at 65% 28%,rgba(255,255,255,.12),transparent),
    radial-gradient(1px 1px at 82% 55%,rgba(255,255,255,.16),transparent),
    radial-gradient(1px 1px at 24% 88%,rgba(255,255,255,.10),transparent),
    radial-gradient(1px 1px at 91% 12%,rgba(255,255,255,.13),transparent),
    radial-gradient(1px 1px at 47% 44%,rgba(255,255,255,.09),transparent),
    radial-gradient(1px 1px at  6% 63%,rgba(255,255,255,.12),transparent),
    radial-gradient(1px 1px at 73% 91%,rgba(255,255,255,.11),transparent),
    radial-gradient(1px 1px at 55%  5%,rgba(255,255,255,.15),transparent);
  pointer-events:none;z-index:0;
}

a{color:inherit;text-decoration:none}
a:hover{color:var(--amber2)}
img{display:block;max-width:100%;height:auto}
ul,ol{list-style:none}

a:focus-visible,button:focus-visible,input:focus-visible,
textarea:focus-visible,select:focus-visible{
  outline:2px solid var(--amber);outline-offset:3px;border-radius:4px;
}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* LAYOUT */
.container{max-width:var(--max);margin:auto;padding:0 28px;position:relative;z-index:1}
.page-grid{display:grid;grid-template-columns:1fr 300px;gap:28px;padding:24px 0 80px;align-items:start}

/* FREQ BAR */
.freq-bar{
  display:flex;align-items:center;justify-content:space-between;
  padding:5px 28px;font-family:var(--mono);font-size:9px;
  letter-spacing:.18em;text-transform:uppercase;
  background:rgba(6,9,16,.98);border-bottom:1px solid var(--line);color:var(--dim);
  position:relative;z-index:1;
}
.freq-left{color:var(--dim)}
.freq-right{display:flex;align-items:center;gap:8px}
.freq-dot{width:5px;height:5px;border-radius:50%;background:var(--dim);opacity:.4}
.freq-bar-live .freq-left,.freq-bar-live .freq-right{color:var(--live2)}
.freq-bar-live{border-bottom-color:rgba(200,32,32,.3)}
.freq-dot-live{background:var(--live);opacity:1;animation:pulse-live 1.2s infinite}
.freq-listen-btn{
  background:var(--live);color:#fff;border:none;font-family:var(--mono);font-size:9px;
  letter-spacing:.1em;padding:3px 10px;border-radius:2px;cursor:pointer;font-weight:700;transition:opacity .15s;
}
.freq-listen-btn:hover{opacity:.85}

/* STATUS BAR */
#statusBar{
  position:sticky;top:0;z-index:200;
  background:rgba(11,15,26,.97);border-bottom:1px solid var(--line2);
  padding:7px 28px;display:flex;align-items:center;gap:10px;
  font-family:var(--mono);font-size:11px;
  backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
}
.sdot{width:8px;height:8px;border-radius:50%;background:var(--dim);flex-shrink:0}
.sdot-live{background:var(--live);animation:pulse-live 1.2s infinite}
.status-live{background:rgba(200,32,32,.06);border-bottom-color:rgba(200,32,32,.28)}
.status-live #stext{color:var(--live2)}
#stext{flex:1;letter-spacing:.04em;color:var(--dim)}
#sright{color:var(--dim);font-size:10px}

/* LIVE BAR — red, not ember */
.live-bar{
  display:flex;align-items:center;gap:12px;padding:0 20px;height:38px;
  background:rgba(200,32,32,.08);border-bottom:1px solid rgba(200,32,32,.32);
  font-family:var(--mono);position:sticky;top:0;z-index:300;backdrop-filter:blur(8px);
}
.live-play-btn{
  width:28px;height:28px;border-radius:50%;background:var(--live);border:none;color:#fff;
  display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;
  transition:transform .12s,opacity .15s,box-shadow .15s;
}
.live-play-btn:hover{opacity:.88;box-shadow:0 0 0 4px rgba(200,32,32,.25)}
.live-play-btn:active{transform:scale(.93)}
.live-play-btn.playing{box-shadow:0 0 0 4px rgba(200,32,32,.25)}
.live-dot-pulse{width:6px;height:6px;border-radius:50%;background:var(--live);display:inline-block;animation:pulse-live 1.2s infinite}
.live-bar-meta{display:flex;align-items:center;gap:7px;flex:1;min-width:0;overflow:hidden;font-size:10px;letter-spacing:.1em}
.live-bar-label{color:var(--live2);font-weight:700}
.live-bar-guest{color:var(--text);font-size:11px;font-family:var(--body);font-style:italic}
.live-bar-show{color:var(--muted)}
.live-bar-time{color:var(--dim)}
.live-bar-sep{color:var(--dim)}
.live-bar-vol{display:flex;align-items:center;gap:6px;opacity:.4;transition:opacity .2s}
.live-bar:hover .live-bar-vol,.live-bar.playing .live-bar-vol{opacity:1}
.live-popout-btn{
  background:none;border:1px solid rgba(255,255,255,.12);color:var(--dim);
  padding:4px 8px;border-radius:3px;cursor:pointer;flex-shrink:0;
  transition:all .15s;display:flex;align-items:center;
}
.live-popout-btn:hover{border-color:rgba(255,255,255,.28);color:var(--muted)}

/* MASTHEAD */
.masthead{background:rgba(11,15,26,.94);border-bottom:1px solid var(--line);position:relative;overflow:hidden}
.masthead::after{
  content:"";position:absolute;right:0;top:0;width:420px;height:100%;
  background:
    radial-gradient(ellipse at 90% 50%,rgba(242,155,24,.10),transparent 55%),
    repeating-linear-gradient(90deg,transparent 0 148px,rgba(242,155,24,.04) 149px 150px);
  pointer-events:none;
}
.masthead-inner{
  display:grid;grid-template-columns:1fr auto;gap:34px;align-items:center;
  padding:34px 0 30px;position:relative;z-index:2;
}
.brand-kicker{font-family:var(--mono);font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--amber2);margin-bottom:8px}
.site-wordmark{font-family:var(--disp);font-size:clamp(60px,8vw,100px);line-height:.82;letter-spacing:.06em;color:var(--text);cursor:pointer}
.site-wordmark span{color:var(--amber2);text-shadow:0 0 60px rgba(242,155,24,.35)}
.site-tagline{color:var(--muted);font-style:italic;margin-top:10px;font-size:16px}
.mast-stats{display:grid;gap:10px}
.mast-stat{
  border:1px solid var(--line2);background:rgba(255,255,255,.04);
  border-radius:12px;padding:12px 18px;text-align:right;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
.mast-stat small{display:block;font-family:var(--mono);font-size:8px;letter-spacing:.17em;text-transform:uppercase;color:var(--dim)}
.mast-stat strong{display:block;font-family:var(--disp);font-size:32px;line-height:1;color:var(--amber2)}
.mast-stat.green strong{color:var(--green)}

/* NAV */
header{
  position:sticky;top:0;z-index:198;
  background:rgba(14,20,34,.94);border-bottom:1px solid var(--line);
  backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);
}
.header-inner{max-width:var(--max);margin:auto;padding:0 28px;display:flex;align-items:stretch;height:52px}
.logo{font-family:var(--disp);font-size:28px;letter-spacing:.06em;color:var(--text);display:flex;align-items:center;margin-right:24px;flex-shrink:0;cursor:pointer}
.logo .g{color:var(--amber2)}
.logo-emblem{display:none}

nav{display:flex;flex:1;align-items:stretch}
nav a,.nav-dd-trigger{
  border:0;border-right:1px solid var(--line);background:transparent;color:var(--muted);
  height:52px;padding:0 17px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;
  text-transform:uppercase;display:flex;align-items:center;gap:8px;
  transition:color .14s,background .14s,box-shadow .14s;white-space:nowrap;cursor:pointer;
}
nav a:hover,nav a.active,.nav-dd-trigger:hover{
  color:var(--amber2);background:rgba(242,155,24,.07);box-shadow:inset 0 -2px 0 var(--amber);
}
nav a.grave{color:#ff9a73}
nav a.grave:hover{color:var(--ember);background:rgba(255,98,38,.07);box-shadow:inset 0 -2px 0 var(--ember)}
nav a.area13{color:#9fc8ff}
nav a.area13:hover{color:var(--blue);background:rgba(91,157,241,.07);box-shadow:inset 0 -2px 0 var(--blue)}
nav a.booking{color:var(--green)}

.nav-dd{position:relative;display:flex}
.nav-dd-menu{
  display:none;position:absolute;top:52px;left:0;
  background:var(--panel);border:1px solid var(--line2);border-top:none;
  min-width:180px;z-index:200;box-shadow:var(--shadow-sm);
}
.nav-dd:hover .nav-dd-menu{display:block}
.nav-dd-menu a{display:block;height:auto;padding:10px 16px;border-right:none;border-bottom:1px solid var(--line);font-size:10px}
.nav-dd-menu a:last-child{border-bottom:none}
.nav-arrow{font-size:8px;opacity:.5}

.h-right{margin-left:auto;display:flex;align-items:center;gap:0}
.h-right>*{border-left:1px solid var(--line)}
.h-search-trigger{height:52px;padding:0 16px;background:transparent;border:none;border-left:1px solid var(--line);color:var(--dim);cursor:pointer;display:flex;align-items:center;transition:color .14s}
.h-search-trigger:hover{color:var(--amber2)}
.tbtn{height:52px;width:42px;background:transparent;border:none;border-left:1px solid var(--line);color:var(--dim);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .14s}
.tbtn:hover{color:var(--amber2)}
.tbtn svg{width:14px;height:14px}
.ham{display:none;height:52px;width:44px;flex-direction:column;gap:5px;cursor:pointer;padding:0 12px;background:none;border:none;border-left:1px solid var(--line);align-items:center;justify-content:center}
.ham span{width:20px;height:1.5px;background:var(--muted);display:block;border-radius:1px}

.h-search-overlay{display:none;position:fixed;inset:0;background:rgba(6,9,16,.88);z-index:500;align-items:flex-start;justify-content:center;padding-top:80px;backdrop-filter:blur(10px)}
.h-search-overlay.open{display:flex}
.h-search-panel{background:var(--panel);border:1px solid var(--line2);border-radius:14px;width:min(620px,90vw);overflow:hidden;box-shadow:var(--shadow)}
.h-search-input-row{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}
.h-search-input-row input{flex:1;background:transparent;border:none;font-family:var(--body);font-size:18px;color:var(--text);outline:none}
.h-search-input-row input::placeholder{color:var(--dim)}
.h-search-kbd{font-family:var(--mono);font-size:9px;color:var(--dim);border:1px solid var(--line2);border-radius:4px;padding:2px 6px}
.h-search-results{max-height:420px;overflow-y:auto}
.h-search-hit{display:flex;gap:12px;padding:12px 16px;border-bottom:1px solid var(--line);transition:background .12s;cursor:pointer}
.h-search-hit:hover{background:var(--panel2)}
.h-search-hit-type{font-family:var(--mono);font-size:9px;color:var(--amber2);letter-spacing:.1em;text-transform:uppercase;flex-shrink:0;width:60px;padding-top:2px}
.h-search-hit-title{font-size:16px;color:var(--text);line-height:1.3}
.h-search-hit-sub{font-size:13px;color:var(--dim);margin-top:2px}

/* PANELS */
.panel{background:rgba(20,27,42,.86);border:1px solid var(--line);border-radius:var(--r);margin-bottom:20px;overflow:hidden;box-shadow:var(--shadow)}
.panel-head{padding:13px 18px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;background:rgba(0,0,0,.18)}
.panel-title{font-family:var(--disp);font-size:25px;letter-spacing:.07em;color:var(--amber2)}
.panel-action{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--blue);transition:color .12s}
.panel-action:hover{color:var(--amber2)}
.panel-body{padding:18px}
.panel-body.np{padding:0}

/* TAGS — bumped opacity */
.tag{display:inline-block;font-family:var(--mono);font-size:8px;letter-spacing:.09em;text-transform:uppercase;border:1px solid;border-radius:5px;padding:3px 8px}
.tag.amber{background:rgba(242,155,24,.18);border-color:rgba(242,155,24,.45);color:var(--amber2)}
.tag.blue {background:rgba(91,157,241,.16);border-color:rgba(91,157,241,.42);color:#9fc8ff}
.tag.green{background:rgba(98,230,162,.15);border-color:rgba(98,230,162,.38);color:var(--green)}
.tag.ember{background:rgba(255,98,38,.18); border-color:rgba(255,98,38,.42); color:#ff9a73}

/* Topic chips — visible border */
.topic-chip{
  display:inline-block;font-family:var(--mono);font-size:9px;letter-spacing:.06em;
  text-transform:uppercase;border:1px solid var(--line2);border-radius:5px;
  padding:4px 10px;color:var(--muted);margin:3px 3px 0 0;
  transition:color .12s,border-color .12s,background .12s;
}
.topic-chip:hover{color:var(--amber2);border-color:rgba(242,155,24,.38);background:rgba(242,155,24,.08)}
.topic-chip.t-ufo  {color:var(--amber2);border-color:rgba(242,155,24,.32);background:rgba(242,155,24,.07)}
.topic-chip.t-ghost{color:#9fc8ff;      border-color:rgba(91,157,241,.32);background:rgba(91,157,241,.07)}
.topic-chip.t-nde  {color:var(--green); border-color:rgba(98,230,162,.32);background:rgba(98,230,162,.07)}

/* BUTTONS — secondary border was .10, now .22 */
.btn,.btn-p,.btn-s{
  display:inline-flex;gap:8px;align-items:center;
  border:1px solid rgba(255,255,255,.22);
  border-radius:9px;padding:12px 20px;font-family:var(--mono);font-size:10px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--muted);
  transition:border-color .14s,color .14s,background .14s;cursor:pointer;background:transparent;
}
.btn:hover,.btn-s:hover{border-color:var(--amber);color:var(--amber2)}
.btn-p{background:rgba(242,155,24,.16);border-color:rgba(242,155,24,.45);color:var(--amber2)}
.btn-p:hover{background:rgba(242,155,24,.28)}
.btn.hot  {background:rgba(242,155,24,.16);border-color:rgba(242,155,24,.45);color:var(--amber2)}
.btn.blue {background:rgba(91,157,241,.14);border-color:rgba(91,157,241,.42);color:#9fc8ff}
.btn.grave,.btn-grave{background:rgba(255,98,38,.16);border-color:rgba(255,98,38,.42);color:#ff9a73}
.btn.hot:hover  {background:rgba(242,155,24,.28)}
.btn.blue:hover {background:rgba(91,157,241,.26)}
.btn.grave:hover,.btn-grave:hover{background:rgba(255,98,38,.26)}
.btn-signal{
  display:block;width:100%;text-align:center;padding:12px;border-radius:9px;
  background:rgba(91,157,241,.13);border:1px solid rgba(91,157,241,.40);color:#9fc8ff;
  font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;
  transition:background .14s;cursor:pointer;
}
.btn-signal:hover{background:rgba(91,157,241,.24);color:#9fc8ff}

/* HERO */
.hero{
  position:relative;overflow:hidden;background:rgba(20,27,42,.86);
  border:1px solid rgba(242,155,24,.28);border-radius:var(--r);margin-bottom:20px;
}
.hero::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 85% 50%,rgba(242,155,24,.14),transparent 45%),
    radial-gradient(ellipse at 10% 85%,rgba(91,157,241,.08),transparent 40%);
  pointer-events:none;
}
.tower-graphic{
  position:absolute;right:0;bottom:0;width:260px;height:100%;opacity:.20;
  background:
    linear-gradient(70deg, transparent 47%,var(--amber) 48%,transparent 49%),
    linear-gradient(-70deg,transparent 47%,var(--blue)  48%,transparent 49%),
    linear-gradient(90deg, transparent 49%,rgba(255,255,255,.6) 50%,transparent 51%);
  pointer-events:none;
}
.hero-inner{position:relative;padding:46px;max-width:800px}
.kicker{font-family:var(--mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--amber2);margin-bottom:12px}
.hero h1,.hero h2{font-family:var(--disp);font-size:clamp(58px,8vw,92px);line-height:.82;letter-spacing:.04em;color:var(--text)}
.hero h1 span,.hero h2 span{color:var(--amber2);text-shadow:0 0 80px rgba(242,155,24,.3)}
.hero p,.hero-desc{max-width:610px;color:var(--muted);font-style:italic;margin:16px 0 26px}
.hero-btns{display:flex;gap:10px;flex-wrap:wrap}

.hero.grave-hero{border-color:rgba(255,98,38,.34);background:linear-gradient(135deg,rgba(36,8,3,.95),rgba(14,9,7,.92))}
.hero.grave-hero::before{background:radial-gradient(ellipse at 85% 40%,rgba(255,98,38,.12),transparent 45%)}
.hero.grave-hero::after{content:"🎃";position:absolute;right:34px;top:30px;font-size:110px;opacity:.12;pointer-events:none}

/* COUNTDOWN */
#cd,.countdown{display:flex;gap:6px;margin:8px 0 24px;flex-wrap:wrap}
.cd{text-align:center}
.cd b{display:block;min-width:72px;border:1px solid rgba(242,155,24,.28);background:rgba(242,155,24,.12);border-radius:9px;color:var(--amber2);font-family:var(--disp);font-size:48px;line-height:1;padding:7px 10px}
.cd small{display:block;color:var(--dim);font-family:var(--mono);font-size:8px;letter-spacing:.14em;text-transform:uppercase;margin-top:5px}

/* EPISODE ROWS — date bumped from --dim to --muted */
.ep-row,.epc{display:grid;grid-template-columns:82px 1fr auto;gap:12px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--line);transition:background .12s;cursor:pointer}
.ep-row:last-child,.epc:last-child{border-bottom:none}
.ep-row:hover,.epc:hover{background:rgba(242,155,24,.04)}
.ep-date,.epc-date{font-family:var(--mono);font-size:9px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}
.ep-title,.epc-title{font-family:var(--disp);font-size:22px;color:var(--text);line-height:1;margin-bottom:3px}
.ep-title a:hover,.epc-title a:hover{color:var(--amber2)}
.ep-sub,.epc-sub{font-family:var(--mono);font-size:9px;color:var(--muted)}

/* EPISODE CARDS — amber hover not green */
.ep-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.epc-card{background:rgba(0,0,0,.20);border:1px solid var(--line);border-radius:14px;padding:18px;transition:transform .2s,border-color .2s,box-shadow .2s;cursor:pointer}
.epc-card:hover{transform:translateY(-2px);border-color:rgba(242,155,24,.5);box-shadow:0 8px 32px rgba(242,155,24,.10)}
.epc-show{font-family:var(--mono);font-size:10px;color:var(--amber2);letter-spacing:.1em;text-transform:uppercase;margin-bottom:6px}
.epc-topic{font-family:var(--mono);font-size:9px;color:var(--dim);border:1px solid var(--line2);padding:2px 8px;border-radius:3px}
.epc-db{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.epc-body h3{font-family:var(--disp);font-size:28px;color:var(--text);line-height:1;margin-bottom:8px}
.epc-gn{font-size:15px;color:var(--text);font-weight:600}
.epc-gs{font-size:13px;color:var(--dim)}

/* GUEST CARDS */
.g2-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.g2-card{
  background:rgba(0,0,0,.20);border:1px solid var(--line);border-radius:14px;padding:18px;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;cursor:pointer;position:relative;
}
.g2-card:hover{transform:translateY(-3px);border-color:rgba(242,155,24,.55);box-shadow:0 8px 36px rgba(242,155,24,.13),0 0 0 1px rgba(242,155,24,.16)}
.g2-photo{
  height:120px;border-radius:12px;overflow:hidden;
  background:radial-gradient(circle at 50% 32%,rgba(255,255,255,.16),transparent 24%),
             linear-gradient(135deg,rgba(91,157,241,.12),rgba(242,155,24,.07));
  margin-bottom:12px;display:grid;place-items:center;
}
.g2-photo img{width:100%;height:100%;object-fit:cover;object-position:top;border-radius:12px}
.g2-photo .placeholder{color:var(--dim);font-family:var(--mono);font-size:9px;letter-spacing:.12em}
.g2-body{}
.g2-badges{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}
.g2-badge{font-family:var(--mono);font-size:8px;letter-spacing:.08em;text-transform:uppercase;border:1px solid rgba(98,230,162,.32);background:rgba(98,230,162,.09);color:var(--green);border-radius:5px;padding:2px 8px}
.g2-badge.amber{border-color:rgba(242,155,24,.32);background:rgba(242,155,24,.09);color:var(--amber2)}
.g2-badge.ember{border-color:rgba(255,98,38,.32); background:rgba(255,98,38,.09); color:#ff9a73}
.g2-name{font-family:var(--disp);font-size:24px;color:var(--text);line-height:1;margin-bottom:4px;transition:color .15s}
.g2-card:hover .g2-name{color:var(--amber2)}
.g2-title{font-size:13px;color:var(--muted);font-style:italic;margin-bottom:6px}
.g2-bio  {font-size:13px;color:var(--dim);line-height:1.55;margin-top:6px}
.g2-meta {display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-family:var(--mono);font-size:9px;color:var(--dim);letter-spacing:.04em;margin-top:8px}
.g2-dot  {opacity:.3}
.g2-cta  {font-family:var(--mono);font-size:9px;color:var(--amber2);letter-spacing:.1em;text-transform:uppercase;margin-top:10px;opacity:0;transition:opacity .2s}
.g2-card:hover .g2-cta{opacity:1}
.g2-card.is-deceased .g2-name::after{content:' ✦';font-size:12px;color:var(--amber);font-weight:400}

/* SIDEBAR — more defined borders */
aside{position:sticky;top:76px}
.sb-block{background:rgba(20,27,42,.88);border:1px solid var(--line2);border-radius:var(--r);overflow:hidden;margin-bottom:16px;box-shadow:var(--shadow-sm)}
.sb-head{font-family:var(--disp);font-size:22px;letter-spacing:.07em;color:var(--amber2);padding:12px 16px;border-bottom:1px solid var(--line2);background:rgba(0,0,0,.18)}
.sb-body{padding:14px 16px}
.sigb{padding:14px 16px}

/* Area 13 promo */
.signal-promo{
  background:rgba(18,25,42,.90);border:1px solid rgba(91,157,241,.30);
  border-radius:var(--r);padding:18px;margin-bottom:16px;
  position:relative;overflow:hidden;box-shadow:var(--shadow-sm);
}
.signal-promo::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 90% 10%,rgba(91,157,241,.08),transparent 50%);pointer-events:none}
.signal-promo h3{font-family:var(--disp);font-size:28px;color:#9fc8ff;margin-bottom:6px;position:relative}
.signal-promo-sub{font-family:var(--mono);font-size:10px;color:var(--dim);letter-spacing:.06em;margin-bottom:12px}
.signal-perks{margin-bottom:14px}
.signal-perk{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--muted);margin-bottom:5px}
.signal-perk-dot{width:4px;height:4px;border-radius:50%;background:var(--blue);flex-shrink:0}
.signal-price{font-family:var(--mono);font-size:10px;color:var(--dim);letter-spacing:.08em;margin-bottom:12px}

.sec-head{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--amber2);padding-bottom:10px;margin-bottom:20px;border-bottom:1px solid var(--line2);display:flex;justify-content:space-between;align-items:center}
.sec-head a{font-size:10px;color:var(--dim);letter-spacing:.04em;cursor:pointer;transition:color .15s}
.sec-head a:hover{color:var(--amber2)}

/* PLAYER — green only */
.player-panel{border-color:rgba(98,230,162,.28);background:linear-gradient(135deg,rgba(10,14,24,.97),rgba(20,27,42,.92))}
.play-btn{
  width:58px;height:58px;border-radius:50%;display:grid;place-items:center;
  border:2px solid var(--green);background:rgba(98,230,162,.12);color:var(--green);font-size:18px;
  cursor:pointer;transition:background .14s,box-shadow .14s;
}
.play-btn:hover{background:rgba(98,230,162,.22);box-shadow:0 0 0 6px rgba(98,230,162,.10)}
.play-btn.playing{border-color:var(--amber);color:var(--amber);background:rgba(242,155,24,.12);box-shadow:0 0 0 6px rgba(242,155,24,.08)}
.player-top{display:grid;grid-template-columns:58px 1fr auto;gap:17px;align-items:center}
.player-title{font-family:var(--disp);font-size:22px;color:#fff;margin-bottom:4px}
.player-meta{font-family:var(--mono);font-size:10px;color:var(--muted)}
.player-progress-wrap{margin-top:14px}
.player-progress{width:100%;height:5px;background:rgba(255,255,255,.10);border-radius:3px;cursor:pointer;position:relative;margin-bottom:6px}
.player-progress-bar{height:100%;width:0;background:var(--green);border-radius:3px;transition:width .1s linear;pointer-events:none;box-shadow:0 0 8px rgba(98,230,162,.4)}
.player-times{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;color:var(--dim)}

/* Waveform — green only, full color */
.wave{height:54px;display:flex;gap:2px;align-items:center;margin-top:16px}
.wave i{flex:1;background:var(--green);border-radius:1px;animation:wv .45s infinite alternate}
.wave i:nth-child(even){opacity:.45;animation-duration:.68s}
.wave i:nth-child(3n)  {opacity:.30;animation-duration:.36s}
@keyframes wv{from{height:8%}to{height:100%}}

.mini-player{display:none}
.mini-player.active{display:flex;align-items:center;gap:12px;position:fixed;bottom:0;left:0;right:0;height:56px;padding:0 20px;background:rgba(16,22,36,.97);border-top:1px solid var(--line2);z-index:300;backdrop-filter:blur(24px)}

/* MOBILE NAV */
.mob-ov{display:none;position:fixed;inset:0;background:rgba(6,9,16,.90);z-index:400;backdrop-filter:blur(10px)}
.mob-ov.open{display:flex}
.mob-pan{width:min(300px,85vw);background:var(--panel);border-right:1px solid var(--line2);height:100%;overflow-y:auto;padding-bottom:40px}
.mob-top{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 16px;border-bottom:1px solid var(--line)}
.mob-l{display:flex;align-items:center;gap:10px;padding:13px 20px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);transition:color .12s,background .12s}
.mob-l:hover,.mob-l.active{color:var(--amber2);background:rgba(242,155,24,.07)}
.mob-l.grave {color:#ff9a73}
.mob-l.area13{color:#9fc8ff}
.mob-sec-h{padding:13px 20px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--line);cursor:pointer;display:flex;justify-content:space-between}
.mob-sec-body{display:none}
.mob-sec.open .mob-sec-body{display:block}
.mob-sec-body .mob-l{padding-left:32px}

/* Bottom nav — live = red */
.bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;background:rgba(16,22,36,.97);border-top:1px solid var(--line2);z-index:300;padding-bottom:env(safe-area-inset-bottom);backdrop-filter:blur(24px)}
.bottom-nav-inner{display:flex}
.bottom-nav a{flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 4px;font-family:var(--mono);font-size:8px;letter-spacing:.06em;text-transform:uppercase;color:var(--dim);transition:color .14s;border-top:2px solid transparent;position:relative}
.bottom-nav a:hover {color:var(--amber2)}
.bottom-nav a.active{color:var(--amber2);border-top-color:var(--amber)}
.bottom-nav a.bn-live{color:var(--live2)}
.bottom-nav svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.bn-badge{position:absolute;top:4px;right:calc(50% - 16px);background:var(--live);color:#fff;width:14px;height:14px;border-radius:50%;font-family:var(--mono);font-size:8px;display:flex;align-items:center;justify-content:center}

/* FORMS */
.fi{width:100%;background:rgba(0,0,0,.28);border:1px solid var(--line2);border-radius:7px;color:var(--text);padding:10px 12px;font-family:var(--body);font-size:16px;outline:none;transition:border-color .14s,box-shadow .14s;display:block;margin-bottom:10px}
.fi:focus{border-color:var(--amber);box-shadow:0 0 0 3px rgba(242,155,24,.12)}
.fi::placeholder{color:var(--dim)}

/* FOOTER — amber gradient top border */
footer{
  border-top:2px solid rgba(242,155,24,.20);
  background:#0b0f19;padding:40px 0 80px;color:var(--muted);position:relative;
}
footer::before{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(242,155,24,.35) 30%,rgba(91,157,241,.25) 70%,transparent);
}
.fi-inner{max-width:var(--max);margin:auto;padding:0 28px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1fr;gap:30px}
.fb{font-family:var(--disp);font-size:38px;color:var(--text);margin-bottom:8px}
.ft{color:var(--muted);font-style:italic;font-size:15px;margin-bottom:6px}
.floc{font-family:var(--mono);font-size:9px;color:var(--dim);letter-spacing:.08em}
.fc h4{font-family:var(--mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:var(--amber2);margin-bottom:12px;opacity:.7}
.fc a{display:block;margin:6px 0;color:var(--muted);font-size:15px;transition:color .12s}
.fc a:hover{color:var(--amber2)}
.fcp{max-width:var(--max);margin:24px auto 0;padding:20px 28px 0;border-top:1px solid var(--line);font-family:var(--mono);font-size:9px;color:var(--dim);letter-spacing:.06em}

/* MISC */
.prem{background:var(--panel);border:1px solid rgba(242,155,24,.28);border-left:4px solid var(--amber);border-radius:var(--r);padding:28px 36px;margin-bottom:20px}
.ns{margin-top:32px;padding-top:20px;border-top:1px solid var(--line)}
.ns-label{font-family:var(--mono);font-size:10px;color:var(--dim);letter-spacing:.12em;text-transform:uppercase;display:block;margin-bottom:14px}
.ns-names{display:flex;flex-wrap:wrap;gap:8px 24px;align-items:baseline}
.ns-names span{font-family:var(--body);font-size:18px;color:var(--muted);font-style:italic;cursor:pointer;transition:color .2s}
.ns-names span:hover{color:var(--text)}

/* ── TRANSMISSION STRIP — replaces breadcrumb ── */
/* Sits flush under the sticky nav, fills the dead space,
   carries section identity in broadcast style             */
.tx-strip{
  background:rgba(10,14,24,.97);
  border-bottom:1px solid var(--line);
  margin-bottom:28px;
  position:relative;
  overflow:hidden;
}
/* Subtle amber scan-line accent on top edge */
.tx-strip::before{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent 0%,rgba(242,155,24,.25) 20%,rgba(242,155,24,.5) 50%,rgba(242,155,24,.25) 80%,transparent 100%);
}
.tx-strip-inner{
  max-width:var(--max);margin:auto;padding:0 28px;
  display:flex;align-items:center;gap:0;height:38px;
}

/* Back link */
.tx-back{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--dim);text-decoration:none;
  padding-right:20px;border-right:1px solid var(--line);
  height:100%;flex-shrink:0;
  transition:color .14s;white-space:nowrap;
}
.tx-back:hover{color:var(--amber2)}
.tx-back svg{transition:transform .14s;flex-shrink:0}
.tx-back:hover svg{transform:translateX(-3px)}

/* Current page — center, truncates */
.tx-current{
  flex:1;min-width:0;
  font-family:var(--body);font-size:14px;
  color:var(--muted);font-style:italic;
  padding:0 20px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  letter-spacing:.01em;
}

/* Signal bars + section label — right side */
.tx-signal{
  display:flex;align-items:center;gap:8px;
  flex-shrink:0;padding-left:20px;
  border-left:1px solid var(--line);
  height:100%;
}
.tx-freq{
  font-family:var(--mono);font-size:9px;
  color:var(--amber2);letter-spacing:.18em;text-transform:uppercase;
  white-space:nowrap;
}
/* Signal strength bars — AM radio aesthetic */
.tx-bar{
  display:inline-block;width:3px;border-radius:1px;
  background:var(--amber2);opacity:.3;
  transition:opacity .3s;
}
.tx-bar-1{height:6px}.tx-bar-2{height:9px}.tx-bar-3{height:13px}
.tx-bar-4{height:9px}.tx-bar-5{height:6px}
/* All bars "active" — full strength */
.tx-bar-1{opacity:.5}.tx-bar-2{opacity:.65}.tx-bar-3{opacity:.9}
.tx-bar-4{opacity:.65}.tx-bar-5{opacity:.5}

/* Legacy */
.breadcrumb{display:none}
.page-nav{display:none}
.back-link{display:none}

@media(max-width:640px){
  .tx-strip-inner{padding:0 14px;height:34px}
  .tx-current{font-size:12px;padding:0 12px}
  .tx-signal{padding-left:12px;gap:5px}
  .tx-freq{display:none}
  .tx-back span{display:none}
  .tx-back{padding-right:14px;gap:0}
}

.pagination,.pag{display:flex;justify-content:center;gap:6px;padding:30px 0;font-family:var(--mono)}
.pag a,.pag span{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid var(--line2);border-radius:8px;font-size:12px;color:var(--muted);transition:all .14s}
.pag a:hover{border-color:var(--amber);color:var(--amber2)}
.pag .current{background:rgba(242,155,24,.20);border-color:var(--amber);color:var(--amber2)}

/* ANIMATIONS */
@keyframes pulse-live{
  0%,100%{box-shadow:0 0 0 0   rgba(200,32,32,.8)}
  60%    {box-shadow:0 0 0 6px rgba(200,32,32,0)}
}
@keyframes pulse{
  0%,100%{box-shadow:0 0 0 0   rgba(242,155,24,.7)}
  60%    {box-shadow:0 0 0 6px rgba(242,155,24,0)}
}

/* RESPONSIVE */
/* ── TABLET (≤1050px) ── */
@media(max-width:1050px){
  .page-grid{grid-template-columns:1fr}
  aside{position:static}
  .masthead-inner{grid-template-columns:1fr}
  .mast-stats{display:none}
  .fi-inner{grid-template-columns:1fr 1fr}
  .g2-grid{grid-template-columns:1fr 1fr}
  .ham{display:flex}
  nav{display:none}
  .h-search-trigger{display:none}
  .hero-inner{padding:36px 32px}
  /* sidebar becomes horizontal strip on tablet */
  #sb-schedule{order:-1}
}

/* ── MOBILE (≤640px) ── */
@media(max-width:640px){
  /* layout */
  .container,.wrap{padding:0 14px}
  .page-grid{padding:14px 0 72px}

  /* masthead — leaner */
  .masthead-inner{padding:20px 0 16px}
  .brand-kicker{font-size:9px;letter-spacing:.18em;margin-bottom:4px}
  .site-wordmark{font-size:clamp(48px,12vw,64px)}
  .site-tagline{font-size:14px;margin-top:4px}
  .hdr-tagline{display:none}
  .masthead-moon,.masthead-tower{display:none}
  /* reduce CRT scanlines on mobile — performance + readability */
  body::before{opacity:.4}
  /* reduce starfield */
  body::after{opacity:.5}

  /* hero */
  .hero-inner{padding:24px 20px 28px}
  .hero h1,.hero h2{font-size:clamp(52px,14vw,72px)}
  .hero p,.hero-desc{font-size:16px;margin:12px 0 20px}
  .hero-btns{flex-direction:column;gap:8px}
  .hero-btns .btn,.hero-btns .btn-p,.hero-btns .btn-s{width:100%;justify-content:center;padding:14px 20px}
  .tower-graphic{display:none}

  /* countdown */
  #cd,.countdown{gap:4px}
  .cd b{font-size:36px;min-width:56px;padding:6px 8px}

  /* player */
  .player-top{grid-template-columns:48px 1fr auto;gap:12px}
  .play-btn,.play{width:48px;height:48px;font-size:16px}
  .player-title{font-size:18px}
  .wave{height:40px}

  /* grids */
  .grid2,.grid3{grid-template-columns:1fr}
  .ep-grid{grid-template-columns:1fr}
  .g2-grid{grid-template-columns:1fr 1fr}
  .fi-inner{grid-template-columns:1fr}

  /* episode rows */
  .ep-row,.epc{grid-template-columns:64px 1fr;gap:10px}
  .ep-row>.tag,.epc>.tag{display:none}
  .ep-title,.epc-title{font-size:19px}

  /* guest cards */
  .g2-name{font-size:20px}
  .g2-photo{height:100px}
  .g2-cta{display:none}

  /* panels */
  .panel-head{padding:11px 14px}
  .panel-title{font-size:22px}
  .panel-body{padding:14px}

  /* sidebar — on mobile show as simple accordion list */
  aside .sb-block{margin-bottom:10px}
  .sb-head{font-size:19px;padding:11px 14px;cursor:pointer;user-select:none}
  .sb-head::after{content:'▾';float:right;font-size:12px;opacity:.5;transition:transform .2s}
  .sb-block.sb-open .sb-head::after{transform:rotate(180deg)}
  .sb-block .np{display:none}
  .sb-block.sb-open .np{display:block}
  /* always show schedule — it's the most important sidebar item */
  #sb-schedule .np{display:block}

  /* article cards */
  .art-thumb{width:90px;min-width:90px;height:100px}
  .art-title{font-size:19px}
  .art-excerpt{display:none}

  /* lower band */
  .lower-band{grid-template-columns:1fr}
  .lower-block{border-right:none;border-bottom:1px solid var(--line)}

  /* forms */
  .fi{font-size:16px}
  .form-submit{padding:14px;font-size:12px}

  /* footer */
  .bottom-nav{display:block}
  footer{padding-bottom:72px}
  .fi-inner{gap:20px}
  .fb{font-size:28px}
  .fc a{font-size:14px}

  /* nav wordmark in header */
  .logo{font-size:22px;margin-right:12px}
}

/* ── VERY SMALL (≤380px) ── */
@media(max-width:380px){
  .g2-grid{grid-template-columns:1fr}
  .hero h1,.hero h2{font-size:clamp(44px,13vw,58px)}
  .container,.wrap{padding:0 12px}
}

/* ── GRID UTILITIES ── */
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media(max-width:680px){.grid2,.grid3{grid-template-columns:1fr}}

/* ── MASTHEAD ATMOSPHERE ── */
.masthead-sky{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.masthead-sky::before{content:"";position:absolute;inset:0;background-image:radial-gradient(1.2px 1.2px at 8% 22%,rgba(255,255,255,.9),transparent),radial-gradient(1px 1px at 14% 10%,rgba(255,255,255,.8),transparent),radial-gradient(1.5px 1.5px at 22% 35%,rgba(255,232,187,.9),transparent),radial-gradient(1px 1px at 31% 14%,rgba(255,255,255,.7),transparent),radial-gradient(1.8px 1.8px at 48% 42%,rgba(255,216,136,.8),transparent),radial-gradient(1px 1px at 66% 8%,rgba(255,255,255,.9),transparent),radial-gradient(1.8px 1.8px at 76% 20%,rgba(255,232,170,.8),transparent),radial-gradient(1.2px 1.2px at 92% 25%,rgba(255,255,255,.8),transparent)}
.masthead-sky::after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 85% 25%,rgba(190,60,220,.18),transparent 55%),radial-gradient(ellipse 40% 50% at 95% 55%,rgba(120,20,180,.12),transparent 50%),linear-gradient(to top,rgba(30,8,4,.8) 0%,rgba(46,18,8,.4) 25%,transparent 65%)}
.masthead-moon{position:absolute;top:14px;right:160px;width:56px;height:56px;pointer-events:none}
.masthead-moon::before{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 38% 38%,#f0e0b0,#c8a860 45%,#906030 75%,#603818 100%);box-shadow:0 0 20px rgba(190,140,40,.22)}
.masthead-moon::after{content:"";position:absolute;top:-5px;left:12px;width:50px;height:50px;border-radius:50%;background:radial-gradient(circle at 40% 35%,rgba(8,11,18,1) 0%,transparent 60%)}
.masthead-tower{position:absolute;bottom:10px;left:60px;width:52px;height:110px;pointer-events:none}
.tower-blink{position:absolute;bottom:108px;left:50%;transform:translateX(-50%);width:5px;height:5px;border-radius:50%;background:var(--live);box-shadow:0 0 6px var(--live);animation:blink 1.6s ease-in-out infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.06}}
.tower-spike{position:absolute;bottom:84px;left:50%;transform:translateX(-50%);width:2px;height:26px;background:rgba(255,255,255,.15)}
.tower-mast{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:0;height:0;border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:84px solid rgba(255,255,255,.12)}
.tower-arm{position:absolute;left:50%;transform:translateX(-50%);background:rgba(255,255,255,.12);height:2px}
.tower-arm.a1{bottom:66px;width:40px}.tower-arm.a2{bottom:50px;width:32px}
.tower-arm.a3{bottom:34px;width:24px}.tower-arm.a4{bottom:18px;width:16px}
.hdr-tagline{font-family:var(--mono);font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:var(--dim);margin-top:6px}

/* ── NOW PLAYING STRIP ── */
.now-playing-strip{position:relative;min-height:100px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;border-radius:var(--r);margin-bottom:20px;border:1px solid rgba(200,32,32,.3)}
.np-strip-bg{position:absolute;inset:0;background:linear-gradient(120deg,rgba(8,14,28,.98) 0%,rgba(12,22,40,.95) 55%,rgba(14,16,24,.97) 100%)}
.np-strip-wave{position:absolute;inset:0;display:flex;align-items:center;padding:0 18px;gap:2px;opacity:.35}
.np-wbar{flex:1;border-radius:1px;animation:wv var(--d,.7s) ease-in-out infinite alternate;animation-delay:var(--dl,0s)}
.np-strip-content{position:relative;z-index:2;padding:18px 22px}
.np-onair{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:10px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--live2);margin-bottom:6px}
.np-dot{width:7px;height:7px;border-radius:50%;background:var(--live);animation:pulse-live 1.2s infinite}
.np-show-title{font-family:var(--disp);font-size:36px;letter-spacing:.06em;color:var(--text);line-height:.9;margin-bottom:6px}
.np-guest-line{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--muted)}
.np-guest-name{color:#9fc8ff;font-weight:700}
.np-guest-role{color:var(--amber2)}

/* ── ARTICLE CARDS ── */
.article-card{display:flex;border-bottom:1px solid var(--line);background:rgba(20,27,42,.6);transition:background .14s}
.article-card:hover{background:rgba(255,255,255,.04)}
.art-thumb{width:156px;min-width:156px;height:130px;overflow:hidden;flex-shrink:0;background:var(--panel2)}
.art-thumb img{width:100%;height:100%;object-fit:cover;filter:brightness(.85) saturate(.8);transition:filter .2s}
.article-card:hover .art-thumb img{filter:brightness(1) saturate(1)}
.art-body{padding:14px 18px;flex:1;display:flex;flex-direction:column;gap:6px}
.art-label{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}
.art-title{font-family:var(--disp);font-size:24px;letter-spacing:.04em;color:var(--text);line-height:.95;transition:color .14s}
.article-card:hover .art-title{color:var(--amber2)}
.art-excerpt{font-size:14px;color:var(--muted);line-height:1.6;flex:1}
.art-more{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--blue);transition:color .15s;align-self:flex-start}
.art-more:hover{color:var(--amber2)}

/* ── LOWER BAND ── */
.lower-band{border-top:2px solid var(--line2);display:grid;grid-template-columns:1fr 1fr 1fr;margin-top:0}
.lower-block{padding:20px 22px;border-right:1px solid var(--line)}
.lower-block:last-child{border-right:none}
.lb-head{font-family:var(--disp);font-size:22px;letter-spacing:.07em;color:var(--amber2);margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.lb-head.vault{color:#c8a030}
.lb-thumb{width:52px;height:52px;border-radius:8px;overflow:hidden;flex-shrink:0;background:var(--panel2)}
.lb-thumb-placeholder{width:100%;height:100%;display:grid;place-items:center;font-size:20px;background:rgba(242,155,24,.06)}
.lb-title{font-family:var(--disp);font-size:17px;letter-spacing:.03em;color:var(--text);line-height:1;margin-bottom:4px}
.lb-meta{font-family:var(--mono);font-size:9px;color:var(--dim);letter-spacing:.04em}
.vault-item{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.vault-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}
.vault-ep{font-size:14px;color:var(--muted);line-height:1.4;margin-bottom:3px}
.vault-ep a{color:#c8c0a8;transition:color .14s}
.vault-ep a:hover{color:#c8a030}
.vault-meta{font-family:var(--mono);font-size:9px;color:var(--dim);letter-spacing:.06em}
.vault-cta{display:inline-flex;align-items:center;margin-top:14px;font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:#c8a030;border:1px solid rgba(200,160,48,.4);border-radius:7px;padding:8px 16px;transition:background .14s}
.vault-cta:hover{background:rgba(200,160,48,.14);color:#e0b840}
.punnett-quote{margin-top:14px;padding:12px 16px;border-left:2px solid rgba(242,155,24,.4);background:rgba(242,155,24,.04);border-radius:0 8px 8px 0}
.punnett-quote p{font-style:italic;font-size:15px;color:var(--muted);line-height:1.6;margin-bottom:6px}
.punnett-quote cite{font-family:var(--mono);font-size:9px;color:var(--dim);letter-spacing:.1em;text-transform:uppercase}

/* ── SIDEBAR SCHEDULE & NEWSWIRE ── */
.sched-row{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;border-bottom:1px solid var(--line)}
.sched-row:last-child{border-bottom:none}
.sched-day{font-family:var(--mono);font-size:10px;color:var(--dim);text-transform:uppercase;letter-spacing:.06em}
.sched-time{font-family:var(--mono);font-size:10px;color:var(--amber2);font-weight:700}
.sched-row.tonight .sched-day{color:var(--text);font-weight:700}
.sched-row.tonight .sched-time{color:var(--live2)}
.news-item{display:flex;align-items:flex-start;gap:10px;padding:10px 16px;border-bottom:1px solid var(--line);cursor:pointer;transition:background .12s;text-decoration:none}
.news-item:last-child{border-bottom:none}
.news-item:hover{background:rgba(255,255,255,.025)}
.news-pip{width:6px;height:6px;border-radius:50%;background:var(--amber);flex-shrink:0;margin-top:5px}
.news-title{font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:var(--muted);line-height:1.4;transition:color .14s}
.news-item:hover .news-title{color:var(--amber2)}
.news-date{font-family:var(--mono);font-size:9px;color:var(--dim);margin-top:3px}

/* ── MISC ADDITIONS ── */
.page-header{padding:40px 0 28px;border-bottom:1px solid var(--line);margin-bottom:24px}
.page-header h1{font-family:var(--disp);font-size:clamp(52px,7vw,76px);letter-spacing:.04em;line-height:.88;color:var(--text);margin-bottom:12px}
.page-header p{font-size:17px;color:var(--muted);font-style:italic;line-height:1.65;max-width:680px}
.guest-bio p{margin-bottom:14px;font-family:var(--body);font-size:18px;color:var(--muted);line-height:1.75}
.az-bar{display:flex;flex-wrap:wrap;gap:4px;padding:14px 18px;border-bottom:1px solid var(--line)}
.az-bar a{font-family:var(--mono);font-size:9px;color:var(--muted);border:1px solid var(--line2);border-radius:5px;padding:4px 8px;transition:all .12s}
.az-bar a:hover,.az-bar a.active{color:var(--amber2);background:rgba(242,155,24,.10);border-color:rgba(242,155,24,.3)}

@media(max-width:900px){.lower-band{grid-template-columns:1fr 1fr}.lower-block:last-child{grid-column:1/-1;border-right:none;border-top:1px solid var(--line)}}
@media(max-width:640px){.lower-band{grid-template-columns:1fr}.lower-block{border-right:none;border-bottom:1px solid var(--line)}.masthead-moon,.masthead-tower{display:none}}

/* ── PHASE 2: HERO VIEWPORT PRESENCE ── */
.hero{min-height:clamp(320px,45vh,520px);display:flex;flex-direction:column;justify-content:flex-end}
.hero-inner{padding:clamp(28px,4vw,52px);max-width:760px}
/* tighter vertical rhythm inside hero */
.kicker{margin-bottom:10px}
.hero h1,.hero h2{margin-bottom:0}
.hero p,.hero-desc{margin:14px 0 22px;font-size:clamp(16px,2vw,18px)}
.hero-btns{margin-top:0;gap:10px}
/* player panel sits flush against hero with no gap */
.hero + .panel.player-panel{border-top-left-radius:0;border-top-right-radius:0;border-top:none;margin-top:0}

/* ══════════════════════════════════════════════════════════
   PHASE 3 — SECTION DIFFERENTIATION
   Each major section has its own visual signature.
   ══════════════════════════════════════════════════════════ */

/* ── OBSERVATORY — deep space, radar, signal blue ── */
.obs-page body,
[data-page="observatory"] body{background:radial-gradient(ellipse at 50% -10%,rgba(91,157,241,.22),transparent 50%),linear-gradient(180deg,#060912 0%,#080b12 100%)}
.obs-panel{background:rgba(8,16,36,.9);border-color:rgba(91,157,241,.25)}
.obs-panel .panel-title{color:#9fc8ff}
.obs-panel .panel-head{background:rgba(91,157,241,.06);border-bottom-color:rgba(91,157,241,.2)}
.obs-kicker{font-family:var(--mono);font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:#5b9df1;margin-bottom:8px}
.obs-h1{font-family:var(--disp);font-size:clamp(52px,7vw,80px);letter-spacing:.04em;line-height:.88;color:var(--text)}
.obs-meta{font-family:var(--mono);font-size:11px;color:var(--dim);letter-spacing:.08em}
/* radar pulse ring */
.radar-ring{position:relative;display:inline-block;width:8px;height:8px}
.radar-ring::before,.radar-ring::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--blue)}
.radar-ring::after{animation:radar-pulse 2s ease-out infinite;background:transparent;border:1px solid var(--blue)}
@keyframes radar-pulse{0%{transform:scale(1);opacity:.8}100%{transform:scale(4);opacity:0}}
/* signal line divider */
.signal-divider{display:flex;align-items:center;gap:12px;margin:28px 0;color:var(--dim);font-family:var(--mono);font-size:9px;letter-spacing:.18em}
.signal-divider::before,.signal-divider::after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(91,157,241,.3),transparent)}

/* ── GRAVE AIRWAVES — ember, fog, broadcast horror ── */
.grave-page-hero{
  background:linear-gradient(170deg,rgba(36,6,2,.98) 0%,rgba(22,8,4,.95) 50%,rgba(14,8,5,.98) 100%);
  border-color:rgba(255,98,38,.32);
  position:relative;overflow:hidden;
}
.grave-page-hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse at 80% 20%,rgba(255,98,38,.15),transparent 50%),
    radial-gradient(ellipse at 20% 80%,rgba(200,32,32,.08),transparent 45%);
}
.grave-kicker{font-family:var(--mono);font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:#ff9a73;margin-bottom:8px}
.grave-h1{font-family:var(--disp);font-size:clamp(52px,7vw,80px);letter-spacing:.04em;line-height:.88;color:#ff9a73;text-shadow:0 0 60px rgba(255,98,38,.3)}
.grave-panel{background:rgba(24,6,2,.88);border-color:rgba(255,98,38,.25)}
.grave-panel .panel-title{color:#ff9a73}
.grave-panel .panel-head{background:rgba(255,98,38,.06);border-bottom-color:rgba(255,98,38,.2)}
/* fog effect */
.grave-fog{position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse at 50% 100%,rgba(255,98,38,.06),transparent 60%);
  animation:fog-drift 8s ease-in-out infinite alternate}
@keyframes fog-drift{0%{opacity:.6;transform:translateX(-3%)}100%{opacity:1;transform:translateX(3%)}}
/* transmission static */
.grave-static{font-family:var(--mono);font-size:9px;color:rgba(255,154,115,.5);letter-spacing:.12em;margin-bottom:12px}

/* ── AREA 13 — classified terminal, dark green mono ── */
.a13-panel{background:rgba(2,10,6,.95);border-color:rgba(40,120,70,.28)}
.a13-panel .panel-title{color:#4ade80;font-family:var(--mono);font-size:14px;letter-spacing:.18em;text-transform:uppercase}
.a13-panel .panel-head{background:rgba(40,120,70,.08);border-bottom-color:rgba(40,120,70,.22)}
.a13-kicker{font-family:var(--mono);font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:#4ade80;margin-bottom:8px;opacity:.8}
.a13-terminal{font-family:var(--mono);font-size:14px;color:#4ade80;line-height:1.6;background:rgba(0,0,0,.6);border:1px solid rgba(40,120,70,.3);border-radius:6px;padding:16px 20px}
.a13-terminal .cursor{display:inline-block;width:8px;height:14px;background:#4ade80;animation:blink 1s step-end infinite;vertical-align:middle;margin-left:2px}
/* classified stamp */
.classified{display:inline-block;font-family:var(--mono);font-size:9px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,98,38,.7);border:1px solid rgba(255,98,38,.4);border-radius:3px;padding:3px 10px;transform:rotate(-2deg)}
/* scanline flicker specific to area13 */
.a13-flicker{animation:a13-flicker 0.15s infinite}
@keyframes a13-flicker{0%,100%{opacity:1}50%{opacity:.92}}

/* ── SPACING SCALE UTILITIES ── */
.mt-xs{margin-top:var(--sp-xs)}.mt-sm{margin-top:var(--sp-sm)}.mt-md{margin-top:var(--sp-md)}
.mt-lg{margin-top:var(--sp-lg)}.mt-xl{margin-top:var(--sp-xl)}
.mb-xs{margin-bottom:var(--sp-xs)}.mb-sm{margin-bottom:var(--sp-sm)}.mb-md{margin-bottom:var(--sp-md)}
.mb-lg{margin-bottom:var(--sp-lg)}.mb-xl{margin-bottom:var(--sp-xl)}
.gap-sm{gap:var(--sp-sm)}.gap-md{gap:var(--sp-md)}.gap-lg{gap:var(--sp-lg)}
.text-dim{color:var(--dim)}.text-muted{color:var(--muted)}.text-amber{color:var(--amber2)}
.text-blue{color:#9fc8ff}.text-ember{color:#ff9a73}.text-live{color:var(--live2)}

/* ── BODY-LEVEL SECTION BACKGROUNDS ── */
body[data-page="observatory"]{
  background:
    radial-gradient(ellipse at 50% -8%,rgba(91,157,241,.22),transparent 48%),
    radial-gradient(circle at 18% -6%,rgba(91,157,241,.12),transparent 30%),
    linear-gradient(180deg,#060912 0%,#080c14 100%);
}
body[data-page="grave-airwaves"]{
  background:
    radial-gradient(ellipse at 85% 15%,rgba(255,98,38,.14),transparent 45%),
    radial-gradient(ellipse at 15% 80%,rgba(200,32,32,.08),transparent 40%),
    linear-gradient(180deg,#0e0603 0%,#100805 100%);
}
body[data-page="area-13"],
body[data-page="area-13-room"],
body[data-page="area-13-join"]{
  background:
    radial-gradient(ellipse at 50% 0%,rgba(40,120,70,.1),transparent 45%),
    linear-gradient(180deg,#020a05 0%,#040c06 100%);
}
body[data-page="obs-solar"],
body[data-page="obs-earth"],
body[data-page="obs-neo"],
body[data-page="obs-sky"],
body[data-page="obs-signals"],
body[data-page="obs-tracker"]{
  background:
    radial-gradient(ellipse at 50% -8%,rgba(91,157,241,.18),transparent 48%),
    linear-gradient(180deg,#060912 0%,#080c14 100%);
}

/* ══════════════════════════════════════════════════════════
   GUEST DOSSIER — detail page & listing cards
   ══════════════════════════════════════════════════════════ */

/* ── DOSSIER HEADER ── */
.dos-header{
  position:relative;overflow:hidden;
  border:1px solid var(--line);border-bottom:none;
  min-height:300px;
}
.dos-bg{position:absolute;inset:0}
.dos-bg img{width:100%;height:100%;object-fit:cover;object-position:top center}
.dos-bg-veil{
  position:absolute;inset:0;
  background:linear-gradient(120deg,rgba(8,11,18,.97) 30%,rgba(8,11,18,.75));
}
.dos-bg-gen{
  background:radial-gradient(ellipse at 70% 40%,rgba(var(--acr),.07) 0%,transparent 65%),var(--deep);
}
.dos-watermark{
  position:absolute;right:-20px;top:50%;transform:translateY(-50%);
  font-family:var(--disp);font-size:35vw;line-height:1;
  color:rgba(255,255,255,.025);pointer-events:none;user-select:none;
  max-font-size:280px;
}
.dos-grid-lines{
  position:absolute;inset:0;
  background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);
  background-size:40px 40px;
}
.dos-header-content{
  position:relative;z-index:2;
  padding:28px 32px 36px;
  display:flex;flex-direction:column;gap:24px;
  min-height:300px;
}
.dos-stamp{display:flex;align-items:center;gap:10px}
.dos-stamp-id{
  font-family:var(--mono);font-size:10px;color:var(--amber2);
  letter-spacing:.15em;border:1px solid rgba(242,155,24,.3);
  padding:2px 8px;border-radius:2px;
}
.dos-stamp-type{
  font-family:var(--mono);font-size:9px;color:var(--dim);letter-spacing:.12em;
}
.dos-identity{display:flex;align-items:flex-end;gap:28px;margin-top:auto}
.dos-photo-frame{position:relative;flex-shrink:0}
.dos-photo{
  width:140px;height:140px;border-radius:var(--r-sm);
  object-fit:cover;object-position:top;
  border:2px solid rgba(var(--acr),.4);
}
.dos-ep-count{
  position:absolute;bottom:-10px;right:-10px;
  background:rgba(var(--acr),1);color:#000;
  font-family:var(--mono);font-size:9px;font-weight:700;
  padding:3px 8px;border-radius:3px;letter-spacing:.06em;
  display:flex;flex-direction:column;align-items:center;line-height:1.2;
}
.dos-ep-count span{font-size:16px;font-weight:700;letter-spacing:0}
.dos-monogram{
  width:140px;height:140px;flex-shrink:0;
  border-radius:var(--r-sm);
  background:rgba(var(--acr),.1);
  border:1px solid rgba(var(--acr),.3);
  display:flex;align-items:center;justify-content:center;
}
.dos-monogram span{
  font-family:var(--disp);font-size:64px;
  color:rgba(var(--acr),.7);line-height:1;
}
.dos-nameplate{flex:1;min-width:0}
.dos-memoriam{
  font-family:var(--mono);font-size:9px;color:var(--amber2);
  letter-spacing:.14em;margin-bottom:6px;
}
.dos-field{
  font-family:var(--mono);font-size:9px;
  color:rgba(var(--acr),.8);
  letter-spacing:.14em;margin-bottom:6px;
}
.dos-name{
  font-family:var(--disp);
  font-size:clamp(44px,6.5vw,76px);
  letter-spacing:.03em;line-height:1;
  color:#fff;margin-bottom:8px;
}
.dos-title{
  font-family:var(--body);font-size:17px;
  color:rgba(255,255,255,.65);margin-bottom:10px;
}
.dos-header-quote{
  font-family:var(--body);font-style:italic;
  font-size:15px;color:rgba(255,255,255,.5);
  line-height:1.5;max-width:520px;
  border-left:2px solid rgba(var(--acr),.4);
  padding-left:14px;
}

/* ── DOSSIER BODY LAYOUT ── */
.dos-body{
  display:grid;grid-template-columns:1fr 280px;
  gap:40px;align-items:start;
  padding-top:36px;
}
.dos-main{}
.dos-aside{
  position:sticky;top:76px;
  display:flex;flex-direction:column;gap:14px;
}

/* ── SECTION HEADERS ── */
.dos-section{margin-bottom:40px}
.dos-section-rule{
  display:flex;align-items:center;gap:12px;
  border-bottom:1px solid var(--line);
  padding-bottom:10px;margin-bottom:20px;
}
.dos-section-label{
  font-family:var(--mono);font-size:10px;color:var(--amber2);
  letter-spacing:.12em;text-transform:uppercase;
}
.dos-section-count{
  font-family:var(--mono);font-size:10px;color:var(--dim);
  background:var(--panel2);border:1px solid var(--line);
  padding:1px 7px;border-radius:2px;margin-left:auto;
}

/* ── BIO TEXT ── */
.dos-bio-text p{
  font-family:var(--body);font-size:17px;
  color:var(--text);line-height:1.8;
  margin-bottom:18px;
}
.dos-bio-text p:last-child{margin-bottom:0}
.dos-bio-text a{color:var(--amber2)}
.dos-bio-text blockquote{
  border-left:3px solid var(--amber2);
  padding:12px 20px;margin:24px 0;
  background:rgba(242,155,24,.04);
  font-style:italic;
}

/* ── FUN FACT / SIGNAL NOTE ── */
.dos-fun-fact{
  background:rgba(98,230,162,.05);
  border:1px solid rgba(98,230,162,.2);
  border-radius:var(--r);
  padding:16px 20px;
  margin-bottom:32px;
}
.dos-fun-fact-label{
  font-family:var(--mono);font-size:9px;
  color:var(--green);letter-spacing:.14em;
  margin-bottom:8px;
}
.dos-fun-fact-body{
  font-family:var(--body);font-size:15px;
  color:var(--muted);line-height:1.6;
}

/* ── BOOKS ── */
.dos-books{display:flex;flex-direction:column;gap:6px}
.dos-book-row{
  display:flex;align-items:baseline;gap:10px;
  padding:8px 0;border-bottom:1px solid var(--line);
}
.dos-book-row:last-of-type{border-bottom:none}
.dos-book-icon{
  color:var(--amber2);font-size:8px;flex-shrink:0;
}
.dos-book-title{
  font-family:var(--body);font-size:15px;
  color:var(--text);line-height:1.4;
}
.dos-books-link{
  display:inline-block;margin-top:12px;
  font-family:var(--mono);font-size:11px;
  color:var(--amber2);text-decoration:none;
  letter-spacing:.06em;transition:color .14s;
}
.dos-books-link:hover{color:var(--amber)}

/* ── APPEARANCES LIST ── */
.dos-appearances{display:flex;flex-direction:column}
.dos-ep-row{
  display:flex;align-items:stretch;gap:16px;
  padding:16px 0;border-bottom:1px solid var(--line);
  text-decoration:none;color:var(--text);
  transition:background .12s;
  border-radius:4px;
}
.dos-ep-row:last-child{border-bottom:none}
.dos-ep-row:hover{background:rgba(255,255,255,.02)}
.dos-ep-row:hover .dos-ep-arrow{color:var(--amber2)}
.dos-ep-date{
  flex-shrink:0;width:44px;
  text-align:center;
  display:flex;flex-direction:column;
  align-items:center;justify-content:flex-start;
  padding-top:2px;
}
.dep-mon{font-family:var(--mono);font-size:8px;color:var(--amber2);letter-spacing:.1em;text-transform:uppercase}
.dep-day{font-family:var(--disp);font-size:28px;color:var(--text);line-height:1}
.dep-yr{font-family:var(--mono);font-size:8px;color:var(--dim);letter-spacing:.06em}
.dos-ep-body{flex:1;min-width:0}
.dos-ep-title{
  font-family:var(--body);font-size:16px;font-weight:600;
  color:var(--text);margin-bottom:4px;line-height:1.3;
}
.dos-ep-cat{
  display:inline-block;
  font-family:var(--mono);font-size:8px;color:var(--dim);
  letter-spacing:.1em;text-transform:uppercase;
  border:1px solid var(--line);padding:1px 6px;border-radius:2px;
  margin-bottom:6px;
}
.dos-ep-desc{
  font-family:var(--body);font-size:13px;
  color:var(--muted);line-height:1.5;
}
.dos-ep-action{
  flex-shrink:0;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:6px;
  min-width:28px;
}
.dos-ep-play{
  font-size:11px;color:var(--green);
  background:rgba(98,230,162,.12);
  padding:4px 6px;border-radius:3px;
}
.dos-ep-arrow{font-size:14px;color:var(--dim);transition:color .14s}

/* No appearances state */
.dos-no-eps{
  text-align:center;padding:32px 0;
  display:flex;flex-direction:column;align-items:center;gap:10px;
}
.dos-no-eps-icon{font-size:28px;opacity:.3}
.dos-no-eps-msg{
  font-family:var(--body);font-size:15px;color:var(--dim);
}

/* ── SIDEBAR CARDS ── */
.dos-card{
  background:var(--panel);
  border:1px solid var(--line);
  border-radius:var(--r);
  overflow:hidden;
}
.dos-card-file{background:rgba(12,16,28,.95)}
.dos-card-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 16px;
  border-bottom:1px solid var(--line);
}
.dos-card-label{
  font-family:var(--mono);font-size:9px;color:var(--amber2);
  letter-spacing:.14em;
}
.dos-card-id{
  font-family:var(--mono);font-size:9px;color:var(--dim);
  letter-spacing:.1em;
}
.dos-card-rows{padding:8px 0}
.dos-cr{
  display:flex;justify-content:space-between;align-items:baseline;
  padding:6px 16px;
  border-bottom:1px solid rgba(255,255,255,.05);
}
.dos-cr:last-child{border-bottom:none}
.dos-cr-k{
  font-family:var(--mono);font-size:9px;
  color:var(--dim);letter-spacing:.08em;flex-shrink:0;
}
.dos-cr-v{
  font-family:var(--body);font-size:13px;
  color:var(--muted);text-align:right;
}
.dos-cr-big{font-size:20px;font-weight:700;color:var(--text)}
.dos-cr-memoriam{color:var(--amber2)!important}
.dos-cr-ga{color:#ff9a73!important}
.dos-cr-show{font-size:13px;color:var(--muted);text-align:left}

/* ── SIDEBAR LINKS ── */
.dos-links{display:flex;flex-direction:column}
.dos-link{
  display:flex;align-items:center;gap:12px;
  padding:11px 16px;border-bottom:1px solid var(--line);
  text-decoration:none;color:var(--muted);
  transition:background .12s,color .12s;
}
.dos-link:last-child{border-bottom:none}
.dos-link:hover{background:rgba(255,255,255,.03);color:var(--text)}
.dos-link-icon{font-size:14px;width:20px;text-align:center;flex-shrink:0}
.dos-link-label{font-family:var(--body);font-size:15px;flex:1}
.dos-link-arrow{font-size:10px;color:var(--dim)}

/* ── BACK LINK ── */
.dos-back-link{
  display:block;text-align:center;
  font-family:var(--mono);font-size:11px;
  color:var(--dim);text-decoration:none;
  letter-spacing:.08em;padding:10px;
  transition:color .14s;
}
.dos-back-link:hover{color:var(--muted)}

/* ── GUEST DOSSIER CARD (on episode pages) ── */
.guest-dossier-card{
  background:var(--panel2);
  border:1px solid var(--line);
  border-radius:var(--r);
  padding:20px;
  display:flex;gap:16px;align-items:flex-start;
  text-decoration:none;color:var(--text);
  transition:border-color .15s;
}
.guest-dossier-card:hover{border-color:var(--amber2)}
.guest-dossier-card img{
  width:64px;height:64px;
  border-radius:var(--r-sm);object-fit:cover;
  flex-shrink:0;
}
.guest-dossier-card .gdc-name{
  font-family:var(--body);font-size:17px;font-weight:700;color:var(--text);
}
.guest-dossier-card .gdc-title{
  font-family:var(--body);font-size:13px;color:var(--muted);
}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  .dos-body{grid-template-columns:1fr}
  .dos-aside{position:static}
  .dos-header{min-height:220px}
  .dos-header-content{padding:20px 20px 24px}
  .dos-name{font-size:clamp(36px,10vw,56px)}
  .dos-photo,.dos-monogram{width:90px;height:90px}
  .dos-monogram span{font-size:44px}
  .dos-watermark{font-size:50vw}
  .dos-identity{gap:16px}
}
@media(max-width:520px){
  .dos-identity{flex-direction:column;align-items:flex-start}
  .dos-photo,.dos-monogram{width:72px;height:72px}
  .dos-name{font-size:clamp(32px,12vw,48px)}
}

/* ── LEGACY DOSSIER ALIASES (referenced from episode pages) ── */
.dossier-header{} /* use .dos-header */
.dossier-body{display:grid;grid-template-columns:1fr 280px;gap:40px;align-items:start;padding-top:36px}
.dossier-aside{position:sticky;top:76px;display:flex;flex-direction:column;gap:14px}
@media(max-width:900px){
  .dossier-body{grid-template-columns:1fr}
  .dossier-aside{position:static}
}
/* ══════════════════════════════════════════════════════════
   BROADCAST PLAYER — the premium audio experience
   ══════════════════════════════════════════════════════════ */
.broadcast-player{
  background:linear-gradient(135deg,rgba(6,12,24,.98) 0%,rgba(12,18,32,.95) 100%);
  border:1px solid rgba(98,230,162,.22);
  border-radius:var(--r);
  overflow:hidden;
  margin-bottom:32px;
  position:relative;
  transition:border-color .3s;
}
.broadcast-player.playing{border-color:rgba(98,230,162,.45)}
.broadcast-player::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse at 0% 100%,rgba(98,230,162,.06),transparent 50%);
}

/* Waveform */
.bp-wave{
  height:60px;display:flex;align-items:center;gap:2px;padding:0 22px;
  opacity:.25;transition:opacity .3s;
}
.broadcast-player.playing .bp-wave{opacity:1}
.bp-bar{
  flex:1;border-radius:2px;background:var(--green);
  height:var(--h,40%);
  transition:height .1s ease;
}
.broadcast-player.playing .bp-bar{
  animation:bp-wave var(--d,.6s) ease-in-out infinite alternate;
  animation-delay:var(--dl,0s);
}
@keyframes bp-wave{
  from{height:calc(var(--h,40%) * .3)}
  to{height:var(--h,40%)}
}

/* Controls */
.bp-controls{display:flex;align-items:center;gap:14px;padding:0 20px 14px;flex-wrap:wrap}
.bp-play{
  width:56px;height:56px;border-radius:50%;
  border:2px solid var(--green);
  background:rgba(98,230,162,.1);
  color:var(--green);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;flex-shrink:0;
  transition:background .15s,box-shadow .15s,transform .1s;
}
.bp-play:hover{background:rgba(98,230,162,.2);box-shadow:0 0 0 8px rgba(98,230,162,.08)}
.bp-play:active{transform:scale(.94)}
.bp-play.playing{
  border-color:var(--amber);color:var(--amber);
  background:rgba(242,155,24,.1);
  box-shadow:0 0 0 8px rgba(242,155,24,.06);
  animation:bp-pulse 2s ease-in-out infinite;
}
@keyframes bp-pulse{0%,100%{box-shadow:0 0 0 8px rgba(242,155,24,.06)}50%{box-shadow:0 0 0 12px rgba(242,155,24,.02)}}
.bp-info{min-width:0}
.bp-title{font-family:var(--disp);font-size:22px;color:#fff;line-height:1;margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bp-meta{font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:.04em}
.bp-time-wrap{font-family:var(--mono);font-size:13px;color:var(--muted);display:flex;align-items:center;gap:4px;white-space:nowrap}
.bp-cur{color:var(--text)}
.bp-sep{color:var(--dim);margin:0 2px}
.bp-dur{color:var(--dim)}

/* Progress */
.bp-progress-wrap{padding:0 20px 18px}
.bp-progress{
  height:6px;background:rgba(255,255,255,.1);border-radius:3px;
  cursor:pointer;position:relative;
  transition:height .15s;
}
.bp-progress:hover{height:9px}
.bp-progress-bar{height:100%;width:0;background:var(--green);border-radius:3px;pointer-events:none;transition:width .1s linear;box-shadow:0 0 10px rgba(98,230,162,.35)}
.bp-progress-handle{
  position:absolute;top:50%;left:0;
  width:14px;height:14px;margin-top:-7px;margin-left:-7px;
  border-radius:50%;background:#fff;border:2px solid var(--green);
  pointer-events:none;opacity:0;transition:opacity .15s;
  box-shadow:0 0 6px rgba(98,230,162,.4);
}
.bp-progress:hover .bp-progress-handle{opacity:1}

/* Hour buttons */
.bp-hours{display:flex;gap:8px;padding:0 20px 16px;flex-wrap:wrap}
.bp-hour-btn{
  font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;
  background:rgba(255,255,255,.06);border:1px solid var(--line2);
  color:var(--muted);padding:7px 16px;border-radius:5px;cursor:pointer;
  transition:all .14s;
}
.bp-hour-btn:hover,.bp-hour-btn.active{background:rgba(98,230,162,.12);border-color:rgba(98,230,162,.35);color:var(--green)}

/* ── BROADCAST HEADER ── */
.broadcast-header{margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.broadcast-callsign{display:flex;align-items:center;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.bc-show{font-family:var(--mono);font-size:9px;color:var(--amber2);letter-spacing:.22em;text-transform:uppercase;font-weight:700}
.bc-sep{color:var(--line2)}
.bc-cat,.bc-num{font-family:var(--mono);font-size:9px;color:var(--dim);letter-spacing:.1em;text-transform:uppercase}
.bc-date{font-family:var(--mono);font-size:9px;color:var(--dim);letter-spacing:.06em}
.broadcast-title{font-family:var(--disp);font-size:clamp(40px,6vw,66px);letter-spacing:.04em;color:var(--text);line-height:.9;margin-bottom:14px}
.broadcast-guest-line{font-family:var(--body);font-size:19px;color:var(--muted);font-style:italic}
.broadcast-guest-name{color:#9fc8ff;font-style:normal;font-weight:600;text-decoration:none;border-bottom:1px solid rgba(91,157,241,.3);transition:all .15s}
.broadcast-guest-name:hover{color:var(--amber2);border-color:rgba(242,155,24,.4)}
.broadcast-guest-title{color:var(--dim);font-size:16px}

/* ── BROADCAST BODY LAYOUT ── */
.broadcast-body{display:grid;grid-template-columns:1fr 280px;gap:40px;align-items:start}
.broadcast-main{}
.broadcast-description p{font-family:var(--body);font-size:19px;color:var(--muted);line-height:1.78;margin-bottom:18px}
.broadcast-description p:last-child{margin-bottom:0}
.broadcast-aside{position:sticky;top:76px;display:flex;flex-direction:column;gap:16px}

/* ── PROMISED vs ACTUALLY COVERED ── */
.promised-vs-actual{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.pva-col{background:rgba(0,0,0,.2);border:1px solid var(--line);border-radius:var(--r);padding:20px}
.pva-label{font-family:var(--mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber2);margin-bottom:12px}
.pva-label-actual{color:var(--blue)}
.pva-body p{font-family:var(--body);font-size:16px;color:var(--muted);line-height:1.65;margin-bottom:12px}
.pva-body p:last-child{margin-bottom:0}
.ep-tags-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}

/* ── GUEST DOSSIER CARD (on episode page) ── */
.guest-dossier-card{
  background:var(--panel);border:1px solid var(--line);
  border-radius:var(--r);overflow:hidden;
}
.gdc-head{font-family:var(--mono);font-size:9px;color:var(--amber2);letter-spacing:.2em;text-transform:uppercase;padding:11px 16px;border-bottom:1px solid var(--line);background:rgba(0,0,0,.2)}
.gdc-identity{display:flex;align-items:center;gap:14px;padding:16px 16px 12px}
.gdc-photo{width:64px;height:64px;border-radius:8px;object-fit:cover;object-position:top;flex-shrink:0;border:1px solid var(--line2)}
.gdc-monogram{width:64px;height:64px;border-radius:8px;flex-shrink:0;background:rgba(242,155,24,.1);border:1px solid rgba(242,155,24,.25);display:flex;align-items:center;justify-content:center;font-family:var(--disp);font-size:28px;color:var(--amber2)}
.gdc-name{font-family:var(--disp);font-size:24px;color:var(--text);line-height:1;margin-bottom:4px}
.gdc-title{font-size:13px;color:var(--dim);font-style:italic;font-family:var(--body);line-height:1.4}
.gdc-bio{padding:0 16px 14px;border-bottom:1px solid var(--line)}
.gdc-bio p{font-family:var(--body);font-size:15px;color:var(--muted);line-height:1.65}
.gdc-link{display:block;padding:11px 16px;font-family:var(--mono);font-size:9px;color:var(--blue);letter-spacing:.14em;text-transform:uppercase;text-decoration:none;transition:color .14s,background .12s}
.gdc-link:hover{color:var(--amber2);background:rgba(255,255,255,.03)}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  .dossier-body,.broadcast-body{grid-template-columns:1fr}
  .dossier-aside,.broadcast-aside{position:static}
  .promised-vs-actual{grid-template-columns:1fr}
}
@media(max-width:640px){
  .dossier-header{min-height:220px}
  .dossier-header-inner{padding:20px}
  .dossier-name{font-size:clamp(40px,11vw,60px)}
  .dossier-photo,.dossier-monogram{width:90px;height:90px}
  .dossier-monogram span{font-size:44px}
  .dossier-watermark{font-size:40vw}
  .broadcast-title{font-size:clamp(36px,10vw,52px)}
  .bp-controls{grid-template-columns:48px 1fr}
  .bp-time-wrap{display:none}
  .bp-title{font-size:18px}
  .appearance-row{grid-template-columns:48px 1fr}
  .appearance-action{display:none}
  .bio-text p,.broadcast-description p{font-size:17px}
}

/* ── PLAYER CONTROLS — skip, speed, bottom row, share ── */

/* Skip buttons */
.bp-skip{
  width:36px;height:36px;border-radius:50%;
  border:1px solid var(--line2);background:transparent;
  color:var(--dim);cursor:pointer;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  transition:color .14s,border-color .14s,background .14s,transform .1s;
  position:relative;
}
.bp-skip:hover{color:var(--green);border-color:rgba(98,230,162,.4);background:rgba(98,230,162,.08)}
.bp-skip:active{transform:scale(.9)}
.bp-skip-flash{color:var(--green)!important;border-color:rgba(98,230,162,.6)!important;background:rgba(98,230,162,.15)!important}
/* the "30" label sits inside the SVG via <text> — no extra el needed */

/* Speed button */
.bp-speed-wrap{flex-shrink:0}
.bp-speed-btn{
  font-family:var(--mono);font-size:10px;letter-spacing:.06em;
  background:transparent;border:1px solid var(--line2);
  color:var(--dim);padding:6px 10px;border-radius:5px;
  cursor:pointer;transition:all .14s;min-width:34px;text-align:center;
}
.bp-speed-btn:hover{color:var(--green);border-color:rgba(98,230,162,.4)}
.bp-speed-active{color:var(--amber2)!important;border-color:rgba(242,155,24,.4)!important;background:rgba(242,155,24,.08)!important}

/* Reflow: info stretches, time stays right */
.bp-info{flex:1;min-width:0}
.bp-time-wrap{flex-shrink:0;font-family:var(--mono);font-size:12px;color:var(--muted);display:flex;align-items:center;gap:4px;white-space:nowrap}
.bp-cur{color:var(--text);font-weight:700}
.bp-sep{color:var(--dim);margin:0 2px}
.bp-dur{color:var(--dim)}

/* Bottom row: hours left, utils right */
.bp-bottom-row{
  display:flex;align-items:center;justify-content:space-between;
  padding:0 20px 16px;gap:12px;flex-wrap:wrap;
  border-top:1px solid rgba(255,255,255,.05);
  margin-top:4px;padding-top:12px;
}
.bp-utils{display:flex;align-items:center;gap:8px;flex-shrink:0}
.bp-util-btn{
  display:inline-flex;align-items:center;gap:6px;
  font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;
  background:transparent;border:1px solid var(--line2);
  color:var(--dim);padding:7px 13px;border-radius:5px;
  cursor:pointer;text-decoration:none;
  transition:color .14s,border-color .14s,background .14s;
}
.bp-util-dl:hover{color:var(--amber2);border-color:rgba(242,155,24,.4);background:rgba(242,155,24,.07)}
.bp-util-share:hover,.bp-util-share.active{color:#9fc8ff;border-color:rgba(91,157,241,.4);background:rgba(91,157,241,.07)}

/* ── SHARE PANEL — inside the player, expands downward ── */
.bp-share-panel{
  max-height:0;
  overflow:hidden;
  transition:max-height .3s cubic-bezier(.4,0,.2,1), opacity .25s ease;
  opacity:0;
  border-top:0px solid transparent;
  transition:max-height .3s cubic-bezier(.4,0,.2,1), opacity .25s ease, border-top-width .3s, border-top-color .3s;
}
.bp-share-panel.open{
  max-height:80px;
  opacity:1;
  border-top:1px solid rgba(255,255,255,.08);
}
.bp-share-inner{padding:14px 20px 16px}
.bp-share-row{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
}
/* URL field + copy */
.bp-share-url-wrap{
  display:flex;flex:1;min-width:200px;gap:8px;
}
.bp-share-url{
  flex:1;font-family:var(--mono);font-size:10px;
  background:rgba(0,0,0,.35);
  border:1px solid rgba(255,255,255,.1);
  border-radius:6px;color:var(--muted);
  padding:7px 11px;outline:none;min-width:0;
  transition:border-color .14s;cursor:text;
}
.bp-share-url:focus{border-color:rgba(91,157,241,.45)}
.bp-share-copy{
  font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;
  background:rgba(91,157,241,.12);border:1px solid rgba(91,157,241,.3);
  color:#9fc8ff;padding:7px 14px;border-radius:6px;
  cursor:pointer;white-space:nowrap;flex-shrink:0;
  transition:all .14s;
}
.bp-share-copy:hover{background:rgba(91,157,241,.22);border-color:rgba(91,157,241,.5)}
.bp-share-copy.copied{background:rgba(91,157,241,.28);color:#fff;border-color:rgba(91,157,241,.6)}
/* Destination buttons — compact icon+label pills */
.bp-share-dests{
  display:flex;align-items:center;gap:6px;flex-shrink:0;
}
.bp-share-dest{
  display:inline-flex;align-items:center;gap:5px;
  font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;
  padding:6px 11px;border-radius:5px;
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);
  color:var(--dim);cursor:pointer;text-decoration:none;
  transition:all .14s;white-space:nowrap;
}
.bp-share-dest:hover{background:rgba(255,255,255,.09);color:var(--muted);border-color:rgba(255,255,255,.18)}
.bp-share-dest-ts:hover{background:rgba(98,230,162,.1);border-color:rgba(98,230,162,.3);color:var(--green)}
/* No border-radius hack needed — panel is inside the player now */
.broadcast-player{transition:border-color .3s}
.broadcast-player.share-open{border-color:rgba(98,230,162,.3)}

/* ── MOBILE PLAYER ADJUSTMENTS ── */
@media(max-width:640px){
  .bp-controls{gap:10px;padding:0 14px 12px;flex-wrap:nowrap}
  .bp-info{order:5;flex-basis:100%;min-width:100%}
  .bp-time-wrap{font-size:11px}
  .bp-skip{width:32px;height:32px}
  .bp-speed-btn{padding:5px 8px;font-size:9px}
  .bp-bottom-row{padding:10px 14px 14px;flex-direction:column;align-items:flex-start;gap:10px}
  .bp-utils{width:100%;justify-content:flex-end}
  .bp-share-inner{padding:12px 14px 14px}
  .bp-share-links{gap:6px}
  .bp-share-link{font-size:8px;padding:6px 10px}
}

/* ══════════════════════════════════════════════════════════
   GRAVES AFTER DARK — listing + article pages
   ══════════════════════════════════════════════════════════ */

/* ── PAGE HEADER ── */
.gad-header{
  padding:36px 0 32px;
  border-bottom:1px solid var(--line);
  margin-bottom:32px;
}
.gad-header-label{
  font-family:var(--mono);font-size:9px;color:var(--amber2);
  letter-spacing:.24em;text-transform:uppercase;margin-bottom:10px;
}
.gad-header-title{
  font-family:var(--disp);font-size:clamp(52px,8vw,80px);
  letter-spacing:.04em;line-height:.88;color:var(--text);margin-bottom:14px;
}
.gad-header-desc{
  font-family:var(--body);font-style:italic;
  font-size:19px;color:var(--muted);line-height:1.65;
  max-width:640px;margin-bottom:10px;
}
.gad-header-meta{
  font-family:var(--mono);font-size:10px;color:var(--dim);letter-spacing:.06em;
}

/* ── SHARED ATOMS ── */
.gad-cat{
  font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--amber2);background:rgba(242,155,24,.1);
  border:1px solid rgba(242,155,24,.25);
  border-radius:4px;padding:3px 9px;white-space:nowrap;
}
.gad-format{
  font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--dim);border:1px solid var(--line2);border-radius:4px;padding:3px 9px;
}
.gad-rt{
  font-family:var(--mono);font-size:9px;color:var(--dim);letter-spacing:.04em;
}
.gad-date{
  font-family:var(--mono);font-size:9px;color:var(--dim);letter-spacing:.04em;
  white-space:nowrap;
}
.gad-read-cta{
  font-family:var(--mono);font-size:9px;color:var(--blue);
  letter-spacing:.1em;text-transform:uppercase;
  margin-left:auto;transition:color .14s;
}

/* ── EMPTY STATE ── */
.gad-empty{padding:72px 0;text-align:center}
.gad-empty-icon{font-size:40px;margin-bottom:14px;opacity:.4}
.gad-empty-msg{font-family:var(--body);font-size:20px;color:var(--dim);font-style:italic}

/* ── FEATURED / PINNED ── */
.gad-featured{
  display:block;text-decoration:none;
  background:var(--panel);
  border:1px solid var(--line);
  border-top:3px solid var(--amber);
  border-radius:var(--r);
  padding:28px 32px;
  margin-bottom:28px;
  transition:background .15s,border-color .15s;
  position:relative;overflow:hidden;
}
.gad-featured::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse at 90% 0%,rgba(242,155,24,.07),transparent 50%);
}
.gad-featured:hover{background:var(--panel2);border-color:rgba(242,155,24,.5)}
.gad-featured:hover .gad-read-cta{color:var(--amber2)}
.gad-featured-eyebrow{
  display:flex;align-items:center;gap:10px;margin-bottom:16px;flex-wrap:wrap;
}
.gad-pin-badge{
  font-family:var(--mono);font-size:8px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--amber);border:1px solid rgba(242,155,24,.5);
  border-radius:3px;padding:2px 8px;
}
.gad-featured-title{
  font-family:var(--disp);font-size:clamp(32px,4vw,48px);
  letter-spacing:.04em;color:var(--text);line-height:.92;
  margin-bottom:14px;
}
.gad-featured-excerpt{
  font-family:var(--body);font-size:18px;color:var(--muted);
  line-height:1.7;max-width:680px;margin-bottom:20px;
}
.gad-featured-foot{
  display:flex;align-items:center;gap:14px;
  font-family:var(--mono);font-size:10px;color:var(--dim);
}

/* ── POST GRID ── */
.gad-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
}
.gad-card{
  background:var(--panel);border:1px solid var(--line);
  border-radius:var(--r);padding:20px 22px;
  display:flex;flex-direction:column;gap:10px;
  transition:background .15s,border-color .15s,transform .2s;
  position:relative;
}
.gad-card-link{cursor:pointer}
.gad-card-link:hover{
  background:var(--panel2);
  border-color:rgba(242,155,24,.35);
  transform:translateY(-2px);
  box-shadow:0 8px 28px rgba(0,0,0,.28);
}
.gad-card-link:hover .gad-read-cta{color:var(--amber2)}
.gad-card-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.gad-card-title{
  font-family:var(--disp);font-size:26px;
  letter-spacing:.03em;color:var(--text);line-height:1;
  transition:color .14s;
}
.gad-card-link:hover .gad-card-title{color:var(--amber2)}
.gad-card-excerpt{
  font-family:var(--body);font-size:15px;color:var(--muted);
  line-height:1.65;flex:1;
  overflow:hidden;display:-webkit-box;
  -webkit-line-clamp:3;-webkit-box-orient:vertical;
}
.gad-card-foot{
  display:flex;align-items:center;gap:10px;
  font-family:var(--mono);font-size:9px;color:var(--dim);
  padding-top:10px;border-top:1px solid var(--line);margin-top:auto;
}

/* ── ARTICLE DETAIL ── */
.gad-article-page{max-width:760px}

.gad-art-header{
  padding:0 0 32px;border-bottom:1px solid var(--line);margin-bottom:40px;
}
.gad-art-eyebrow{
  display:flex;align-items:center;gap:10px;
  margin-bottom:20px;flex-wrap:wrap;
}
.gad-art-title{
  font-family:var(--disp);font-size:clamp(42px,6vw,66px);
  letter-spacing:.04em;line-height:.88;color:var(--text);
  margin-bottom:18px;
}
.gad-art-lede{
  font-family:var(--body);font-style:italic;
  font-size:21px;color:var(--muted);line-height:1.65;
  margin-bottom:24px;max-width:680px;
}
/* Byline */
.gad-byline{display:flex;align-items:center;gap:12px;margin-top:4px}
.gad-byline-photo{
  width:40px;height:40px;border-radius:50%;
  object-fit:cover;object-position:top;
  border:1px solid var(--line2);flex-shrink:0;
}
.gad-byline-avatar{
  width:40px;height:40px;border-radius:50%;flex-shrink:0;
  background:rgba(242,155,24,.15);border:1px solid rgba(242,155,24,.3);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--mono);font-size:12px;color:var(--amber2);font-weight:700;
}
.gad-byline-name{
  font-family:var(--body);font-size:16px;color:var(--text);
  text-decoration:none;font-weight:600;transition:color .14s;display:block;
}
.gad-byline-name:hover{color:var(--amber2)}
.gad-byline-role{font-family:var(--mono);font-size:9px;color:var(--dim);letter-spacing:.06em;margin-top:2px}

/* Article body typography — for a 40+ audience */
.gad-body{
  font-family:var(--body);font-size:20px;color:var(--muted);
  line-height:1.8;max-width:700px;
}
.gad-body p{margin-bottom:22px}
.gad-body p:last-child{margin-bottom:0}
.gad-body h2{
  font-family:var(--disp);font-size:34px;letter-spacing:.04em;
  color:var(--text);line-height:1;margin:40px 0 18px;
}
.gad-body h3{
  font-family:var(--disp);font-size:26px;letter-spacing:.03em;
  color:var(--text);line-height:1;margin:32px 0 14px;
}
.gad-body h4{
  font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--amber2);margin:28px 0 12px;
}
.gad-body strong,.gad-body b{color:var(--text);font-weight:600}
.gad-body em,.gad-body i{font-style:italic;color:var(--text)}
.gad-body a{color:#9fc8ff;border-bottom:1px solid rgba(91,157,241,.3);text-decoration:none;transition:all .14s}
.gad-body a:hover{color:var(--amber2);border-color:rgba(242,155,24,.4)}
.gad-body blockquote{
  margin:28px 0;padding:20px 26px;
  border-left:3px solid var(--amber);
  background:rgba(242,155,24,.04);
  border-radius:0 var(--r-sm) var(--r-sm) 0;
}
.gad-body blockquote p{font-style:italic;color:var(--text);margin-bottom:0}
.gad-body ul,.gad-body ol{margin:0 0 22px 24px}
.gad-body li{margin-bottom:8px}
.gad-body ul{list-style:disc}
.gad-body ol{list-style:decimal}
.gad-body hr{border:none;border-top:1px solid var(--line);margin:36px 0}
.gad-body img{max-width:100%;border-radius:var(--r-sm);margin:8px 0}
.gad-body pre,.gad-body code{
  font-family:var(--mono);font-size:14px;
  background:rgba(0,0,0,.3);border:1px solid var(--line);
  border-radius:6px;padding:2px 7px;
}
.gad-body pre{padding:16px 20px;overflow-x:auto}
.gad-body pre code{background:none;border:none;padding:0}

/* Article footer */
.gad-art-footer{
  margin-top:56px;padding-top:24px;
  border-top:1px solid var(--line);
}
.gad-art-footer-quote{
  font-family:var(--body);font-style:italic;
  font-size:16px;color:var(--dim);margin-bottom:18px;
}
.gad-art-footer-links{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.gad-footer-back{
  font-family:var(--mono);font-size:10px;color:var(--muted);
  text-decoration:none;letter-spacing:.1em;text-transform:uppercase;
  transition:color .14s;
}
.gad-footer-back:hover{color:var(--amber2)}
.gad-footer-sub{
  font-family:var(--mono);font-size:10px;color:var(--blue);
  text-decoration:none;letter-spacing:.1em;text-transform:uppercase;
  transition:color .14s;
}
.gad-footer-sub:hover{color:var(--amber2)}

/* Responsive */
@media(max-width:900px){.gad-grid{grid-template-columns:1fr 1fr}}
@media(max-width:640px){
  .gad-grid{grid-template-columns:1fr}
  .gad-featured{padding:20px}
  .gad-article-page{max-width:100%}
  .gad-body{font-size:18px}
  .gad-art-lede{font-size:18px}
}

/* ══════════════════════════════════════════════════════════
   NIGHT FILES — reports, gallery, declassified docs
   ══════════════════════════════════════════════════════════ */

/* ── PAGE HEADER ── */
.nf-header{padding:36px 0 28px;border-bottom:1px solid var(--line);margin-bottom:0}
.nf-header-label{font-family:var(--mono);font-size:9px;color:var(--amber2);letter-spacing:.24em;text-transform:uppercase;margin-bottom:10px}
.nf-header-title{font-family:var(--disp);font-size:clamp(52px,8vw,80px);letter-spacing:.04em;line-height:.88;color:var(--text);margin-bottom:14px}
.nf-header-desc{font-family:var(--body);font-style:italic;font-size:18px;color:var(--muted);line-height:1.65;max-width:640px}

/* ── TABS ── */
.nf-tabs{
  display:flex;align-items:stretch;border-bottom:1px solid var(--line);
  margin-bottom:28px;gap:0;overflow-x:auto;
}
.nf-tab{
  display:inline-flex;align-items:center;gap:7px;
  padding:14px 20px;
  font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--dim);text-decoration:none;white-space:nowrap;
  border-bottom:2px solid transparent;margin-bottom:-1px;
  transition:color .14s,border-color .14s;
}
.nf-tab:hover{color:var(--muted)}
.nf-tab-active{color:var(--amber2);border-bottom-color:var(--amber)}
.nf-tab-icon{font-size:14px}
.nf-tab-count{
  font-family:var(--mono);font-size:9px;
  background:rgba(242,155,24,.15);color:var(--amber2);
  border-radius:10px;padding:1px 7px;
}
.nf-tab-submit{
  margin-left:auto;color:var(--blue);
  border-bottom-color:transparent;
}
.nf-tab-submit:hover{color:var(--amber2)}

/* ── CATEGORY PILLS ── */
.nf-cat{
  display:inline-block;font-family:var(--mono);
  font-size:9px;letter-spacing:.1em;text-transform:uppercase;
  border-radius:4px;padding:3px 9px;white-space:nowrap;
  border:1px solid;
}
.nf-cat-uap    {color:#5b9df1;border-color:rgba(91,157,241,.35);background:rgba(91,157,241,.1)}
.nf-cat-ghost  {color:#a78bfa;border-color:rgba(167,139,250,.35);background:rgba(167,139,250,.1)}
.nf-cat-cryptid{color:#6ee7b7;border-color:rgba(110,231,183,.35);background:rgba(110,231,183,.1)}
.nf-cat-nde    {color:var(--amber2);border-color:rgba(242,155,24,.35);background:rgba(242,155,24,.1)}
.nf-cat-evp    {color:#c084fc;border-color:rgba(192,132,252,.35);background:rgba(192,132,252,.1)}
.nf-cat-strange{color:var(--dim);border-color:var(--line2);background:transparent}

/* ── EMPTY STATE ── */
.nf-empty{padding:72px 0;text-align:center}
.nf-empty-icon{font-size:48px;margin-bottom:14px;opacity:.5}
.nf-empty-title{font-family:var(--disp);font-size:32px;color:var(--dim);margin-bottom:8px}
.nf-empty-sub{font-family:var(--body);font-size:16px;color:var(--dim);font-style:italic;margin-bottom:24px}

/* ── FIELD REPORTS ── */
.nf-report-list{display:flex;flex-direction:column;gap:8px}
.nf-report-card{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--r);
  overflow:hidden;cursor:pointer;transition:border-color .15s;
}
.nf-report-card:hover{border-color:rgba(255,255,255,.2)}
.nf-report-card.nf-open{border-color:rgba(242,155,24,.3)}
.nf-report-head{
  display:grid;grid-template-columns:52px 1fr 28px;gap:16px;
  align-items:center;padding:16px 18px;
}
.nf-report-num{
  font-family:var(--mono);font-size:20px;color:var(--amber2);
  opacity:.4;line-height:1;font-weight:700;text-align:center;
}
.nf-report-card.nf-open .nf-report-num{opacity:.9}
.nf-report-meta{min-width:0}
.nf-report-top{display:flex;align-items:center;gap:8px;margin-bottom:6px;flex-wrap:wrap}
.nf-report-title{
  font-family:var(--disp);font-size:22px;color:var(--text);
  line-height:1;margin-bottom:6px;transition:color .14s;
}
.nf-report-card:hover .nf-report-title{color:var(--amber2)}
.nf-report-loc-time{
  display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  font-family:var(--mono);font-size:9px;color:var(--dim);letter-spacing:.04em;
}
.nf-report-who{color:var(--muted)}
.nf-report-toggle{font-size:12px;color:var(--dim);transition:transform .2s;text-align:center}
.nf-report-card.nf-open .nf-report-toggle{transform:rotate(180deg)}
.nf-report-body{
  max-height:0;overflow:hidden;
  transition:max-height .3s cubic-bezier(.4,0,.2,1);
}
.nf-report-card.nf-open .nf-report-body{max-height:800px}
.nf-report-photo{
  padding:0 18px 16px;
}
.nf-report-photo img{
  width:100%;max-height:400px;object-fit:cover;
  border-radius:var(--r-sm);border:1px solid var(--line);
}
.nf-report-text{
  padding:0 18px 18px;
  font-family:var(--body);font-size:17px;color:var(--muted);
  line-height:1.75;border-top:1px solid var(--line);
  padding-top:16px;
}

/* Badges */
.nf-badge-air{
  font-family:var(--mono);font-size:8px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--live2);border:1px solid rgba(200,32,32,.4);
  border-radius:3px;padding:2px 7px;
}
.nf-badge-photo{
  font-family:var(--mono);font-size:9px;color:var(--dim);
}

/* Bart's Notes — appears on reports AND docs */
.nf-bart-note{
  margin:12px 18px 18px;padding:14px 18px;
  background:rgba(242,155,24,.04);
  border-left:2px solid var(--amber);
  border-radius:0 var(--r-sm) var(--r-sm) 0;
}
.nf-bart-note-label{
  font-family:var(--mono);font-size:9px;color:var(--amber2);
  letter-spacing:.16em;text-transform:uppercase;display:block;margin-bottom:8px;
}
.nf-bart-note p{font-family:var(--body);font-size:15px;color:var(--muted);line-height:1.65}

/* ── EVIDENCE GALLERY ── */
.nf-gallery-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:14px;
}
.nf-gallery-card{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--r);
  overflow:hidden;cursor:pointer;
  transition:transform .2s,border-color .2s,box-shadow .2s;
}
.nf-gallery-card:hover{
  transform:translateY(-3px);
  border-color:rgba(242,155,24,.4);
  box-shadow:0 8px 32px rgba(0,0,0,.3);
}
.nf-gallery-thumb{
  height:160px;background:var(--panel2);position:relative;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
}
.nf-gallery-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.nf-gallery-card:hover .nf-gallery-thumb img{transform:scale(1.04)}
.nf-gallery-icon{font-size:48px;opacity:.5}
.nf-gallery-overlay{
  position:absolute;inset:0;background:rgba(0,0,0,0);
  display:flex;align-items:center;justify-content:center;
  transition:background .2s;
}
.nf-gallery-card:hover .nf-gallery-overlay{background:rgba(0,0,0,.25)}
.nf-gallery-zoom{
  font-size:24px;color:#fff;opacity:0;
  transition:opacity .2s;
}
.nf-gallery-card:hover .nf-gallery-zoom{opacity:1}
.nf-gallery-cap{padding:12px 14px;display:flex;flex-direction:column;gap:6px}
.nf-gallery-title{
  font-family:var(--disp);font-size:18px;color:var(--text);line-height:1;
}
.nf-gallery-loc{font-family:var(--mono);font-size:9px;color:var(--dim)}

/* ── DECLASSIFIED DOCUMENTS ── */
.nf-doc-list{display:flex;flex-direction:column;gap:12px}
.nf-doc-card{
  background:var(--panel);border:1px solid var(--line);border-radius:var(--r);
  padding:20px 22px;display:flex;gap:18px;align-items:flex-start;
  transition:border-color .15s;
}
.nf-doc-card:hover{border-color:rgba(255,255,255,.18)}
.nf-doc-file{
  width:64px;flex-shrink:0;
  border-radius:6px;padding:10px 6px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:4px;text-align:center;min-height:72px;
}
/* Agency color schemes */
.nf-agency-cia  {background:rgba(212,81,81,.15);border:1px solid rgba(212,81,81,.3)}
.nf-agency-fbi  {background:rgba(74,144,217,.15);border:1px solid rgba(74,144,217,.3)}
.nf-agency-nsa  {background:rgba(98,230,162,.1); border:1px solid rgba(98,230,162,.25)}
.nf-agency-aaro {background:rgba(91,157,241,.15);border:1px solid rgba(91,157,241,.3)}
.nf-agency-dod  {background:rgba(242,155,24,.12);border:1px solid rgba(242,155,24,.28)}
.nf-agency-nasa {background:rgba(167,139,250,.12);border:1px solid rgba(167,139,250,.28)}
.nf-agency-other{background:rgba(255,255,255,.06);border:1px solid var(--line2)}
.nf-doc-agency{font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.08em;color:var(--text)}
.nf-doc-year  {font-family:var(--mono);font-size:9px;color:var(--dim)}
.nf-doc-stamp {
  font-family:var(--mono);font-size:7px;letter-spacing:.06em;
  color:rgba(200,32,32,.6);border:1px solid rgba(200,32,32,.3);
  border-radius:2px;padding:1px 4px;transform:rotate(-3deg);
  margin-top:4px;white-space:nowrap;
}
.nf-doc-info{flex:1;min-width:0}
.nf-doc-title{font-family:var(--disp);font-size:24px;color:var(--text);line-height:1;margin-bottom:8px}
.nf-doc-meta-row{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  font-family:var(--mono);font-size:9px;color:var(--dim);
  margin-bottom:10px;letter-spacing:.04em;
}
.nf-doc-case{color:var(--muted)}
.nf-doc-summary{
  font-family:var(--body);font-size:16px;color:var(--muted);
  line-height:1.65;margin-bottom:12px;
}
.nf-doc-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.nf-doc-btn{
  font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;
  padding:7px 14px;border-radius:5px;text-decoration:none;cursor:pointer;
  transition:all .14s;border:1px solid var(--line2);color:var(--dim);background:transparent;
}
.nf-doc-btn:hover{border-color:rgba(255,255,255,.2);color:var(--muted)}
.nf-doc-btn-view{
  background:rgba(91,157,241,.1);border-color:rgba(91,157,241,.35);color:#9fc8ff;
}
.nf-doc-btn-view:hover{background:rgba(91,157,241,.2)}
.nf-doc-btn-source{color:var(--blue)}

/* Responsive */
@media(max-width:640px){
  .nf-tabs{gap:0}
  .nf-tab{padding:12px 14px;font-size:9px}
  .nf-tab-icon{display:none}
  .nf-report-head{grid-template-columns:36px 1fr 20px;gap:10px;padding:12px 14px}
  .nf-report-num{font-size:16px}
  .nf-gallery-grid{grid-template-columns:1fr 1fr}
  .nf-doc-card{flex-direction:column;gap:12px}
  .nf-doc-file{width:100%;flex-direction:row;min-height:auto;padding:8px 12px}
}

/* ══════════════════════════════════════════════════════════
   HOMEPAGE — new components
   ══════════════════════════════════════════════════════════ */

/* ── HERO ON-AIR STATE ── */
.hero-on-air{border-color:rgba(200,32,32,.4)!important}
.hero-on-air::before{background:radial-gradient(ellipse at 85% 40%,rgba(200,32,32,.12),transparent 50%)!important}
.hero-live-kicker{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--mono);font-size:10px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--live2);margin-bottom:14px;
}
.hp-live-badge{
  font-family:var(--mono);font-size:8px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--live2);border:1px solid rgba(200,32,32,.4);
  border-radius:3px;padding:2px 7px;margin-left:10px;
  animation:lp 2s infinite;
}

/* ── HOME PLAYER (uses broadcast-player base + home-player overlay) ── */
.home-player{margin-bottom:20px}

/* ── NIGHT FILES TICKER ── */
.home-ticker{
  background:var(--panel);
  border:1px solid var(--line);
  border-left:3px solid var(--blue);
  border-radius:var(--r);
  margin-bottom:20px;
  overflow:hidden;
}
.home-ticker-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 16px;border-bottom:1px solid var(--line);
  background:rgba(0,0,0,.2);
}
.home-ticker-label{
  font-family:var(--mono);font-size:9px;color:#9fc8ff;
  letter-spacing:.2em;text-transform:uppercase;font-weight:700;
}
.home-ticker-all{
  font-family:var(--mono);font-size:9px;color:var(--dim);
  letter-spacing:.1em;text-transform:uppercase;text-decoration:none;
  transition:color .14s;
}
.home-ticker-all:hover{color:var(--amber2)}
.home-ticker-row{
  display:flex;align-items:center;gap:12px;
  padding:11px 16px;border-bottom:1px solid var(--line);
  transition:background .12s;
}
.home-ticker-row:last-child{border-bottom:none}
.home-ticker-row:hover{background:rgba(255,255,255,.02)}
.home-ticker-icon{font-size:18px;flex-shrink:0;width:24px;text-align:center}
.home-ticker-text{flex:1;min-width:0;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.home-ticker-title{
  font-family:var(--body);font-size:16px;font-weight:600;color:var(--text);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.home-ticker-loc{
  font-family:var(--mono);font-size:10px;color:var(--dim);
  white-space:nowrap;
}
.home-ticker-age{
  font-family:var(--mono);font-size:9px;color:var(--dim);
  letter-spacing:.04em;flex-shrink:0;
}
.home-ticker-kind{
  font-family:var(--mono);font-size:8px;letter-spacing:.12em;text-transform:uppercase;
  border-radius:3px;padding:2px 7px;flex-shrink:0;
}
.home-ticker-kind-report  {color:var(--amber2);background:rgba(242,155,24,.1);border:1px solid rgba(242,155,24,.25)}
.home-ticker-kind-document{color:#9fc8ff;background:rgba(91,157,241,.1);border:1px solid rgba(91,157,241,.25)}

/* ── UPCOMING SCHEDULE STRIP ── */
.home-schedule-strip{
  background:var(--panel);border:1px solid var(--line);
  border-radius:var(--r);margin-bottom:20px;overflow:hidden;
}
.home-sched-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 16px;border-bottom:1px solid var(--line);
  background:rgba(0,0,0,.2);
}
.home-sched-label{
  font-family:var(--mono);font-size:9px;color:var(--amber2);
  letter-spacing:.2em;text-transform:uppercase;font-weight:700;
}
.home-sched-all{
  font-family:var(--mono);font-size:9px;color:var(--dim);
  letter-spacing:.1em;text-transform:uppercase;text-decoration:none;
  transition:color .14s;
}
.home-sched-all:hover{color:var(--amber2)}
.home-sched-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
}
.home-sched-night{
  padding:16px 18px;border-right:1px solid var(--line);
  transition:background .12s;
}
.home-sched-night:last-child{border-right:none}
.home-sched-night:hover{background:rgba(255,255,255,.02)}
.home-sched-when{
  font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--dim);margin-bottom:8px;
}
.home-sched-next .home-sched-when{color:var(--amber2)}
.home-sched-guest{
  font-family:var(--disp);font-size:22px;letter-spacing:.04em;
  color:var(--text);line-height:1;margin-bottom:5px;
}
.home-sched-next .home-sched-guest{color:var(--amber2)}
.home-sched-topic{
  font-family:var(--body);font-size:14px;color:var(--dim);font-style:italic;
  line-height:1.4;
}
.home-sched-open-label{
  font-family:var(--disp);font-size:20px;letter-spacing:.04em;
  color:var(--dim);margin-bottom:5px;
}
.home-sched-open .home-sched-topic{color:rgba(200,32,32,.6)}

/* ── HOME FEATURE CARDS ── */
.home-feature-cards{margin-bottom:20px}
.home-card{
  display:block;
  background:rgba(0,0,0,.18);border:1px solid var(--line);
  border-radius:14px;padding:18px;
  transition:transform .2s,border-color .2s;
  text-decoration:none;
}
.home-card:hover{transform:translateY(-2px);border-color:rgba(242,155,24,.5)}
.home-card-files:hover{border-color:rgba(91,157,241,.5)!important}
.home-card-img{
  height:140px;border-radius:12px;overflow:hidden;
  margin-bottom:12px;background:rgba(20,27,42,.8);
}
.home-card-img img{width:100%;height:100%;object-fit:cover;object-position:top}
.home-card-placeholder{width:100%;height:100%}
.home-card-title{
  font-family:var(--disp);font-size:30px;letter-spacing:.04em;
  color:var(--text);line-height:1;margin:8px 0;
}
.home-card-desc{color:var(--muted);font-size:15px;line-height:1.6;font-family:var(--body)}

/* ── MOBILE — touch target upgrades ── */
@media(max-width:640px){
  /* Player touch targets — minimum 44px */
  .bp-play{width:52px!important;height:52px!important}
  .bp-skip{width:44px!important;height:44px!important}
  .bp-speed-btn{padding:10px 14px!important}

  /* Progress bar — bigger touch target without changing visual */
  .bp-progress-wrap{padding:0 14px 16px!important}
  .bp-progress{height:12px!important}
  .bp-progress::after{
    content:"";position:absolute;inset:-12px 0;
  }
  .bp-progress-bar{
    height:6px!important;position:absolute;bottom:3px;
  }

  /* Ticker */
  .home-ticker-title{font-size:15px}
  .home-ticker-row{padding:10px 14px;gap:10px}

  /* Schedule strip — stack vertically on mobile */
  .home-sched-grid{grid-template-columns:1fr}
  .home-sched-night{border-right:none;border-bottom:1px solid var(--line);padding:13px 16px}
  .home-sched-night:last-child{border-bottom:none}

  /* Feature cards — already goes 1col via grid2/grid3 mobile rule */
  .home-card-img{height:110px}
  .home-card-title{font-size:26px}

  /* Share panel mobile */
  .bp-share-inner{padding:12px 14px 14px}
  .bp-share-links{gap:6px}
}

/* ══════════════════════════════════════════════════════════
   NAV MINI PLAYER + LISTEN LIVE BUTTON
   ══════════════════════════════════════════════════════════ */

/* ── Skip link — accessible, invisible by default ── */
.skip-link{
  position:absolute;top:-100px;left:0;z-index:9999;
  font-family:var(--mono);font-size:11px;
  background:var(--amber);color:var(--bg);
  padding:8px 16px;text-decoration:none;
  transition:top .1s;
}
.skip-link:focus{top:0}

/* Hide statusBar completely — replaced by mini player ── */
#statusBar{display:none!important}

/* ── Listen Live button — nav right slot ── */
.nav-listen-btn{
  display:inline-flex;align-items:center;gap:7px;
  font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--amber2);background:rgba(242,155,24,.1);
  padding:0 18px;height:52px;
  border:none;border-left:1px solid rgba(242,155,24,.15);
  cursor:pointer;white-space:nowrap;
  transition:background .14s,color .14s;
  position:relative;
}
.nav-listen-btn:hover,.nav-listen-btn.active{
  background:rgba(242,155,24,.2);
}
.nav-listen-live{
  background:rgba(200,32,32,.1);
  border-left-color:rgba(200,32,32,.2);
  color:var(--live2);
}
.nav-listen-live:hover,.nav-listen-live.active{
  background:rgba(200,32,32,.18);
}
.nav-listen-arrow{
  font-size:10px;opacity:.6;
  transition:transform .2s;display:inline-block;
}
.nav-listen-btn.active .nav-listen-arrow{transform:rotate(180deg)}

/* ── Mini player panel — slides under the sticky nav ── */
.nav-mini-player{
  position:sticky;
  top:52px; /* height of the sticky nav */
  z-index:198;
  max-height:0;
  overflow:hidden;
  transition:max-height .28s cubic-bezier(.4,0,.2,1), opacity .24s ease;
  opacity:0;
  background:rgba(8,11,18,.98);
  border-bottom:1px solid rgba(255,255,255,.1);
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
}
.nav-mini-player::before{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(242,155,24,.3) 30%,rgba(242,155,24,.3) 70%,transparent);
}
.nav-mini-player.open{max-height:56px;opacity:1}
.nmp-bar{
  display:flex;align-items:center;gap:14px;
  padding:0 20px;height:52px;
}

/* Play button */
.nmp-play{
  width:34px;height:34px;border-radius:50%;
  border:1.5px solid var(--green);
  background:rgba(98,230,162,.1);
  color:var(--green);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;flex-shrink:0;
  transition:background .14s,box-shadow .14s;
}
.nmp-play:hover{background:rgba(98,230,162,.2);box-shadow:0 0 0 6px rgba(98,230,162,.07)}
.nmp-play.playing{
  border-color:var(--amber);color:var(--amber);
  background:rgba(242,155,24,.1);
  animation:bp-pulse 2s ease-in-out infinite;
}

/* Info */
.nmp-info{flex:1;min-width:0}
.nmp-title{
  font-family:var(--disp);font-size:18px;letter-spacing:.04em;
  color:var(--text);line-height:1;display:flex;align-items:center;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.nmp-meta{
  font-family:var(--mono);font-size:9px;color:var(--dim);
  letter-spacing:.06em;margin-top:3px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}

/* Volume */
.nmp-vol-wrap{
  display:flex;align-items:center;gap:8px;flex-shrink:0;
}
.nmp-vol-range{
  width:72px;accent-color:var(--green);cursor:pointer;
  height:4px;
}

/* Action buttons */
.nmp-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}
.nmp-btn{
  display:inline-flex;align-items:center;gap:6px;
  font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;
  color:var(--dim);background:transparent;
  border:1px solid rgba(255,255,255,.1);border-radius:var(--r-sm);
  padding:6px 11px;cursor:pointer;
  transition:color .14s,border-color .14s,background .14s;
  white-space:nowrap;
}
.nmp-btn:hover{color:var(--amber2);border-color:rgba(242,155,24,.3);background:rgba(242,155,24,.06)}
.nmp-close{
  width:28px;height:28px;
  background:none;border:1px solid rgba(255,255,255,.08);border-radius:50%;
  color:var(--dim);cursor:pointer;font-size:12px;line-height:1;
  display:flex;align-items:center;justify-content:center;
  transition:color .14s,border-color .14s;
}
.nmp-close:hover{color:var(--text);border-color:rgba(255,255,255,.2)}

/* Mobile */
@media(max-width:640px){
  .nmp-vol-wrap{display:none}
  .nmp-btn span{display:none}
  .nmp-btn{padding:6px 8px}
  .nmp-bar{gap:10px;padding:0 14px}
  .nmp-title{font-size:16px}
  .nav-listen-btn{padding:0 12px}
}

/* ── FEATURED UPCOMING GUEST ── */
.home-featured-guest{
  background:var(--panel);
  border:1px solid var(--line);
  border-top:2px solid var(--amber);
  border-radius:var(--r);
  padding:20px 22px;
  margin-bottom:14px;
}
.home-fg-when{
  font-family:var(--mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;
  color:var(--amber2);margin-bottom:14px;
  display:flex;align-items:center;gap:8px;
}
.home-fg-time{color:var(--dim)}
.home-fg-body{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.home-fg-photo{
  width:72px;height:72px;border-radius:var(--r-sm);
  object-fit:cover;object-position:top;
  border:2px solid rgba(242,155,24,.3);flex-shrink:0;
}
.home-fg-info{flex:1;min-width:0}
.home-fg-name{
  font-family:var(--disp);font-size:clamp(28px,4vw,40px);
  letter-spacing:.04em;color:var(--text);line-height:.95;margin-bottom:5px;
}
.home-fg-title{
  font-family:var(--body);font-style:italic;font-size:15px;
  color:var(--muted);margin-bottom:5px;
}
.home-fg-topic{
  font-family:var(--mono);font-size:10px;color:var(--dim);
  letter-spacing:.04em;
}
.home-fg-link{
  font-family:var(--mono);font-size:9px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--blue);
  text-decoration:none;white-space:nowrap;flex-shrink:0;
  transition:color .14s;
}
.home-fg-link:hover{color:var(--amber2)}
@media(max-width:640px){
  .home-fg-photo{width:56px;height:56px}
  .home-fg-name{font-size:clamp(26px,7vw,36px)}
}

/* ══════════════════════════════════════════════════════════
   BOOKING FORM — Apply to be a guest
   ══════════════════════════════════════════════════════════ */

/* ── Page wrapper ── */
#page-booking{max-width:720px;margin:0 auto;padding:48px 0 80px}

/* ── Intro ── */
.bk-eyebrow{
  font-family:var(--mono);font-size:10px;color:var(--amber2);
  letter-spacing:.2em;text-transform:uppercase;
  display:flex;align-items:center;gap:12px;margin-bottom:18px;
}
.bk-eyebrow::before{content:"";display:block;width:28px;height:1px;background:var(--amber);opacity:.5}
.bk-h1{
  font-family:var(--disp);font-size:clamp(52px,7vw,76px);
  letter-spacing:.04em;line-height:.88;color:var(--text);margin-bottom:22px;
}
.bk-lead{
  font-family:var(--body);font-size:18px;color:var(--muted);
  line-height:1.8;max-width:620px;margin-bottom:14px;
}
.bk-note{
  font-family:var(--mono);font-size:11px;color:var(--dim);
  margin-top:18px;padding:12px 16px;
  border-left:2px solid var(--line2);line-height:1.65;
}
.bk-note-req{color:var(--amber2)}

/* ── Audio-only notice ── */
.bk-audio-notice{
  display:flex;align-items:flex-start;gap:14px;
  background:rgba(242,155,24,.06);
  border:1px solid rgba(242,155,24,.2);
  border-radius:var(--r);
  padding:16px 18px;margin:24px 0 32px;
}
.bk-audio-notice-icon{font-size:20px;flex-shrink:0;margin-top:1px}
.bk-audio-notice-label{
  font-family:var(--mono);font-size:10px;color:var(--amber2);
  letter-spacing:.12em;text-transform:uppercase;margin-bottom:5px;
}
.bk-audio-notice-text{font-family:var(--body);font-size:15px;color:var(--muted);line-height:1.65}

/* ── Progress stepper ── */
#bkProg{display:flex;align-items:flex-start;margin:0 0 40px;gap:0}
.bk-step{
  display:flex;flex-direction:column;align-items:center;gap:8px;
  cursor:pointer;flex-shrink:0;
}
.bk-num{
  width:36px;height:36px;border-radius:50%;
  border:2px solid var(--line2);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--mono);font-size:12px;color:var(--dim);
  transition:all .2s;position:relative;z-index:1;
  background:var(--bg);
}
.bk-num span{transition:opacity .2s}
.bk-lab{
  font-family:var(--mono);font-size:8px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--dim);text-align:center;
  transition:color .2s;width:88px;line-height:1.4;
}
/* Active step */
.bk-step.active .bk-num{
  border-color:var(--amber);color:var(--amber2);
  box-shadow:0 0 0 4px rgba(242,155,24,.12);
}
.bk-step.active .bk-lab{color:var(--amber2)}
/* Done step */
.bk-step.done .bk-num{
  border-color:rgba(98,230,162,.5);background:rgba(98,230,162,.12);
  color:var(--green);
}
.bk-step.done .bk-num span::before{content:"✓";position:absolute}
.bk-step.done .bk-num span{opacity:0}
.bk-step.done .bk-lab{color:var(--dim)}
/* Connector line */
.bk-prog-line{
  flex:1;height:2px;background:var(--line);
  margin-top:17px;transition:background .3s;
}
.bk-prog-line.done{background:rgba(98,230,162,.4)}

/* ── Step sections ── */
.bk-sec{display:none}
.bk-sec.active{display:block}

/* ── Step header ── */
.bk-step-label{
  font-family:var(--mono);font-size:9px;color:var(--amber2);
  letter-spacing:.18em;text-transform:uppercase;margin-bottom:8px;
}
.bk-step-title{
  font-family:var(--disp);font-size:clamp(32px,4vw,44px);
  letter-spacing:.04em;color:var(--text);line-height:.92;margin-bottom:10px;
}
.bk-step-sub{
  font-family:var(--body);font-size:16px;color:var(--dim);
  line-height:1.65;max-width:560px;margin-bottom:28px;font-style:italic;
}

/* ── Form groups ── */
.fmg{margin-bottom:22px}
.fmg:last-of-type{margin-bottom:0}
.fmg-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}
.fmg-label{font-family:var(--body);font-size:16px;font-weight:600;color:var(--muted)}
.fmg-req{font-family:var(--mono);font-size:9px;color:var(--amber2);letter-spacing:.1em}
.fmg-opt{font-family:var(--mono);font-size:9px;color:var(--dim);letter-spacing:.1em}
.fmg-rec{font-family:var(--mono);font-size:9px;color:var(--amber);letter-spacing:.1em}
.fmg-hint{
  font-family:var(--body);font-size:14px;color:var(--dim);
  line-height:1.6;margin-bottom:10px;font-style:italic;
}
/* Error message */
.bk-err{
  font-family:var(--mono);font-size:10px;color:var(--live2);
  letter-spacing:.04em;margin-top:6px;display:none;
}
.bk-err.show{display:block}

/* ── Category / heard pills ── */
.bk-pill{
  display:inline-flex;align-items:center;
  font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;
  padding:8px 16px;border-radius:var(--r-sm);
  border:1px solid var(--line2);color:var(--dim);
  cursor:pointer;transition:all .15s;user-select:none;
}
.bk-pill:hover{border-color:var(--amber2);color:var(--amber2)}
.bk-pill.sel{
  background:rgba(242,155,24,.12);
  border-color:var(--amber);color:var(--amber2);
}

/* ── Photo drop zone ── */
.bk-drop{
  border:2px dashed var(--line2);border-radius:var(--r);
  padding:28px 20px;text-align:center;cursor:pointer;
  transition:border-color .15s,background .15s;
}
.bk-drop:hover,.bk-drop.drag{
  border-color:rgba(242,155,24,.5);
  background:rgba(242,155,24,.04);
}
.bk-drop-main{font-family:var(--mono);font-size:12px;color:var(--muted);margin-bottom:4px}
.bk-drop-sub{font-family:var(--mono);font-size:10px;color:var(--dim)}
#bk-photo-preview{margin-top:14px;display:flex;align-items:center;gap:14px}
#bk-photo-img{
  width:80px;height:80px;border-radius:var(--r-sm);
  object-fit:cover;border:2px solid rgba(242,155,24,.3);flex-shrink:0;
}
.bk-photo-info{flex:1;min-width:0}
.bk-photo-name{font-family:var(--mono);font-size:10px;color:var(--green);margin-bottom:6px}
.bk-photo-remove{
  font-family:var(--mono);font-size:9px;color:var(--dim);
  cursor:pointer;letter-spacing:.08em;text-transform:uppercase;
  transition:color .14s;text-decoration:none;
}
.bk-photo-remove:hover{color:var(--live2)}

/* ── Checkbox ── */
.bk-cb{
  width:20px;height:20px;border-radius:4px;flex-shrink:0;
  border:2px solid var(--line2);background:transparent;
  transition:all .15s;position:relative;margin-top:1px;
}
.bk-cb.chk{
  border-color:var(--amber);background:rgba(242,155,24,.15);
}
.bk-cb.chk::after{
  content:"✓";position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  font-size:11px;color:var(--amber2);font-weight:700;
}
.bk-cb-err{
  font-family:var(--mono);font-size:10px;color:var(--live2);
  margin-top:4px;display:none;letter-spacing:.04em;
}
.bk-cb-err.show{display:block}
.bk-cb-row{
  display:flex;align-items:flex-start;gap:14px;
  padding:16px 0;border-bottom:1px solid var(--line);cursor:pointer;
}
.bk-cb-row:last-child{border-bottom:none}
.bk-cb-text{font-family:var(--body);font-size:15px;color:var(--muted);line-height:1.65}

/* ── Transmission agreement card ── */
.bk-agreement{
  background:var(--panel);
  border:1px solid var(--line2);
  border-top:2px solid var(--amber);
  border-radius:var(--r);overflow:hidden;margin-bottom:28px;
}
.bk-agreement-head{
  padding:20px 24px;border-bottom:1px solid var(--line);
}
.bk-agreement-eyebrow{
  font-family:var(--mono);font-size:9px;color:var(--amber);
  letter-spacing:.18em;text-transform:uppercase;margin-bottom:8px;
}
.bk-agreement-title{
  font-family:var(--disp);font-size:26px;letter-spacing:.04em;
  color:var(--text);margin-bottom:5px;
}
.bk-agreement-sub{font-family:var(--body);font-size:15px;color:var(--dim);line-height:1.6}
.bk-agreement-clauses{padding:0 24px}
.bk-clause{
  padding:16px 0;border-bottom:1px solid var(--line);
}
.bk-clause:last-child{border-bottom:none}
.bk-clause-head{
  display:flex;align-items:center;gap:10px;
  font-family:var(--body);font-size:15px;font-weight:600;color:var(--muted);
  margin-bottom:5px;
}
.bk-clause-num{
  font-family:var(--mono);font-size:10px;color:var(--amber2);
  background:rgba(242,155,24,.1);border:1px solid rgba(242,155,24,.25);
  padding:1px 8px;border-radius:3px;letter-spacing:.08em;
  flex-shrink:0;
}
.bk-clause-body{font-family:var(--body);font-size:14px;color:var(--dim);line-height:1.7}
.bk-agreement-consent{
  padding:20px 24px;background:var(--panel2);
  border-top:1px solid var(--line);
}
.bk-agreement-foot{
  padding:12px 24px;border-top:1px solid var(--line);
  font-family:var(--mono);font-size:10px;color:var(--dim);line-height:1.6;
}

/* ── Nav buttons ── */
.bk-nav{
  display:flex;align-items:center;justify-content:space-between;
  gap:14px;margin-top:32px;padding-top:24px;
  border-top:1px solid var(--line);
}
.bk-nav-next{
  display:inline-flex;align-items:center;gap:10px;
}
.bk-back{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--dim);background:none;border:1px solid var(--line2);
  border-radius:var(--r-sm);padding:10px 18px;cursor:pointer;
  transition:color .14s,border-color .14s;
}
.bk-back:hover{color:var(--muted);border-color:rgba(255,255,255,.2)}

/* ── Success screen ── */
#bkSuccess{text-align:center;padding:72px 0}
.bk-success-icon{
  width:72px;height:72px;border-radius:50%;
  border:1px solid rgba(98,230,162,.4);
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 28px;
  box-shadow:0 0 0 10px rgba(98,230,162,.05);
}
.bk-success-dot{
  width:14px;height:14px;border-radius:50%;
  background:var(--green);box-shadow:0 0 18px rgba(98,230,162,.5);
}
.bk-success-label{
  font-family:var(--mono);font-size:10px;color:var(--amber2);
  letter-spacing:.2em;text-transform:uppercase;margin-bottom:16px;
}
.bk-success-title{
  font-family:var(--disp);font-size:clamp(42px,6vw,60px);
  letter-spacing:.04em;color:var(--text);line-height:.9;margin-bottom:18px;
}
.bk-success-body{
  font-family:var(--body);font-size:17px;color:var(--muted);
  line-height:1.8;max-width:520px;margin:0 auto 20px;
}
.bk-success-reminder{
  background:rgba(242,155,24,.07);border:1px solid rgba(242,155,24,.2);
  border-radius:var(--r);padding:16px 20px;max-width:480px;
  margin:0 auto 20px;text-align:left;
}
.bk-success-reminder-label{
  font-family:var(--mono);font-size:9px;color:var(--amber2);
  letter-spacing:.16em;text-transform:uppercase;margin-bottom:8px;
}
.bk-success-reminder-text{font-family:var(--body);font-size:14px;color:var(--muted);line-height:1.65}
.bk-success-quote{
  font-family:var(--body);font-style:italic;font-size:18px;color:var(--dim);
  max-width:460px;margin:0 auto 28px;padding:20px 24px;
  border-left:2px solid rgba(98,230,162,.4);text-align:left;line-height:1.65;
}
.bk-success-cite{
  font-family:var(--mono);font-size:10px;color:var(--dim);
  font-style:normal;display:block;margin-top:10px;letter-spacing:.06em;
}

/* ── Grid helpers ── */
.bk-grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}

/* ── Mobile ── */
@media(max-width:640px){
  #page-booking{padding:28px 0 60px}
  .bk-h1{font-size:clamp(44px,12vw,60px)}
  .bk-grid2{grid-template-columns:1fr}
  .bk-prog-line{margin-top:17px}
  .bk-lab{font-size:7px;width:72px}
  .bk-pill{font-size:9px;padding:7px 12px}
  .bk-nav{flex-direction:column-reverse;align-items:stretch}
  .bk-back{justify-content:center}
}

/* ══════════════════════════════════════════════════════════
   IN MEMORIAM
   ══════════════════════════════════════════════════════════ */

.mem-header{
  padding:52px 0 40px;
  border-bottom:1px solid var(--line);
  margin-bottom:52px;
}
.mem-header-eyebrow{
  font-family:var(--mono);font-size:9px;color:var(--dim);
  letter-spacing:.2em;text-transform:uppercase;
  display:flex;align-items:center;gap:12px;margin-bottom:18px;
}
.mem-header-eyebrow::before{content:"";display:block;width:20px;height:1px;background:var(--dim);opacity:.4}
.mem-header-h1{
  font-family:var(--disp);font-size:clamp(52px,7vw,76px);
  letter-spacing:.04em;line-height:.88;color:var(--text);margin-bottom:20px;
}
.mem-header-intro{
  font-family:var(--body);font-size:18px;color:var(--muted);
  line-height:1.85;max-width:600px;margin-bottom:14px;
}
.mem-header-sub{
  font-family:var(--body);font-style:italic;font-size:16px;
  color:var(--dim);max-width:520px;line-height:1.75;
}

.mem-list{display:flex;flex-direction:column;gap:0}

/* Individual entry */
.mem-entry{
  padding:48px 0;
  border-bottom:1px solid var(--line);
  position:relative;
}
.mem-entry:last-child{border-bottom:none}
.mem-entry-hl{
  padding:52px 0;
}
.mem-entry-bar{
  position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,var(--amber),transparent 60%);
}

.mem-entry-inner{
  display:grid;
  grid-template-columns:160px 1fr;
  gap:40px;
  align-items:flex-start;
}
.mem-entry-hl .mem-entry-inner{
  grid-template-columns:200px 1fr;
}

/* Photo column */
.mem-photo-col{
  display:flex;flex-direction:column;align-items:center;gap:12px;
  position:sticky;top:80px;
}
.mem-photo-wrap{
  width:140px;height:140px;border-radius:var(--r);overflow:hidden;
  border:1px solid var(--line2);
}
.mem-entry-hl .mem-photo-wrap{
  width:180px;height:180px;
}
.mem-photo{width:100%;height:100%;object-fit:cover;object-position:top;display:block}
.mem-initials{
  background:rgba(242,155,24,.08);
  border-color:rgba(242,155,24,.2);
  display:flex;align-items:center;justify-content:center;
}
.mem-initials span{
  font-family:var(--disp);font-size:52px;letter-spacing:.04em;
  color:rgba(242,155,24,.5);line-height:1;
}
.mem-entry-hl .mem-initials span{font-size:68px}
.mem-years{
  font-family:var(--mono);font-size:10px;color:var(--dim);
  letter-spacing:.1em;text-align:center;
}

/* Content column */
.mem-content{min-width:0}
.mem-role{
  font-family:var(--mono);font-size:9px;color:var(--amber2);
  letter-spacing:.2em;text-transform:uppercase;margin-bottom:10px;
}
.mem-name{
  font-family:var(--disp);font-size:clamp(36px,4vw,52px);
  letter-spacing:.04em;color:var(--text);line-height:.92;margin-bottom:20px;
}
.mem-entry-hl .mem-name{font-size:clamp(42px,5vw,64px)}

.mem-body{
  font-family:var(--body);font-size:17px;color:var(--muted);
  line-height:1.8;max-width:680px;
}
.mem-body p{margin-bottom:16px}
.mem-body p:last-child{margin-bottom:0}

.mem-links{margin-top:22px}
.mem-link-btn{
  font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--blue);text-decoration:none;
  border:1px solid rgba(91,157,241,.3);border-radius:var(--r-sm);
  padding:8px 16px;display:inline-block;
  transition:all .14s;
}
.mem-link-btn:hover{color:var(--amber2);border-color:rgba(242,155,24,.4);background:rgba(242,155,24,.06)}

/* Responsive */
@media(max-width:768px){
  .mem-entry-inner,.mem-entry-hl .mem-entry-inner{
    grid-template-columns:1fr;gap:20px;
  }
  .mem-photo-col{
    flex-direction:row;align-items:center;gap:16px;
    position:static;
  }
  .mem-photo-wrap,.mem-entry-hl .mem-photo-wrap{width:80px;height:80px}
  .mem-initials span,.mem-entry-hl .mem-initials span{font-size:32px}
  .mem-name,.mem-entry-hl .mem-name{font-size:clamp(30px,8vw,44px)}
}

/* ══════════════════════════════════════════════════════════
   SEARCH OVERLAY — h-sr-* classes (JS generates these)
   The CSS had h-search-hit classes but JS uses h-sr-* — fixed here
   ══════════════════════════════════════════════════════════ */

.h-sr-group{
  font-family:var(--mono);font-size:9px;letter-spacing:.18em;
  text-transform:uppercase;color:var(--dim);
  padding:10px 16px 6px;
  border-bottom:1px solid var(--line);
  background:var(--panel2);
}
.h-sr-item{
  display:flex;align-items:center;gap:12px;
  padding:11px 16px;border-bottom:1px solid var(--line);
  text-decoration:none;transition:background .12s;cursor:pointer;
}
.h-sr-item:hover{background:var(--panel2)}
.h-sr-item:last-child{border-bottom:none}
.h-sr-icon{
  width:36px;height:36px;border-radius:8px;flex-shrink:0;
  background:rgba(242,155,24,.1);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--disp);font-size:16px;color:var(--amber2);
  overflow:hidden;
}
.h-sr-icon img{width:100%;height:100%;object-fit:cover;object-position:top}
.h-sr-body{flex:1;min-width:0}
.h-sr-title{
  font-family:var(--body);font-size:16px;font-weight:600;
  color:var(--text);line-height:1.2;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.h-sr-meta{
  font-family:var(--mono);font-size:10px;color:var(--dim);
  margin-top:3px;letter-spacing:.04em;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.h-sr-empty{
  padding:28px 16px;text-align:center;
  font-family:var(--body);font-size:16px;color:var(--dim);font-style:italic;
}
.h-sr-footer{
  padding:12px 16px;border-top:1px solid var(--line);
  background:var(--panel2);
}
.h-sr-footer a{
  font-family:var(--mono);font-size:10px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--blue);text-decoration:none;
  transition:color .14s;
}
.h-sr-footer a:hover{color:var(--amber2)}

/* ══════════════════════════════════════════════════════════
   CONTACT PAGE
   ══════════════════════════════════════════════════════════ */

/* ── Page header (pgh / pre / desc) ── */
.pgh{padding:48px 0 36px;border-bottom:1px solid var(--line);margin-bottom:36px}
.pre{font-family:var(--mono);font-size:9px;color:var(--amber2);letter-spacing:.24em;text-transform:uppercase;margin-bottom:12px;display:flex;align-items:center;gap:10px}
.pre::before{content:"";display:block;width:20px;height:1px;background:var(--amber2);opacity:.6}
.pgh h1{font-family:var(--disp);font-size:clamp(48px,6vw,72px);letter-spacing:.04em;line-height:.88;color:var(--text);margin-bottom:14px}
.desc{font-family:var(--body);font-size:17px;color:var(--muted);line-height:1.75;max-width:560px}

/* ── Contact type grid ── */
.cg{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
.cc{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:20px 22px}
.cc h3{font-family:var(--mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--amber2);margin-bottom:10px}
.cc p{font-family:var(--body);font-size:15px;color:var(--dim);line-height:1.65}
.cc a{color:var(--blue);text-decoration:none;transition:color .14s}
.cc a:hover{color:var(--amber2)}

/* ── Section heading ── */
.sec-head{font-family:var(--mono);font-size:9px;color:var(--amber2);letter-spacing:.22em;text-transform:uppercase;margin-bottom:18px;padding-bottom:12px;border-bottom:1px solid var(--line)}

/* ── Form label ── */
.fml{display:block;font-family:var(--body);font-size:15px;font-weight:600;color:var(--muted);margin-bottom:7px}
.fml .req{color:var(--amber2);font-size:11px}

/* ── form-submit button ── */
.form-submit{
  font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  font-weight:700;padding:13px 28px;border:none;border-radius:var(--r-sm);
  cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;gap:8px;
}
.form-submit.amber{background:var(--amber);color:var(--bg)}
.form-submit.amber:hover{opacity:.88}
.form-submit.green{background:var(--green);color:var(--bg)}
.form-submit.green:hover{opacity:.88}

@media(max-width:640px){.cg{grid-template-columns:1fr}}

/* ══════════════════════════════════════════════════════════
   GUESTS LISTING
   ══════════════════════════════════════════════════════════ */

/* ── Page header ── */
.gl-header{padding:48px 0 32px}
.gl-eyebrow{font-family:var(--mono);font-size:9px;color:var(--amber2);letter-spacing:.24em;text-transform:uppercase;margin-bottom:14px;display:flex;align-items:center;gap:10px}
.gl-eyebrow::before{content:"";display:block;width:24px;height:1px;background:var(--amber2)}
.gl-h1{font-family:var(--disp);font-size:clamp(52px,7vw,76px);letter-spacing:.04em;line-height:.88;color:var(--text);margin-bottom:16px}
.gl-desc{font-family:var(--body);font-size:16px;color:var(--muted);line-height:1.8;max-width:600px}
.gl-meta{font-family:var(--mono);font-size:11px;color:var(--dim);margin-top:14px}

/* ── Filter bar ── */
.list-filter-bar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:16px}
.list-filter-input{
  flex:1;min-width:200px;max-width:280px;
  padding:9px 14px;background:rgba(0,0,0,.28);
  border:1px solid var(--line);border-radius:var(--r-sm);
  color:var(--text);font-size:14px;font-family:var(--mono);
  outline:none;letter-spacing:.04em;transition:border-color .15s;
}
.list-filter-input:focus{border-color:var(--amber)}
.list-filter-select{
  padding:9px 14px;background:rgba(0,0,0,.28);
  border:1px solid var(--line);border-radius:var(--r-sm);
  color:var(--text);font-family:var(--mono);font-size:11px;
  letter-spacing:.04em;cursor:pointer;outline:none;
  transition:border-color .15s;
}
.list-filter-select:focus{border-color:var(--amber)}
.list-filter-label{
  display:flex;align-items:center;gap:7px;
  font-family:var(--mono);font-size:11px;color:var(--dim);
  cursor:pointer;white-space:nowrap;letter-spacing:.04em;
}
.list-filter-label input[type=checkbox]{accent-color:var(--amber);width:14px;height:14px}
.list-count{font-family:var(--mono);font-size:11px;color:var(--dim);margin-bottom:20px;min-height:16px}

/* ── Guest SEO list (SSR fallback) ── */
.g-seo-section{margin-bottom:32px}
.g-seo-cat-head{
  font-family:var(--mono);font-size:9px;color:var(--amber2);
  letter-spacing:.14em;text-transform:uppercase;
  padding-bottom:8px;margin-bottom:0;
  border-bottom:1px solid var(--line);
}
.g-seo-row{
  display:flex;gap:16px;align-items:flex-start;
  padding:16px 0;border-bottom:1px solid var(--line);
  text-decoration:none;transition:background .12s;
}
.g-seo-row:hover{background:rgba(255,255,255,.02)}
.g-seo-row:last-child{border-bottom:none}
.g-seo-avatar{
  width:56px;height:56px;border-radius:50%;flex-shrink:0;
  object-fit:cover;object-position:top;
  border:1px solid var(--line2);
}
.g-seo-avatar-init{
  width:56px;height:56px;border-radius:50%;flex-shrink:0;
  background:var(--panel2);border:1px solid var(--line2);
  display:flex;align-items:center;justify-content:center;
}
.g-seo-avatar-init span{
  font-family:var(--disp);font-size:20px;color:var(--amber2);opacity:.6;letter-spacing:.04em;
}
.g-seo-body{flex:1;min-width:0}
.g-seo-name{
  font-family:var(--disp);font-size:22px;letter-spacing:.04em;
  color:var(--text);margin-bottom:2px;line-height:1;display:block;
  text-decoration:none;transition:color .14s;
}
.g-seo-row:hover .g-seo-name{color:var(--amber2)}
.g-seo-title{font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:.04em;margin-bottom:5px}
.g-seo-excerpt{font-family:var(--body);font-size:14px;color:var(--dim);line-height:1.6}
.g-seo-quote{
  font-family:var(--body);font-style:italic;font-size:13px;color:var(--dim);
  margin-top:6px;border-left:1px solid var(--line2);padding-left:10px;opacity:.8;
}
.g-seo-mem{font-size:12px;color:var(--amber);font-weight:400;margin-left:6px}

/* ══════════════════════════════════════════════════════════
   EPISODES / TRANSMISSIONS LISTING
   ══════════════════════════════════════════════════════════ */

/* ══════════════════════════════════════════════════════════
   TRANSMISSIONS PAGE — episodes list, grid, archive
   ══════════════════════════════════════════════════════════ */

/* ── Page header ── */
.tx-page-header{padding:48px 0 32px}
.tx-page-eyebrow{
  font-family:var(--mono);font-size:9px;color:var(--amber2);
  letter-spacing:.24em;text-transform:uppercase;
  margin-bottom:14px;display:flex;align-items:center;gap:8px;
}
.tx-live-pill{
  display:inline-flex;align-items:center;gap:4px;
  background:rgba(200,32,32,.15);
  border:1px solid rgba(200,32,32,.3);
  color:var(--live2);border-radius:3px;
  font-size:9px;padding:2px 8px;letter-spacing:.1em;
  animation:pulse-live 1.5s ease-in-out infinite;
}
.tx-page-h1{
  font-family:var(--disp);
  font-size:clamp(52px,7vw,76px);
  letter-spacing:.04em;line-height:1;
  margin-bottom:16px;
}
.tx-page-desc{
  font-family:var(--body);font-size:17px;
  color:var(--muted);line-height:1.7;
  max-width:640px;margin-bottom:16px;
}
.tx-page-stats{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
}
.tx-stat{display:flex;align-items:baseline;gap:5px}
.tx-stat-n{
  font-family:var(--disp);font-size:22px;color:var(--text);
  letter-spacing:.04em;line-height:1;
}
.tx-stat-l{
  font-family:var(--mono);font-size:9px;color:var(--dim);
  letter-spacing:.1em;
}
.tx-stat-sep{color:var(--line2);font-size:13px}
.tx-stat-cats{
  font-family:var(--mono);font-size:10px;color:var(--dim);
  letter-spacing:.06em;
}

/* ── Controls bar ── */
.tx-controls{
  display:flex;align-items:center;gap:16px;
  margin-bottom:20px;flex-wrap:wrap;
}
.tx-view-toggle{
  display:flex;background:var(--panel);
  border:1px solid var(--line);border-radius:4px;
  overflow:hidden;flex-shrink:0;
}
.tx-view-btn{
  font-family:var(--mono);font-size:11px;
  padding:8px 14px;letter-spacing:.06em;
  background:transparent;border:none;
  color:var(--dim);cursor:pointer;
  transition:background .14s,color .14s;
  border-right:1px solid var(--line);
}
.tx-view-btn:last-child{border-right:none}
.tx-view-btn:hover{color:var(--text);background:rgba(255,255,255,.04)}
.tx-view-btn.active{
  background:rgba(242,155,24,.1);
  color:var(--amber2);
}
.tx-filter-row{
  display:flex;align-items:center;gap:8px;flex:1;flex-wrap:wrap;
}
.tx-search-input{
  flex:1;min-width:160px;
  padding:8px 12px;
  background:var(--panel);
  border:1px solid var(--line);border-radius:4px;
  color:var(--text);font-family:var(--mono);font-size:12px;
  outline:none;transition:border-color .14s;
}
.tx-search-input:focus{border-color:var(--amber)}
.tx-filter-select{
  padding:8px 10px;
  background:var(--panel);
  border:1px solid var(--line);border-radius:4px;
  color:var(--muted);font-family:var(--mono);font-size:11px;
  outline:none;cursor:pointer;letter-spacing:.04em;
  transition:border-color .14s;
}
.tx-filter-select:focus{border-color:var(--amber)}
.tx-count-label{
  font-family:var(--mono);font-size:10px;
  color:var(--dim);letter-spacing:.06em;
  margin-bottom:16px;
}

/* ── HQ badge ── */
.tx-hq-badge{
  font-family:var(--mono);font-size:8px;font-weight:700;
  letter-spacing:.1em;color:var(--green);
  border:1px solid var(--green3);
  padding:1px 6px;border-radius:2px;
  flex-shrink:0;
}
.tx-hq-card{
  position:absolute;top:8px;right:8px;
  background:rgba(8,11,18,.8);
}

/* ── HERO card ── */
.tx-hero-mount{margin-bottom:24px}
.tx-hero{
  position:relative;
  display:block;text-decoration:none;
  border:1px solid var(--line);border-radius:6px;
  overflow:hidden;min-height:280px;
  display:flex;flex-direction:column;
  justify-content:flex-end;
  transition:border-color .2s;
  color:var(--text);
}
.tx-hero:hover{border-color:rgba(98,230,162,.3)}
.tx-hero:hover .tx-hero-cta{color:var(--green)}
.tx-hero-bg{position:absolute;inset:0}
.tx-hero-bg img{
  width:100%;height:100%;
  object-fit:cover;object-position:center;
  opacity:.45;
}
.tx-hero-veil{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(8,11,18,.97) 0%,rgba(8,11,18,.55) 50%,rgba(8,11,18,.2) 100%);
}
.tx-hero-bg--gen{
  background:linear-gradient(135deg,var(--panel2) 0%,var(--panel) 100%);
}
.tx-hero-edit{
  position:absolute;top:12px;right:12px;z-index:2;
}
.tx-hero-body{
  position:relative;z-index:1;
  padding:28px 32px;
}
.tx-hero-date{
  display:flex;align-items:baseline;gap:6px;margin-bottom:12px;
}
.tx-hero-mon{
  font-family:var(--mono);font-size:11px;
  color:var(--amber2);letter-spacing:.1em;
}
.tx-hero-day{
  font-family:var(--mono);font-size:28px;
  font-weight:700;color:var(--text);line-height:1;
}
.tx-hero-yr{
  font-family:var(--mono);font-size:11px;
  color:var(--dim);letter-spacing:.06em;
}
.tx-hero-cat{
  font-family:var(--mono);font-size:10px;
  color:var(--amber2);letter-spacing:.12em;
  text-transform:uppercase;margin-bottom:8px;
}
.tx-hero-title{
  font-family:var(--body);font-size:clamp(24px,3.5vw,36px);
  font-weight:700;color:#fff;line-height:1.15;
  margin-bottom:10px;max-width:700px;
}
.tx-hero-guest{
  display:block;font-family:var(--mono);font-size:12px;
  color:var(--muted);letter-spacing:.04em;
  margin-bottom:10px;text-decoration:none;
  transition:color .14s;
}
.tx-hero-guest:hover{color:var(--text)}
.tx-hero-guest-title{color:var(--dim)}
.tx-hero-desc{
  font-size:14px;color:var(--dim);
  line-height:1.7;max-width:600px;margin:0 0 16px;
}
.tx-hero-cta{
  font-family:var(--mono);font-size:11px;
  color:var(--blue);letter-spacing:.1em;
  display:flex;align-items:center;gap:8px;
  transition:color .14s;
}

/* ── GRID ── */
.tx-grid-inner{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin-bottom:32px;
}
/* ── GRID card ── */
.tx-card{
  display:flex;flex-direction:column;
  border:1px solid var(--line);border-radius:6px;
  overflow:hidden;background:var(--panel);
  text-decoration:none;color:var(--text);
  transition:border-color .2s,transform .15s;
  position:relative;
}
.tx-card:hover{
  border-color:rgba(98,230,162,.3);
  transform:translateY(-2px);
}
.tx-card-edit{
  position:absolute;top:8px;right:8px;z-index:2;
}
/* card image area */
.tx-card-img{
  position:relative;height:148px;overflow:hidden;
  background:var(--panel2);flex-shrink:0;
}
.tx-card-img img{
  width:100%;height:100%;
  object-fit:cover;object-position:top;
  opacity:.65;transition:opacity .2s;
}
.tx-card:hover .tx-card-img img{opacity:.8}
.tx-card-img-veil{
  position:absolute;inset:0;
  background:linear-gradient(to top,var(--panel) 0%,transparent 55%);
}
.tx-card-date-over{
  position:absolute;top:10px;left:12px;
}
.tx-cdo-mon{
  display:block;font-family:var(--mono);font-size:8px;
  color:var(--amber2);letter-spacing:.1em;
}
.tx-cdo-day{
  display:block;font-family:var(--mono);font-size:24px;
  font-weight:700;color:#fff;line-height:1;
}
/* card no-image top */
.tx-card-top{
  height:72px;background:var(--panel2);
  border-bottom:1px solid var(--line);
  display:flex;align-items:center;
  padding:0 16px;justify-content:space-between;
  flex-shrink:0;
}
.tx-card-date{display:flex;flex-direction:column;gap:1px}
.tx-cd-mon{
  font-family:var(--mono);font-size:8px;
  color:var(--amber2);letter-spacing:.1em;
}
.tx-cd-day{
  font-family:var(--mono);font-size:28px;
  font-weight:700;color:var(--text);line-height:1;
}
.tx-cd-yr{
  font-family:var(--mono);font-size:8px;
  color:var(--dim);letter-spacing:.06em;
}
.tx-card-cat-stub{
  font-family:var(--mono);font-size:9px;
  color:var(--dim);letter-spacing:.1em;
  text-transform:uppercase;
}
/* card body */
.tx-card-body{padding:14px 16px 16px;flex:1;display:flex;flex-direction:column;gap:6px}
.tx-card-cat{
  font-family:var(--mono);font-size:8px;
  color:var(--amber2);letter-spacing:.12em;
  text-transform:uppercase;
}
.tx-card-title{
  font-family:var(--body);font-size:17px;
  font-weight:700;color:var(--text);
  line-height:1.25;
}
.tx-card-guest-wrap{}
.tx-card-guest,.tx-card-guest-link{
  font-family:var(--mono);font-size:10px;
  color:var(--muted);text-decoration:none;
  transition:color .14s;
}
.tx-card-guest-link:hover{color:var(--text)}
.tx-card-desc{
  font-size:12px;color:var(--dim);
  line-height:1.6;
  display:-webkit-box;-webkit-line-clamp:2;
  -webkit-box-orient:vertical;overflow:hidden;
  margin-top:auto;padding-top:4px;
}

/* ── LIST view ── */
.tx-list{display:flex;flex-direction:column}
.tx-row{
  display:flex;align-items:center;gap:14px;
  padding:14px 0;border-bottom:1px solid var(--line);
  text-decoration:none;color:var(--text);
  transition:background .12s;
}
.tx-row:last-child{border-bottom:none}
.tx-row:hover{background:rgba(255,255,255,.02)}
.tx-row:hover .tx-row-arrow{color:var(--amber2)}
.tx-row-date{
  flex-shrink:0;width:44px;text-align:center;
  display:flex;flex-direction:column;align-items:center;
  gap:1px;
}
.tx-rd-mon{
  font-family:var(--mono);font-size:8px;
  color:var(--amber2);letter-spacing:.1em;
}
.tx-rd-day{
  font-family:var(--disp);font-size:26px;
  color:var(--text);line-height:1;
}
.tx-rd-yr{
  font-family:var(--mono);font-size:7px;
  color:var(--dim);letter-spacing:.06em;
}
.tx-row-photo{
  width:40px;height:40px;border-radius:50%;
  object-fit:cover;flex-shrink:0;
  border:1px solid var(--line);
}
.tx-row-photo--init{
  display:flex;align-items:center;justify-content:center;
  background:var(--panel2);
  font-family:var(--disp);font-size:18px;
  color:var(--amber2);
}
.tx-row-body{flex:1;min-width:0}
.tx-row-title{
  font-family:var(--body);font-size:16px;
  font-weight:600;color:var(--text);
  line-height:1.3;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.tx-row-guest-wrap{margin-top:2px}
.tx-row-guest,.tx-row-guest-link{
  font-family:var(--mono);font-size:9px;
  color:var(--dim);text-decoration:none;
  letter-spacing:.06em;transition:color .14s;
}
.tx-row-guest-link:hover{color:var(--muted)}
.tx-row-cat{
  display:inline-block;
  font-family:var(--mono);font-size:8px;
  color:var(--dim);letter-spacing:.1em;
  border:1px solid var(--line);
  padding:1px 5px;border-radius:2px;
  margin-top:4px;
}
.tx-row-meta{
  flex-shrink:0;display:flex;align-items:center;gap:8px;
}
.tx-row-play{
  font-size:10px;color:var(--green);
  background:rgba(98,230,162,.1);
  padding:3px 6px;border-radius:3px;
}
.tx-row-arrow{
  font-family:var(--mono);font-size:12px;
  color:var(--dim);transition:color .14s;
}

/* ── Load more ── */
.tx-load-more{
  text-align:center;margin-top:32px;
  padding-top:24px;border-top:1px solid var(--line);
}
.tx-load-btn{
  display:inline-flex;align-items:center;gap:10px;
  padding:12px 28px;
  background:rgba(255,255,255,.04);
  border:1px solid var(--line2);border-radius:4px;
  font-family:var(--mono);font-size:11px;
  color:var(--muted);letter-spacing:.06em;
  cursor:pointer;transition:all .15s;
}
.tx-load-btn:hover{border-color:var(--amber);color:var(--amber2)}
.tx-load-rem{
  font-size:10px;color:var(--dim);
}
.tx-no-results{
  padding:48px 0;text-align:center;
  font-family:var(--body);font-size:18px;color:var(--dim);
}

/* ── Empty state (pre-launch) ── */
.tx-empty-state{
  display:flex;flex-direction:column;align-items:center;
  padding:80px 0;gap:12px;
}
.tx-empty-icon{font-size:40px;opacity:.3;margin-bottom:4px}
.tx-empty-head{
  font-family:var(--body);font-size:22px;
  font-weight:700;color:var(--text);
}
.tx-empty-sub{
  font-family:var(--body);font-size:15px;color:var(--muted);
}
.tx-empty-btn{
  margin-top:12px;
  display:inline-block;
  padding:12px 28px;
  background:rgba(242,155,24,.12);
  border:1px solid rgba(242,155,24,.3);
  color:var(--amber2);text-decoration:none;
  font-family:var(--mono);font-size:11px;
  letter-spacing:.1em;border-radius:4px;
  transition:all .15s;
}
.tx-empty-btn:hover{background:rgba(242,155,24,.2)}

/* ── ARCHIVE view ── */
.tx-archive{display:flex;flex-direction:column;gap:10px}
.txa-year{
  border:1px solid var(--line);
  border-radius:6px;overflow:hidden;
}
.txa-year-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 22px;
  background:var(--panel2);
  cursor:pointer;user-select:none;
  transition:background .12s;
}
.txa-year-head:hover{background:rgba(255,255,255,.04)}
.txa-year-label{display:flex;align-items:baseline;gap:12px}
.txa-yr-num{
  font-family:var(--body);font-size:26px;
  font-weight:700;color:var(--green);line-height:1;
}
.txa-yr-count{
  font-family:var(--mono);font-size:10px;
  color:var(--dim);letter-spacing:.06em;
}
.txa-year-body{}
.txa-month{border-top:1px solid var(--line)}
.txa-month-head{
  display:flex;align-items:center;gap:10px;
  padding:11px 22px 11px 32px;
  background:rgba(255,255,255,.02);
  cursor:pointer;user-select:none;
  transition:background .12s;
}
.txa-month-head:hover{background:rgba(255,255,255,.04)}
.txa-mo-label{
  font-family:var(--mono);font-size:12px;
  color:var(--muted);font-weight:600;
  letter-spacing:.04em;flex:1;
}
.txa-mo-count{
  font-family:var(--mono);font-size:10px;color:var(--dim);
}
.txa-toggle-arrow{
  font-family:var(--mono);font-size:9px;
  color:var(--dim);flex-shrink:0;
}
.txa-month-body{}
.txa-ep{
  display:flex;align-items:center;gap:14px;
  padding:11px 22px 11px 44px;
  border-top:1px solid var(--line);
  text-decoration:none;color:var(--text);
  transition:background .12s;
}
.txa-ep:hover{background:var(--panel2)}
.txa-ep-date{
  flex-shrink:0;width:36px;text-align:center;
}
.txa-ed-mon{
  display:block;font-family:var(--mono);font-size:7px;
  color:var(--amber2);letter-spacing:.1em;
}
.txa-ed-day{
  display:block;font-family:var(--mono);font-size:20px;
  font-weight:700;color:var(--text);line-height:1;
}
.txa-ep-photo{
  width:32px;height:32px;border-radius:50%;
  object-fit:cover;flex-shrink:0;
  border:1px solid var(--line);opacity:.8;
}
.txa-ep-body{flex:1;min-width:0}
.txa-ep-title{
  font-family:var(--body);font-size:15px;
  font-weight:600;color:var(--text);line-height:1.3;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.txa-ep-guest{
  font-family:var(--mono);font-size:9px;
  color:var(--dim);margin-top:2px;
}
.txa-ep-meta{
  display:flex;align-items:center;gap:6px;flex-shrink:0;
}
.txa-ep-cat{
  font-family:var(--mono);font-size:8px;
  color:var(--dim);border:1px solid var(--line2);
  padding:1px 5px;border-radius:2px;
}

/* ── SSR fallback ── */
.ep-seo-row{
  display:flex;gap:16px;align-items:flex-start;
  padding:18px 0;border-bottom:1px solid var(--line);
  text-decoration:none;color:var(--text);
  transition:background .12s;
}
.ep-seo-row:hover{background:rgba(255,255,255,.02)}
.ep-seo-date{
  flex-shrink:0;width:44px;text-align:center;
  display:flex;flex-direction:column;align-items:center;
}
.ep-seo-date-mon{font-family:var(--mono);font-size:8px;color:var(--amber2);letter-spacing:.1em}
.ep-seo-date-day{font-family:var(--disp);font-size:26px;color:var(--text);line-height:1}
.ep-seo-date-yr{font-family:var(--mono);font-size:8px;color:var(--dim);letter-spacing:.06em}
.ep-seo-body{flex:1;min-width:0}
.ep-seo-title{
  font-family:var(--body);font-size:16px;font-weight:700;
  color:var(--text);display:block;margin-bottom:4px;
}
.ep-seo-guest{
  font-family:var(--mono);font-size:10px;color:var(--muted);margin-bottom:4px;
}
.ep-seo-guest a{color:inherit;text-decoration:none}
.ep-seo-guest a:hover{color:var(--text)}
.ep-seo-time{font-family:var(--mono);font-size:9px;color:var(--dim);letter-spacing:.04em}
.ep-seo-excerpt{
  font-family:var(--body);font-size:13px;color:var(--muted);
  line-height:1.6;margin:6px 0;
}
.ep-seo-cat{
  font-family:var(--mono);font-size:8px;color:var(--dim);
  border:1px solid var(--line);padding:1px 6px;border-radius:2px;
  display:inline-block;margin-top:4px;letter-spacing:.08em;
}

/* ── EPISODE DETAIL admin bar ── */
.edc-admin-bar{margin-bottom:16px}
.edc-edit-btn{
  background:#3DBA6E;color:#0B0E14;
  border:none;border-radius:3px;
  padding:8px 16px;
  font-family:var(--mono);font-size:11px;
  font-weight:600;cursor:pointer;letter-spacing:.04em;
  transition:opacity .14s;
}
.edc-edit-btn:hover{opacity:.85}

/* ── RESPONSIVE ── */
@media(max-width:1050px){
  .tx-grid-inner{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:640px){
  .tx-page-h1{font-size:clamp(42px,11vw,60px)}
  .tx-grid-inner{grid-template-columns:1fr}
  .tx-controls{flex-direction:column;align-items:stretch}
  .tx-view-toggle{justify-content:stretch}
  .tx-view-btn{flex:1;text-align:center}
  .tx-filter-row{flex-direction:column}
  .tx-search-input,.tx-filter-select{width:100%}
  .tx-hero-body{padding:20px}
  .tx-hero-title{font-size:22px}
  .txa-ep{padding-left:22px}
}

/* ══════════════════════════════════════════════════════════
   ADMIN BAR (top bar for logged-in admin)
   ══════════════════════════════════════════════════════════ */

#admin-bar,
.adm-top{
  position:fixed;top:0;left:0;right:0;z-index:9999;
  background:#11141C;border-bottom:1px solid #252D3F;
  height:36px;display:flex;align-items:center;
  padding:0 12px;gap:0;
  font-family:'Space Mono',monospace;font-size:11px;
}
.adm-brand{
  color:#3DBA6E;font-weight:600;text-decoration:none;
  padding:0 10px;height:36px;display:flex;align-items:center;
  transition:color .14s;
}
.adm-brand:hover{color:#62e6a2}
.adm-sep{color:#252D3F;padding:0 2px}
.adm-link{
  color:#8694A6;text-decoration:none;
  padding:0 8px;height:36px;display:flex;align-items:center;
  transition:color .14s;
}
.adm-link:hover{color:var(--amber2)}
.adm-green{color:#3DBA6E}
.adm-orange{color:#C8872A}
.adm-live-badge{
  color:#D63B2F;font-weight:600;font-size:10px;
  letter-spacing:.05em;padding:0 8px;
  animation:abp 2s infinite;
}

/* Dropdown menus */
.adm-drop{position:relative;height:36px;display:flex;align-items:center}
.adm-drop-trigger{
  color:#8694A6;cursor:pointer;padding:0 8px;
  transition:color .14s;
}
.adm-drop-trigger:hover{color:var(--amber2)}
.adm-drop .abd{
  display:none;position:absolute;top:36px;left:0;
  background:#161B28;border:1px solid #252D3F;
  border-top:none;min-width:200px;
  box-shadow:0 8px 24px rgba(0,0,0,.5);z-index:10000;
}
.adm-drop-item{
  display:block;padding:8px 16px;
  color:#B0BEC5;text-decoration:none;
  font-size:12px;border-bottom:1px solid #1C2333;
  transition:background .12s,color .12s;
}
.adm-drop-item:hover{background:#1C2333;color:var(--amber2)}
.adm-drop-item--last{border-bottom:none}

/* Right side of bar */
.adm-right{
  margin-left:auto;display:flex;align-items:center;gap:10px;
}
#ie-mode-toggle{
  background:rgba(98,230,162,.08);
  border:1px solid rgba(98,230,162,.2);
  color:#3DBA6E;
  font-family:'Space Mono',monospace;font-size:10px;
  letter-spacing:.08em;padding:4px 12px;border-radius:3px;
  cursor:pointer;transition:all .2s;
}
#ie-mode-toggle:hover{background:rgba(98,230,162,.15);border-color:rgba(98,230,162,.4)}
#ie-mode-toggle.active{
  background:rgba(98,230,162,.18);border-color:#3DBA6E;font-weight:700;
}
.adm-view{color:#6B7B8D;text-decoration:none;font-size:11px;transition:color .14s}
.adm-view:hover{color:var(--amber2)}
.adm-user{color:#6B7B8D}
.adm-logout{color:#D63B2F;text-decoration:none;font-size:11px;transition:color .14s}
.adm-logout:hover{color:#ff6666}

/* Body padding when admin bar is present */
body.has-admin-bar{padding-top:36px}
header.has-admin-bar{top:36px!important}
.freq-bar,.freq-bar+div{position:relative;z-index:1}
@keyframes abp{0%,100%{opacity:1}50%{opacity:.5}}

/* ── Mobile schedule bar ── */
.mob-sched-bar{display:none}
.mob-sched-toggle{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 14px;background:var(--panel);
  border:1px solid var(--line);border-radius:6px;
  cursor:pointer;margin-bottom:2px;
}
.mob-sched-info{display:flex;align-items:center;gap:10px}
.mob-sched-dot{
  width:7px;height:7px;border-radius:50%;
  background:var(--amber2);opacity:.8;flex-shrink:0;
}
.mob-sched-label{font-family:var(--mono);font-size:9px;color:var(--amber2);letter-spacing:.1em}
.mob-sched-name{font-family:var(--body);font-size:15px;font-weight:600;color:var(--text)}
.mob-sched-date{font-family:var(--mono);font-size:11px;color:var(--amber)}
.mob-sched-arrow{font-size:9px;color:var(--dim);margin-left:4px;transition:transform .2s}
.mob-sched-bar.open .mob-sched-arrow{transform:rotate(180deg)}
.mob-sched-body{
  display:none;background:var(--panel);
  border:1px solid var(--line);border-top:none;
  border-radius:0 0 6px 6px;
  padding:12px 14px;margin-bottom:20px;
}
.mob-sched-bar.open .mob-sched-body{display:block}
.mob-sched-row{display:flex;align-items:center;gap:12px;padding:8px 0}
.mob-sched-row--bordered{border-top:1px solid var(--line)}
.mob-sched-dc{text-align:center;min-width:36px;flex-shrink:0}
.mob-sched-mon{font-family:var(--mono);font-size:9px;color:var(--amber2);letter-spacing:.08em}
.mob-sched-day{font-family:var(--body);font-size:24px;font-weight:700;color:var(--text);line-height:1}
.mob-sched-guest{font-family:var(--body);font-size:14px;font-weight:600;color:var(--text)}
.mob-sched-topic{font-size:12px;color:var(--dim)}
.mob-sched-time{font-family:var(--mono);font-size:10px;color:var(--dim);margin-top:2px}

/* ============================================================
   PRESERVED BARTGRAVES ENHANCEMENTS
   Restores guest groups/photos, mini players, unified transmission
   details, and In Memoriam search/cards after the Transmissions update.
   ============================================================ */
.dep-no-date{font-size:22px;color:var(--muted)}
.dos-ep-body{min-width:0;flex:1}
.dos-ep-title{transition:color .15s ease}
.dos-ep-meta-line{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0 0}
.dos-ep-runtime{
  display:inline-flex;
  align-items:center;
  min-height:18px;
  padding:2px 7px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:6px;
  font-family:var(--mono);
  font-size:9px;
  letter-spacing:.08em;
  color:var(--muted);
  background:rgba(255,255,255,.025);
}
.dos-ep-action{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
}
.dos-mini-play{
  width:34px;
  height:34px;
  border-radius:50%;
  border:1px solid rgba(99,209,137,.55);
  background:radial-gradient(circle at 35% 30%,rgba(99,209,137,.38),rgba(99,209,137,.12) 50%,rgba(5,12,18,.9));
  color:#aef0bf;
  box-shadow:0 0 0 1px rgba(0,0,0,.35),0 0 18px rgba(99,209,137,.10);
  display:inline-grid;
  place-items:center;
  cursor:pointer;
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.dos-mini-play:hover{transform:translateY(-1px) scale(1.04);border-color:rgba(99,209,137,.9);box-shadow:0 0 0 1px rgba(0,0,0,.35),0 0 22px rgba(99,209,137,.22)}
.dos-mini-play .dmp-pause{display:none;font-family:var(--mono);font-size:12px;letter-spacing:-.15em;transform:translateX(-1px)}
.dos-ep-row.is-playing .dos-mini-play .dmp-play{display:none}
.dos-ep-row.is-playing .dos-mini-play .dmp-pause{display:block}
.dos-ep-row.is-playing .dos-mini-play{border-color:rgba(242,155,24,.82);color:var(--amber2);background:radial-gradient(circle at 35% 30%,rgba(242,155,24,.35),rgba(242,155,24,.10) 52%,rgba(5,12,18,.92));box-shadow:0 0 24px rgba(242,155,24,.18)}
.dos-ep-arrow{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border-radius:50%;
  color:var(--muted);
  text-decoration:none;
  transition:color .15s ease, background .15s ease;
}
.dos-ep-arrow:hover{color:var(--amber2);background:rgba(255,255,255,.04)}
.dos-mini-player{
  grid-column:1 / -1;
  display:grid;
  grid-template-columns:76px minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  margin:2px 0 0 60px;
  padding:12px 14px;
  border:1px solid rgba(242,155,24,.20);
  border-radius:14px;
  background:linear-gradient(135deg,rgba(7,14,24,.92),rgba(13,22,34,.82));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045),0 14px 34px rgba(0,0,0,.22);
}
.dos-mini-player[hidden]{display:none!important}
.dmp-wave{height:28px;display:flex;align-items:center;gap:3px;overflow:hidden}
.dmp-wave span{
  width:3px;
  height:10px;
  border-radius:999px;
  background:linear-gradient(to top,rgba(242,155,24,.34),rgba(99,209,137,.78));
  opacity:.72;
}
.dos-ep-row.is-playing .dmp-wave span{animation:naMiniBars .72s ease-in-out infinite alternate}
.dos-ep-row.is-playing .dmp-wave span:nth-child(2n){animation-duration:.55s}.dos-ep-row.is-playing .dmp-wave span:nth-child(3n){animation-duration:.9s}.dos-ep-row.is-playing .dmp-wave span:nth-child(4n){animation-duration:.65s}
@keyframes naMiniBars{from{height:7px;opacity:.45}to{height:27px;opacity:1}}
.dmp-label{font-family:var(--mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:var(--amber2);margin-bottom:3px}
.dmp-title{font-size:13px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dmp-track{height:4px;margin-top:8px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}
.dmp-track span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--amber2),#63d189);border-radius:inherit}
.dmp-time{font-family:var(--mono);font-size:11px;color:var(--muted);min-width:42px;text-align:right}
@media(max-width:640px){
  .dos-appearances .dos-ep-row{grid-template-columns:1fr;gap:8px}
  .dos-ep-action{justify-content:flex-start;margin-left:60px}
  .dos-mini-player{margin-left:0;grid-template-columns:58px minmax(0,1fr);}
  .dmp-time{grid-column:2;text-align:left}
}

/* ─────────────────────────────────────────────────────────────
   Guest group member photos
   Adds real thumbnails beside linked individual members while
   preserving the dossier/list styling when no photo exists.
───────────────────────────────────────────────────────────── */
.dos-member-avatar-wrap{
  flex-shrink:0;
  width:52px;
  min-width:52px;
  height:52px;
  border-radius:6px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(210,174,109,.22);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.25);
}
.dos-member-avatar{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  filter:saturate(.95) contrast(1.04);
}
.dos-member-initials{
  font-family:var(--disp);
  font-size:20px;
  line-height:1;
  color:var(--text);
  letter-spacing:.03em;
}
.dos-link-avatar{
  width:34px;
  min-width:34px;
  height:34px;
  border-radius:5px;
  overflow:hidden;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(210,174,109,.18);
  color:var(--text);
  font-family:var(--disp);
  font-size:13px;
  line-height:1;
}
.dos-link-avatar img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.dos-link-avatar span{
  display:block;
  transform:translateY(1px);
}
.dos-card .dos-link-label{
  line-height:1.25;
}
@media (max-width:640px){
  .dos-member-avatar-wrap{width:46px;min-width:46px;height:46px}
  .dos-link-avatar{width:30px;min-width:30px;height:30px}
}

/* ─────────────────────────────────────────────────────────────
   Guest group member rows: compact dossier layout
   Replaces the appearance-row behavior for group member lists so
   member pages do not create tall empty spaces.
───────────────────────────────────────────────────────────── */
.dos-member-list{
  display:flex;
  flex-direction:column;
  border:1px solid rgba(255,255,255,.07);
  border-radius:12px;
  overflow:hidden;
  background:rgba(8,14,24,.28);
}
.dos-member-row{
  display:grid;
  grid-template-columns:58px minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  min-height:0;
  padding:14px 16px;
  border-bottom:1px solid rgba(255,255,255,.065);
  color:inherit;
  text-decoration:none;
  background:linear-gradient(90deg,rgba(255,255,255,.018),transparent);
  transition:background .14s ease,border-color .14s ease,transform .14s ease;
}
.dos-member-row:last-child{border-bottom:none}
.dos-member-row:hover{
  background:linear-gradient(90deg,rgba(242,155,24,.075),rgba(255,255,255,.018));
  border-color:rgba(242,155,24,.20);
}
.dos-member-row:hover .dos-ep-title{color:var(--amber2)}
.dos-member-row:hover .dos-ep-arrow{color:var(--amber2);transform:translateX(2px)}
.dos-member-row .dos-ep-body{min-width:0}
.dos-member-row .dos-ep-title{
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.dos-member-row .dos-ep-action{
  width:auto;
  display:flex;
  align-items:center;
  justify-content:flex-end;
}
.dos-member-avatar-wrap{margin:0}
.dos-photo,
.dos-member-avatar,
.dos-link-avatar img,
.guest-card img,
.adm-photo-preview{
  object-fit:cover;
}
@media (max-width:640px){
  .dos-member-row{grid-template-columns:50px minmax(0,1fr) auto;padding:12px 12px;gap:12px}
}

/* Admin guest photo focus controls */
.adm-photo-focus-panel{
  margin-top:12px;
  padding:12px;
  border:1px solid var(--bd);
  border-radius:var(--r-sm);
  background:rgba(255,255,255,.025);
}
.adm-photo-focus-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}
.adm-focus-range label{
  display:flex;
  justify-content:space-between;
  gap:12px;
  font-family:var(--mono);
  font-size:10px;
  color:var(--dm);
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:6px;
}
.adm-focus-range input[type=range]{width:100%}
.adm-focus-presets{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:10px;
}
.adm-focus-preset{
  border:1px solid var(--bd);
  background:rgba(255,255,255,.035);
  color:var(--tx);
  border-radius:999px;
  font-family:var(--mono);
  font-size:10px;
  letter-spacing:.06em;
  text-transform:uppercase;
  padding:6px 9px;
  cursor:pointer;
}
.adm-focus-preset:hover{border-color:var(--am);color:var(--am)}
@media(max-width:640px){.adm-photo-focus-grid{grid-template-columns:1fr}}

/* === Audit patch: In Memoriam + public page fail-safes === */
.mem-page{position:relative;isolation:isolate}.mem-page::before{content:"";position:absolute;inset:8rem -2rem auto -2rem;height:26rem;background:radial-gradient(circle at 18% 20%,rgba(217,181,101,.12),transparent 34%),radial-gradient(circle at 78% 18%,rgba(120,153,180,.08),transparent 38%);pointer-events:none;z-index:-1}.mem-header{position:relative;padding:clamp(2.2rem,5vw,4.5rem) 0 clamp(1.8rem,3vw,3rem);border-bottom:1px solid rgba(217,181,101,.22);margin-bottom:clamp(1.8rem,4vw,3.5rem)}.mem-header-eyebrow{font-family:var(--mono,monospace);font-size:.72rem;letter-spacing:.26em;text-transform:uppercase;color:var(--gold,#d9b565);margin-bottom:.9rem}.mem-header-h1{font-family:var(--display,serif);font-size:clamp(3.2rem,8vw,7.5rem);line-height:.86;letter-spacing:.02em;text-transform:uppercase;margin:0;color:var(--paper,#f5ead8);text-shadow:0 1px 0 rgba(0,0,0,.5)}.mem-header-intro{max-width:60rem;margin:1.3rem 0 0;color:rgba(245,234,216,.88);font-size:clamp(1.08rem,1.8vw,1.35rem);line-height:1.62}.mem-header-sub{max-width:54rem;margin:.9rem 0 0;color:rgba(245,234,216,.65);font-size:1rem;line-height:1.65}.mem-header-meta{display:inline-flex;gap:.45rem;align-items:center;margin-top:1.35rem;border:1px solid rgba(217,181,101,.25);border-radius:999px;padding:.45rem .8rem;font-family:var(--mono,monospace);font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:rgba(245,234,216,.72);background:rgba(6,10,18,.42)}.mem-header-meta span{color:var(--gold,#d9b565)}.mem-list{display:grid;gap:1rem}.mem-entry{position:relative;border:1px solid rgba(217,181,101,.18);border-radius:22px;background:linear-gradient(135deg,rgba(17,24,38,.82),rgba(8,12,20,.9));box-shadow:0 22px 60px rgba(0,0,0,.28);overflow:hidden}.mem-entry::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(217,181,101,.05),transparent 38%,rgba(255,255,255,.025));pointer-events:none}.mem-entry-hl{border-color:rgba(217,181,101,.42)}.mem-entry-bar{position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(var(--gold,#d9b565),rgba(217,181,101,.2))}.mem-entry-inner{position:relative;display:grid;grid-template-columns:minmax(96px,140px) 1fr;gap:clamp(1.1rem,3vw,2rem);padding:clamp(1.1rem,3vw,2rem);z-index:1}.mem-photo-col{display:flex;flex-direction:column;align-items:center;gap:.75rem}.mem-photo-wrap{width:112px;height:112px;border-radius:18px;overflow:hidden;border:1px solid rgba(217,181,101,.32);background:rgba(0,0,0,.25);box-shadow:0 12px 30px rgba(0,0,0,.35)}.mem-photo{width:100%;height:100%;object-fit:cover;object-position:var(--guest-photo-x,50%) var(--guest-photo-y,35%);display:block}.mem-initials{display:grid;place-items:center}.mem-initials span{font-family:var(--display,serif);font-size:2rem;color:var(--paper,#f5ead8)}.mem-years{font-family:var(--mono,monospace);font-size:.66rem;letter-spacing:.16em;color:rgba(245,234,216,.58);text-align:center}.mem-content{min-width:0}.mem-role{font-family:var(--mono,monospace);font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold,#d9b565);margin-bottom:.35rem}.mem-name{font-family:var(--display,serif);font-size:clamp(2rem,4vw,4.2rem);line-height:.95;letter-spacing:.01em;margin:0 0 .85rem;color:var(--paper,#f5ead8)}.mem-body{max-width:62rem;color:rgba(245,234,216,.82);font-size:1.05rem;line-height:1.68}.mem-body p{margin:0 0 .9rem}.mem-links{margin-top:1.15rem}.mem-link-btn{display:inline-flex;align-items:center;gap:.5rem;border:1px solid rgba(217,181,101,.35);border-radius:999px;padding:.62rem .9rem;font-family:var(--mono,monospace);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold,#d9b565);background:rgba(217,181,101,.06);text-decoration:none}.mem-link-btn:hover{background:rgba(217,181,101,.12);border-color:rgba(217,181,101,.55)}.not-found-state{border:1px solid rgba(217,181,101,.18);border-radius:22px;background:rgba(10,15,25,.72);padding:2rem;text-align:center;color:rgba(245,234,216,.76)}.not-found-code{font-family:var(--display,serif);font-size:clamp(2.5rem,6vw,5rem);color:var(--gold,#d9b565);line-height:1}.not-found-msg{margin-top:.75rem;font-family:var(--mono,monospace);font-size:.75rem;letter-spacing:.14em;text-transform:uppercase}.mem-empty-state{margin-top:1rem}@media (max-width:720px){.mem-entry-inner{grid-template-columns:1fr}.mem-photo-col{align-items:flex-start}.mem-photo-wrap{width:88px;height:88px}.mem-header-h1{font-size:clamp(2.8rem,18vw,4.6rem)}}

/* ─────────────────────────────────────────────────────────────
   Emergency restore: Episode detail unified Transmission card
   Restores the compact guest row inside Transmission Details after broader
   CSS updates overwrote the episode-specific sidebar rules.
───────────────────────────────────────────────────────────── */
.episode-transmission-card{
  overflow:hidden;
  border-color:rgba(218,165,32,.22)!important;
  background:linear-gradient(180deg,rgba(15,20,33,.97),rgba(8,12,22,.95))!important;
}
.episode-transmission-card .dossier-card-head{
  padding:14px 17px 12px;
  border-bottom:1px solid rgba(218,165,32,.17);
}
.episode-transmission-card .dossier-card-body{
  display:flex;
  flex-direction:column;
  gap:0;
  padding:0!important;
}
.episode-transmission-card .dossier-row{
  display:grid;
  grid-template-columns:minmax(86px,118px) minmax(0,1fr);
  gap:12px;
  align-items:center;
  padding:13px 17px!important;
  border-bottom:1px solid rgba(255,255,255,.065)!important;
}
.episode-transmission-card .dossier-row:last-child{border-bottom:0!important}
.episode-transmission-card .dr-key{
  color:rgba(189,177,158,.68)!important;
  font-family:var(--mono,ui-monospace,monospace);
  font-size:10px;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.episode-transmission-card .dr-val{
  color:var(--text,#eee7dd)!important;
  text-align:right;
}
.episode-transmission-card .dr-big{
  font-size:24px!important;
  color:var(--text,#f5efe6)!important;
}
.episode-transmission-card .dossier-row-guest{
  display:block!important;
  padding:16px 17px 17px!important;
  background:radial-gradient(circle at 6% 20%,rgba(218,165,32,.075),transparent 42%),linear-gradient(180deg,rgba(255,255,255,.015),rgba(0,0,0,.08));
}
.episode-transmission-card .dossier-row-guest .dr-key{
  display:block;
  margin:0 0 11px;
  color:var(--amber2,#f2b15c)!important;
}
.episode-transmission-card .dr-guest-card{
  display:block;
  width:100%;
  text-align:left!important;
}
.episode-transmission-card .tgb-inner{
  display:grid;
  grid-template-columns:62px minmax(0,1fr);
  gap:14px;
  align-items:start;
}
.episode-transmission-card .tgb-photo,
.episode-transmission-card .tgb-monogram{
  width:62px!important;
  height:62px!important;
  max-width:62px!important;
  max-height:62px!important;
  border-radius:11px!important;
  border:1px solid rgba(218,165,32,.34)!important;
  box-shadow:0 10px 24px rgba(0,0,0,.32)!important;
  flex:0 0 62px!important;
}
.episode-transmission-card .tgb-photo{
  display:block;
  object-fit:cover;
  object-position:var(--guest-photo-x,50%) var(--guest-photo-y,35%);
}
.episode-transmission-card .tgb-monogram{
  display:flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg,rgba(242,155,24,.16),rgba(8,13,23,.95));
  color:var(--amber2,#f2b15c);
  font-family:var(--disp,Georgia,serif);
  font-size:23px;
  font-weight:700;
}
.episode-transmission-card .tgb-copy{min-width:0}
.episode-transmission-card .tgb-name{
  margin:0 0 4px;
  font-family:var(--disp,Georgia,serif);
  font-size:20px;
  line-height:1.05;
  color:var(--text,#f5efe6);
}
.episode-transmission-card .tgb-title{
  margin:0 0 8px;
  font-family:var(--body,Georgia,serif);
  font-size:13px;
  line-height:1.35;
  color:var(--amber2,#f2b15c);
  font-style:italic;
}
.episode-transmission-card .tgb-bio{
  margin:0;
  font-family:var(--body,Georgia,serif);
  font-size:13.5px;
  line-height:1.58;
  color:rgba(238,231,221,.78);
}
.episode-transmission-card .tgb-link{
  margin-top:11px;
  display:inline-flex;
  color:var(--amber2,#f2b15c);
  font-family:var(--mono,ui-monospace,monospace);
  font-size:10px;
  letter-spacing:.14em;
  text-transform:uppercase;
  text-decoration:none;
}
.episode-transmission-card .tgb-link:hover{color:var(--text,#f5efe6)}
@media(max-width:720px){
  .episode-transmission-card .dossier-row{grid-template-columns:1fr;gap:4px}
  .episode-transmission-card .dr-val{text-align:left}
}
@media(max-width:520px){
  .episode-transmission-card .dossier-row,
  .episode-transmission-card .dossier-row-guest{padding-left:15px!important;padding-right:15px!important}
  .episode-transmission-card .tgb-inner{grid-template-columns:56px minmax(0,1fr);gap:12px}
  .episode-transmission-card .tgb-photo,
  .episode-transmission-card .tgb-monogram{width:56px!important;height:56px!important;max-width:56px!important;max-height:56px!important;flex-basis:56px!important}
  .episode-transmission-card .tgb-name{font-size:18px}
}

/* Memoriam archive refinement — quieter permanent-record cards */
.mem-archive{
  margin-top:clamp(2rem,4vw,4rem);
}
.mem-archive-rule{
  margin-bottom:.65rem;
}
.mem-archive-note{
  max-width:760px;
  margin:0 0 1.15rem;
  color:rgba(231,236,245,.68);
  font-size:.96rem;
  line-height:1.65;
}
.mem-archive-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.mem-archive-card{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(211,173,96,.22);
  border-radius:18px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.045), rgba(255,255,255,.015)),
    rgba(9,15,26,.76);
  box-shadow:0 18px 50px rgba(0,0,0,.24);
}
.mem-archive-card::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(circle at 18% 0%, rgba(211,173,96,.13), transparent 42%);
  opacity:.75;
}
.mem-archive-link{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:92px 1fr;
  gap:18px;
  min-height:154px;
  padding:18px;
  color:inherit;
  text-decoration:none;
}
.mem-archive-photo{
  width:92px;
  height:112px;
  border:1px solid rgba(211,173,96,.28);
  border-radius:12px;
  overflow:hidden;
  background:rgba(0,0,0,.25);
  display:flex;
  align-items:center;
  justify-content:center;
  color:#f0c66a;
  font-family:var(--font-display, serif);
  font-size:1.55rem;
  letter-spacing:.08em;
}
.mem-archive-photo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.mem-archive-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.mem-archive-topline{
  margin-bottom:.38rem;
  font:700 .66rem/1.1 var(--font-mono, monospace);
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#d3ad60;
}
.mem-archive-card h2{
  margin:0;
  color:#fff;
  font-family:var(--font-display, Georgia, serif);
  font-size:clamp(1.15rem,1.7vw,1.55rem);
  line-height:1.08;
}
.mem-archive-role{
  margin:.38rem 0 0;
  color:rgba(255,255,255,.75);
  font-size:.88rem;
  letter-spacing:.02em;
}
.mem-archive-excerpt{
  margin:.72rem 0 0;
  color:rgba(231,236,245,.72);
  font-size:.93rem;
  line-height:1.55;
}
.mem-archive-action{
  display:inline-flex;
  margin-top:.85rem;
  color:#f0c66a;
  font:800 .68rem/1 var(--font-mono, monospace);
  letter-spacing:.14em;
  text-transform:uppercase;
}
.mem-archive-card:hover,
.mem-archive-card:focus-within{
  border-color:rgba(240,198,106,.52);
  transform:translateY(-1px);
  transition:border-color .18s ease, transform .18s ease;
}
.mem-archive-card[hidden],
.mem-feature-card[hidden]{
  display:none !important;
}
.mem-featured + .mem-archive{
  border-top:1px solid rgba(255,255,255,.08);
  padding-top:clamp(1.5rem,3vw,2.5rem);
}
@media (max-width: 860px){
  .mem-archive-grid{ grid-template-columns:1fr; }
}
@media (max-width: 540px){
  .mem-archive-link{
    grid-template-columns:68px 1fr;
    gap:13px;
    padding:14px;
    min-height:126px;
  }
  .mem-archive-photo{ width:68px; height:86px; border-radius:10px; font-size:1.15rem; }
  .mem-archive-excerpt{ display:none; }
}

/* ==========================================================
   In Memoriam — Featured Memorial Files repair
   Keeps featured entries distinct from the compact archive grid.
   ========================================================== */
.mem-featured{
  margin: clamp(2rem, 5vw, 4rem) 0 clamp(2.2rem, 5vw, 4.5rem);
}
.mem-featured-grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr));
  gap: clamp(1rem, 2.5vw, 1.6rem);
  align-items: stretch;
}
.mem-feature-card{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns: minmax(120px, 180px) 1fr;
  gap: clamp(1rem, 2.5vw, 1.6rem);
  min-height: 260px;
  padding: clamp(1rem, 2.5vw, 1.35rem);
  border:1px solid rgba(229,183,94,.34);
  border-radius: 22px;
  background:
    radial-gradient(circle at 16% 12%, rgba(229,183,94,.14), transparent 34%),
    linear-gradient(145deg, rgba(14,22,36,.98), rgba(6,10,18,.97));
  box-shadow: 0 24px 70px rgba(0,0,0,.28), inset 0 0 0 1px rgba(255,255,255,.025);
}
.mem-feature-card::before{
  content:'PERMANENT RECORD';
  position:absolute;
  right: clamp(.7rem, 2vw, 1.15rem);
  top: clamp(.65rem, 2vw, 1rem);
  font-family: var(--mono, monospace);
  font-size:.62rem;
  letter-spacing:.18em;
  color: rgba(229,183,94,.42);
  pointer-events:none;
}
.mem-feature-card::after{
  content:'';
  position:absolute;
  inset:auto -18% -45% 35%;
  height:190px;
  background: radial-gradient(circle, rgba(229,183,94,.12), transparent 62%);
  transform: rotate(-8deg);
  pointer-events:none;
}
.mem-feature-photo-wrap{
  position:relative;
  z-index:1;
  align-self:stretch;
  min-height:220px;
  border-radius: 16px;
  overflow:hidden;
  border:1px solid rgba(229,183,94,.35);
  background: rgba(255,255,255,.035);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.04);
}
.mem-feature-photo{
  width:100%;
  height:100%;
  min-height:220px;
  display:block;
  object-fit:cover;
  object-position:center center;
  filter:saturate(.92) contrast(1.05);
}
.mem-feature-photo.mem-initials{
  display:flex;
  align-items:center;
  justify-content:center;
  font-family: var(--display, Georgia, serif);
  font-size: clamp(2.4rem, 6vw, 4.6rem);
  line-height:1;
  color: rgba(255,255,255,.88);
  background:
    linear-gradient(135deg, rgba(229,183,94,.18), rgba(255,255,255,.035)),
    rgba(9,15,27,.96);
}
.mem-feature-copy{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding: .35rem 0;
}
.mem-feature-kicker{
  margin-bottom:.55rem;
  font-family: var(--mono, monospace);
  font-size:.68rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color: var(--gold, #e5b75e);
}
.mem-feature-card h2{
  margin:0;
  font-family: var(--display, Georgia, serif);
  font-size: clamp(1.9rem, 4vw, 3.3rem);
  line-height:.95;
  letter-spacing:-.04em;
  color:#fff;
  text-wrap:balance;
}
.mem-feature-role,
.mem-feature-years{
  margin:.65rem 0 0;
  color: rgba(238,242,255,.82);
  font-size:.95rem;
  letter-spacing:.01em;
}
.mem-feature-years{
  font-family: var(--mono, monospace);
  letter-spacing:.14em;
  text-transform:uppercase;
  color: rgba(229,183,94,.72);
  font-size:.72rem;
}
.mem-feature-body{
  margin:1rem 0 0;
  max-width:62ch;
  color: rgba(226,232,240,.78);
  line-height:1.68;
  font-size:.96rem;
}
.mem-feature-actions{
  margin-top:1.2rem;
}
.mem-link-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:.7rem 1rem;
  border:1px solid rgba(229,183,94,.38);
  border-radius:999px;
  color: var(--gold, #e5b75e);
  text-decoration:none;
  font-family: var(--mono, monospace);
  font-size:.68rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  background: rgba(229,183,94,.06);
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.mem-link-btn:hover,
.mem-link-btn:focus-visible{
  transform: translateY(-1px);
  border-color: rgba(229,183,94,.78);
  background: rgba(229,183,94,.12);
  outline:none;
}
@media (max-width: 720px){
  .mem-feature-card{
    grid-template-columns: 1fr;
    min-height:0;
  }
  .mem-feature-photo-wrap{
    min-height:240px;
    max-height:320px;
  }
  .mem-feature-photo{
    min-height:240px;
  }
  .mem-feature-card h2{
    font-size: clamp(1.75rem, 10vw, 2.6rem);
  }
}

/* ============================================================
   Memoriam Page + Memorial Guest Dossier — final polish layer
   Keeps the archive reflective, searchable, and less “plain form”.
   ============================================================ */
.mem-page-pro{max-width:1180px;margin:0 auto;padding:0 clamp(18px,3vw,32px) clamp(56px,7vw,92px)}
.mem-page-pro .mem-header-pro{margin-top:clamp(10px,2vw,24px);padding:clamp(34px,6vw,72px) clamp(20px,4vw,44px);border:1px solid rgba(211,173,96,.24);border-radius:28px;background:linear-gradient(135deg,rgba(11,17,29,.92),rgba(8,12,21,.86)),radial-gradient(circle at 15% 0%,rgba(211,173,96,.15),transparent 40%);box-shadow:0 28px 80px rgba(0,0,0,.26);overflow:hidden}
.mem-page-pro .mem-header-pro::after{content:"MEMORIAL ARCHIVE";position:absolute;right:clamp(18px,4vw,48px);bottom:-.12em;font-family:var(--font-display,Georgia,serif);font-size:clamp(5rem,13vw,11rem);line-height:.8;color:rgba(255,255,255,.028);pointer-events:none;white-space:nowrap}
.mem-toolbar-pro{display:grid;grid-template-columns:minmax(220px,330px) 1fr;gap:clamp(16px,3vw,28px);align-items:center;margin:clamp(24px,4vw,42px) 0 clamp(24px,4vw,38px);padding:18px;border:1px solid rgba(113,130,156,.22);border-radius:22px;background:linear-gradient(135deg,rgba(255,255,255,.045),rgba(255,255,255,.018)),rgba(9,14,24,.72);box-shadow:0 16px 44px rgba(0,0,0,.18)}
.mem-toolbar-copy p{margin:.45rem 0 0;color:rgba(231,236,245,.62);font-size:.92rem;line-height:1.45}.mem-search-label{display:block;font:800 .72rem/1.1 var(--font-mono,monospace);letter-spacing:.2em;text-transform:uppercase;color:#d8b463}.mem-search-panel{min-width:0}
.mem-search-box{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;padding:0 10px 0 15px;border:1px solid rgba(211,173,96,.26);border-radius:999px;background:rgba(3,7,13,.55);box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)}
.mem-search-icon{color:#d8b463;font-size:1.05rem;opacity:.9;flex:0 0 auto}.mem-search-input{flex:1 1 auto;min-width:0;height:48px;border:0!important;outline:0!important;background:transparent!important;color:#f3ead8!important;font:500 1rem/1.2 var(--font-body,system-ui,sans-serif);box-shadow:none!important}.mem-search-input::placeholder{color:rgba(231,236,245,.42)}
.mem-search-clear{flex:0 0 auto;height:34px;padding:0 13px;border:1px solid rgba(113,130,156,.25);border-radius:999px;background:rgba(255,255,255,.04);color:rgba(231,236,245,.72);font:800 .63rem/1 var(--font-mono,monospace);letter-spacing:.13em;text-transform:uppercase;cursor:pointer}.mem-search-clear:hover{border-color:rgba(211,173,96,.45);color:#d8b463;background:rgba(211,173,96,.08)}
.mem-search-status{margin:.7rem 0 0 16px;color:rgba(231,236,245,.55);font:700 .68rem/1.1 var(--font-mono,monospace);letter-spacing:.14em;text-transform:uppercase}
.mem-section-rule{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 18px;padding-bottom:12px;border-bottom:1px solid rgba(113,130,156,.25);color:#d8b463;font:800 .72rem/1 var(--font-mono,monospace);letter-spacing:.18em;text-transform:uppercase}.mem-section-rule b{display:inline-grid;place-items:center;min-width:34px;height:24px;border:1px solid rgba(113,130,156,.28);border-radius:6px;color:rgba(231,236,245,.72);font-size:.66rem;letter-spacing:.08em}
.mem-featured{margin:clamp(22px,4vw,42px) 0 clamp(28px,5vw,56px)}.mem-featured-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2.5vw,28px)}
.mem-feature-card{position:relative;display:grid;grid-template-columns:minmax(130px,180px) 1fr;gap:clamp(18px,3vw,28px);min-height:280px;padding:clamp(18px,3vw,28px);border:1px solid rgba(211,173,96,.34);border-radius:24px;background:linear-gradient(135deg,rgba(17,24,38,.94),rgba(7,11,19,.94)),radial-gradient(circle at 20% 0%,rgba(211,173,96,.16),transparent 45%);box-shadow:0 26px 70px rgba(0,0,0,.28);overflow:hidden}.mem-feature-card::after{content:"PERMANENT RECORD";position:absolute;right:18px;top:18px;color:rgba(211,173,96,.38);font:800 .62rem/1 var(--font-mono,monospace);letter-spacing:.24em;pointer-events:none}
.mem-feature-photo-wrap{align-self:center;width:100%;aspect-ratio:4/5;max-height:230px;border:1px solid rgba(211,173,96,.36);border-radius:16px;overflow:hidden;background:rgba(0,0,0,.28);box-shadow:0 18px 44px rgba(0,0,0,.35)}.mem-feature-photo{width:100%;height:100%;display:block;object-fit:cover;object-position:var(--guest-photo-x,50%) var(--guest-photo-y,35%)}.mem-feature-copy{min-width:0;display:flex;flex-direction:column;justify-content:center;padding-top:16px}.mem-feature-kicker{margin-bottom:.65rem;color:#d8b463;font:800 .66rem/1.1 var(--font-mono,monospace);letter-spacing:.22em;text-transform:uppercase}.mem-feature-card h2{margin:0;color:#fff7e7;font-family:var(--font-display,Georgia,serif);font-size:clamp(2.3rem,4.7vw,4.7rem);line-height:.9;letter-spacing:.01em}.mem-feature-role,.mem-feature-years{margin:.6rem 0 0;color:rgba(231,236,245,.75);font-weight:700}.mem-feature-years{color:rgba(211,173,96,.8);font-family:var(--font-mono,monospace);font-size:.76rem;letter-spacing:.13em;text-transform:uppercase}.mem-feature-body{margin:1rem 0 0;max-width:38rem;color:rgba(231,236,245,.72);line-height:1.62}.mem-feature-actions{margin-top:1.25rem}
.mem-archive{margin-top:clamp(22px,4vw,50px)}.mem-archive-note{margin:0 0 18px;color:rgba(231,236,245,.64);line-height:1.6;max-width:760px}.mem-archive-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.mem-archive-card{border:1px solid rgba(113,130,156,.22);border-radius:18px;background:rgba(9,14,24,.68);overflow:hidden;transition:transform .18s ease,border-color .18s ease,background .18s ease}.mem-archive-card:hover{transform:translateY(-2px);border-color:rgba(211,173,96,.36);background:rgba(13,20,34,.78)}.mem-archive-link{display:grid;grid-template-columns:76px 1fr;gap:14px;padding:14px;color:inherit;text-decoration:none;min-height:120px}.mem-archive-photo{width:76px;height:92px;border:1px solid rgba(211,173,96,.25);border-radius:12px;overflow:hidden;background:rgba(0,0,0,.25);display:grid;place-items:center;color:#d8b463;font:800 1.2rem/1 var(--font-display,Georgia,serif);letter-spacing:.08em}.mem-archive-photo img{width:100%;height:100%;object-fit:cover;object-position:var(--guest-photo-x,50%) var(--guest-photo-y,35%);display:block}.mem-archive-topline{color:#d8b463;font:800 .6rem/1 var(--font-mono,monospace);letter-spacing:.16em;text-transform:uppercase;margin-bottom:.45rem}.mem-archive-card h2{margin:0;color:#fff7e7;font-size:1.15rem;line-height:1.08}.mem-archive-role{margin:.38rem 0 0;color:rgba(231,236,245,.67);font-size:.88rem}.mem-archive-excerpt{margin:.65rem 0 0;color:rgba(231,236,245,.55);font-size:.86rem;line-height:1.45}.mem-archive-action{display:inline-block;margin-top:.75rem;color:#d8b463;font:800 .62rem/1 var(--font-mono,monospace);letter-spacing:.13em;text-transform:uppercase}.mem-no-results{margin:1rem 0 0;padding:22px;border:1px dashed rgba(211,173,96,.3);border-radius:18px;text-align:center;color:rgba(231,236,245,.68);background:rgba(9,14,24,.55)}
.dos-memorial-panel{max-width:1180px;margin:clamp(18px,3vw,34px) auto clamp(24px,4vw,42px)!important;padding:clamp(22px,3vw,34px)!important;border:1px solid rgba(211,173,96,.30)!important;border-radius:24px!important;background:linear-gradient(135deg,rgba(14,20,33,.92),rgba(7,11,19,.94)),radial-gradient(circle at 12% 0%,rgba(211,173,96,.15),transparent 42%)!important;box-shadow:0 24px 70px rgba(0,0,0,.24)!important;color:rgba(231,236,245,.82)!important;position:relative;overflow:hidden}.dos-memorial-panel::before{content:"PERMANENT RECORD";position:absolute;right:clamp(16px,3vw,30px);top:clamp(14px,2vw,22px);color:rgba(211,173,96,.30);font:800 .62rem/1 var(--font-mono,monospace);letter-spacing:.24em}.dos-memorial-kicker{display:inline-flex;align-items:center;gap:.5rem;color:#d8b463!important;font:800 .68rem/1 var(--font-mono,monospace)!important;letter-spacing:.22em;text-transform:uppercase;margin:0 0 .75rem!important}.dos-memorial-kicker::before{content:"✦";font-size:.75rem}.dos-memorial-panel h2{margin:0 0 .9rem!important;color:#fff7e7!important;font-family:var(--font-display,Georgia,serif)!important;font-size:clamp(1.8rem,3vw,3rem)!important;line-height:1.05!important}.dos-memorial-panel p{max-width:850px;margin:0!important;color:rgba(231,236,245,.76)!important;font-size:1.02rem!important;line-height:1.7!important}.dos-memorial-link{display:inline-flex!important;margin-top:1.25rem!important;align-items:center;gap:.45rem;border:1px solid rgba(211,173,96,.33)!important;border-radius:999px!important;padding:.7rem 1rem!important;color:#d8b463!important;background:rgba(211,173,96,.06)!important;font:800 .68rem/1 var(--font-mono,monospace)!important;letter-spacing:.14em;text-transform:uppercase;text-decoration:none!important}.dos-memorial-link:hover{background:rgba(211,173,96,.12)!important;border-color:rgba(211,173,96,.5)!important}
@media(max-width:980px){.mem-featured-grid,.mem-archive-grid{grid-template-columns:1fr}.mem-toolbar-pro{grid-template-columns:1fr}}
@media(max-width:720px){.mem-page-pro{padding-left:14px;padding-right:14px}.mem-page-pro .mem-header-pro{border-radius:20px;padding:30px 18px}.mem-feature-card{grid-template-columns:1fr;min-height:0}.mem-feature-photo-wrap{width:150px;max-width:55%;aspect-ratio:1/1}.mem-archive-link{grid-template-columns:64px 1fr}.mem-archive-photo{width:64px;height:76px}.mem-search-box{border-radius:18px;align-items:stretch;flex-wrap:wrap;padding:10px 12px}.mem-search-input{height:38px}.mem-search-clear{margin-left:auto}}

/* ══════════════════════════════════════════════════════════
   TRANSMISSIONS COMPACT SEARCH / CARD REFINEMENT
   Keeps search results uniform and prevents guest photos from
   breaking outside their transmission cards.
   ══════════════════════════════════════════════════════════ */
.tx-hero-mount:empty{display:none!important}
.tx-controls{
  position:relative;
  padding:14px;
  background:linear-gradient(180deg,rgba(18,24,36,.78),rgba(10,14,23,.72));
  border:1px solid rgba(177,139,77,.25);
  border-radius:12px;
  box-shadow:0 18px 50px rgba(0,0,0,.18);
}
.tx-filter-row{gap:10px}
.tx-search-input{
  min-height:42px;
  border-radius:999px;
  padding:10px 18px 10px 38px;
  background:rgba(7,10,17,.76);
  border-color:rgba(177,139,77,.28);
  background-image:linear-gradient(transparent,transparent),
    radial-gradient(circle at 16px 50%,rgba(242,200,124,.75) 0 2px,transparent 3px);
}
.tx-search-input:focus{
  border-color:rgba(242,200,124,.72);
  box-shadow:0 0 0 3px rgba(242,200,124,.08);
}
.tx-filter-select{
  min-height:42px;
  border-radius:999px;
  padding:10px 14px;
  background-color:rgba(7,10,17,.76);
  border-color:rgba(177,139,77,.24);
}
.tx-count-label{
  margin:10px 0 18px;
  padding-left:4px;
  color:var(--amber2);
}
.tx-grid-inner--compact{
  align-items:stretch;
  grid-auto-rows:auto;
}
.tx-card--compact{
  min-height:0;
  overflow:hidden;
  contain:paint;
}
.tx-card-top--compact{
  height:auto;
  min-height:54px;
  padding:10px 16px;
}
.tx-card-date--compact{
  flex-direction:row;
  align-items:baseline;
  gap:7px;
}
.tx-card-date--compact .tx-cd-day{font-size:22px}
.tx-card-date--compact .tx-cd-yr{font-size:8px;opacity:.75}
.tx-card-badges{margin-left:auto;display:flex;align-items:center;gap:6px}
.tx-card-body--compact{
  display:grid;
  grid-template-columns:64px minmax(0,1fr);
  gap:14px;
  padding:15px 16px 17px;
  align-items:start;
}
.tx-card-thumb{
  width:64px;height:64px;
  border-radius:12px;
  overflow:hidden;
  border:1px solid rgba(177,139,77,.35);
  background:rgba(255,255,255,.035);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03);
  flex:0 0 auto;
}
.tx-card-thumb img{
  display:block;
  width:100%;height:100%;
  max-width:100%;
  object-fit:cover;
  object-position:center;
  opacity:.88;
}
.tx-card-thumb--signal{
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:var(--mono);
  font-size:14px;
  letter-spacing:.12em;
  color:var(--amber2);
}
.tx-card-copy{min-width:0;display:flex;flex-direction:column;gap:6px}
.tx-card--compact .tx-card-title{
  font-size:16px;
  line-height:1.28;
}
.tx-card--compact .tx-card-desc{
  margin-top:4px;
  padding-top:0;
  -webkit-line-clamp:3;
}
/* Compatibility guard: if an older JS still outputs the image banner,
   keep it inside the card and prevent overlarge portraits. */
.tx-card-img{height:112px;max-height:112px;overflow:hidden}
.tx-card-img img{display:block;max-width:100%;height:100%;object-fit:cover;object-position:center}

@media(max-width:760px){
  .tx-controls{padding:12px;border-radius:10px}
  .tx-card-body--compact{grid-template-columns:56px minmax(0,1fr);gap:12px}
  .tx-card-thumb{width:56px;height:56px;border-radius:10px}
}

/* ══════════════════════════════════════════════════════════
   SIGNAL ROOM
   ══════════════════════════════════════════════════════════ */

.sr-hero{text-align:center;padding:64px 0 52px;position:relative}
.sr-hero::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:1px;height:40px;background:linear-gradient(to bottom,transparent,var(--green3))}
.sr-badge{display:inline-flex;align-items:center;gap:7px;font-family:var(--mono);font-size:9px;color:var(--amber2);letter-spacing:.2em;border:1px solid var(--green3);padding:5px 14px;border-radius:2px;margin-bottom:28px;background:rgba(61,186,110,.04)}
.sr-badge-dot{width:5px;height:5px;border-radius:50%;background:var(--green);animation:pulse 2s infinite}
.sr-stat{text-align:center}
.sr-stat-n{font-family:var(--mono);font-size:28px;font-weight:700;color:var(--text)}
.sr-stat-l{font-family:var(--mono);font-size:9px;color:var(--dim);letter-spacing:.1em;text-transform:uppercase;margin-top:4px}

.sr-perk{display:flex;gap:20px;padding:24px 0;border-bottom:1px solid var(--line)}
.sr-perk:last-child{border-bottom:none}
.sr-perk-icon{width:40px;height:40px;border-radius:6px;background:var(--panel2);border:1px solid var(--line2);display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;margin-top:2px}
.sr-perk-title{font-family:var(--body);font-size:18px;font-weight:700;color:var(--text);margin-bottom:5px}
.sr-perk-desc{font-size:14px;color:var(--muted);line-height:1.7}
.sr-perk-tag{display:inline-block;font-family:var(--mono);font-size:9px;color:var(--green);border:1px solid var(--green3);padding:2px 7px;border-radius:2px;margin-top:8px;letter-spacing:.06em}

.sr-plan{background:var(--panel);border:1px solid var(--line2);border-radius:6px;padding:32px 28px;position:relative}
.sr-plan.featured{border-color:var(--green);background:rgba(61,186,110,.03)}
.sr-plan-badge{position:absolute;top:-11px;left:50%;transform:translateX(-50%);background:var(--green);color:#000;font-family:var(--mono);font-size:9px;font-weight:700;letter-spacing:.1em;padding:3px 12px;border-radius:2px;white-space:nowrap}
.sr-plan-label{font-family:var(--mono);font-size:10px;letter-spacing:.14em;margin-bottom:20px}
.sr-plan-price{font-family:var(--body);font-size:52px;font-weight:700;color:var(--text);line-height:1;margin-bottom:4px}
.sr-plan-period{font-family:var(--mono);font-size:11px;color:var(--dim);margin-bottom:8px}
.sr-plan-saving{font-family:var(--mono);font-size:11px;color:var(--green);margin-bottom:28px;min-height:18px}
.sr-join-btn{display:block;text-align:center;font-family:var(--mono);font-size:13px;font-weight:700;letter-spacing:.08em;padding:14px;border-radius:4px;text-decoration:none;transition:all .2s}
.sr-join-btn.primary{background:var(--green2);color:#000}
.sr-join-btn.primary:hover{background:var(--green);box-shadow:0 0 20px rgba(61,186,110,.25)}
.sr-join-btn.secondary{background:transparent;color:var(--green);border:1px solid var(--green3)}
.sr-join-btn.secondary:hover{background:rgba(61,186,110,.08);border-color:var(--green)}

.sr-archive-item{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}
.sr-archive-item:last-child{border-bottom:none}
.sr-archive-num{font-family:var(--mono);font-size:10px;color:var(--dim);width:24px;text-align:right;flex-shrink:0;opacity:.4}
.sr-archive-title{font-family:var(--body);font-size:15px;color:var(--text);font-weight:600;margin-bottom:2px}
.sr-archive-meta{font-family:var(--mono);font-size:10px;color:var(--dim)}
.sr-archive-lock{font-size:11px;color:var(--dim);flex-shrink:0;opacity:.5}

/* ══════════════════════════════════════════════════════════
   SIGNAL ROOM ACCOUNT
   ══════════════════════════════════════════════════════════ */

.acct-wrap { max-width: 640px; margin: 0 auto; }
.acct-section {
  background: var(--panel); border: 1px solid var(--line);
  border-radius: 8px; margin-bottom: 16px; overflow: hidden;
}
.acct-section-head {
  padding: 16px 24px; border-bottom: 1px solid var(--line);
  display: flex; align-items: center; justify-content: space-between;
}
.acct-section-title { font-family: var(--mono); font-size: 10px; color: var(--dim); letter-spacing: .14em; }
.acct-section-body { padding: 20px 24px; }
.acct-row { display: flex; justify-content: space-between; align-items: baseline; padding: 8px 0; border-bottom: 1px solid var(--line); }
.acct-row:last-child { border-bottom: none; }
.acct-row-label { font-family: var(--mono); font-size: 11px; color: var(--dim); }
.acct-row-value { font-family: var(--mono); font-size: 12px; color: var(--text); }
.acct-status-active { color: var(--green); }
.acct-status-cancelled { color: var(--red); }
.acct-status-past_due { color: var(--amber); }

/* ══════════════════════════════════════════════════════════
   SIGNAL ROOM ROOM
   ══════════════════════════════════════════════════════════ */

/* ══════════════════════════════════════════════════════
   SIGNAL ROOM — Premium Member Area
   Design principles: dark studio, green accents, no chrome
   ══════════════════════════════════════════════════════ */

.sr-page { margin: -28px -32px 0; display:flex; flex-direction:column; min-height:calc(100vh - 130px); }

/* ── Member bar — identity strip ─────────────────────── */
.sr-bar {
  display:flex; align-items:center; justify-content:space-between;
  padding:0 28px; height:48px;
  background:rgba(8,10,16,.95);
  border-bottom:1px solid var(--line);
  flex-shrink:0; flex-wrap:wrap; gap:8px;
  backdrop-filter:blur(8px);
}
.sr-bar-l { display:flex; align-items:center; gap:12px; }
.sr-dot {
  width:8px; height:8px; border-radius:50%;
  background:var(--green);
  box-shadow:0 0 10px rgba(61,186,110,.7), 0 0 20px rgba(61,186,110,.3);
  flex-shrink:0; animation:srpulse 2.5s infinite;
}
@keyframes srpulse{0%,100%{opacity:1;box-shadow:0 0 10px rgba(61,186,110,.7),0 0 20px rgba(61,186,110,.3)}50%{opacity:.6;box-shadow:0 0 4px rgba(61,186,110,.4)}}
.sr-bar-wordmark { font-family:var(--body); font-size:16px; font-weight:700; color:var(--text); letter-spacing:.01em; }
.sr-bar-wordmark span { color:var(--green); }
.sr-bar-sep { width:1px; height:16px; background:var(--line2); flex-shrink:0; }
.sr-bar-member { font-family:var(--mono); font-size:10px; color:var(--dim); letter-spacing:.06em; }
.sr-bar-r { display:flex; gap:6px; align-items:center; }
.sr-btn {
  font-family:var(--mono); font-size:10px; letter-spacing:.06em;
  padding:5px 12px; border-radius:3px; text-decoration:none;
  border:1px solid var(--line2); color:var(--dim); background:transparent;
  cursor:pointer; transition:all .15s;
}
.sr-btn:hover { color:var(--green); border-color:var(--green3); }
.sr-btn.red { color:var(--red); border-color:rgba(192,57,43,.3); }
.sr-btn.red:hover { background:rgba(192,57,43,.08); border-color:var(--red); }

/* ── Live banner ─────────────────────────────────────── */
.sr-live-banner {
  display:none; padding:10px 28px;
  background:rgba(214,59,47,.07); border-bottom:1px solid rgba(214,59,47,.2);
  font-family:var(--mono); font-size:11px; color:var(--red);
  text-align:center; letter-spacing:.08em;
}
.sr-live-banner.show { display:block; }
.sr-live-dot { display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--red); margin-right:8px; animation:pulse 1.2s infinite; vertical-align:middle; }

/* ── Body: archive + player ──────────────────────────── */
.sr-body { display:grid; grid-template-columns:340px 1fr; flex:1; overflow:hidden; min-height:0; }

/* ══════════════════════════════════════
   LEFT — The Archive
   ══════════════════════════════════════ */
.sr-left {
  display:flex; flex-direction:column;
  border-right:1px solid var(--line);
  background:#0A0D14;
  overflow:hidden; min-height:0;
}
.sr-left-head {
  padding:18px 18px 12px;
  border-bottom:1px solid var(--line);
  flex-shrink:0;
  background:#0A0D14;
}
.sr-left-label {
  font-family:var(--mono); font-size:9px;
  color:var(--green); letter-spacing:.2em;
  margin-bottom:12px; display:flex; align-items:center; justify-content:space-between;
}
.sr-input {
  width:100%; padding:8px 12px;
  background:rgba(255,255,255,.04);
  border:1px solid var(--line2);
  border-radius:4px; color:var(--text);
  font-family:var(--mono); font-size:12px;
  transition:border-color .15s; margin-bottom:8px;
  box-sizing:border-box;
}
.sr-input:focus { outline:none; border-color:var(--green3); background:rgba(61,186,110,.03); }
.sr-input::placeholder { color:var(--dim); }
.sr-selects { display:flex; gap:5px; }
.sr-select {
  flex:1; padding:6px 8px;
  background:rgba(255,255,255,.04);
  border:1px solid var(--line2);
  border-radius:4px; color:var(--muted);
  font-family:var(--mono); font-size:10px; cursor:pointer;
}
.sr-select:focus { outline:none; border-color:var(--green3); }
.sr-list-meta {
  font-family:var(--mono); font-size:9px;
  color:var(--dim); margin-top:8px; letter-spacing:.04em;
}

/* Archive list */
.sr-list {
  flex:1; overflow-y:auto;
  scrollbar-width:thin; scrollbar-color:var(--line2) transparent;
}
.sr-list::-webkit-scrollbar { width:3px; }
.sr-list::-webkit-scrollbar-thumb { background:var(--line2); border-radius:2px; }

/* Year separator — more subtle */
.sr-yr {
  padding:10px 18px 6px;
  font-family:var(--mono); font-size:9px; color:var(--dim);
  letter-spacing:.2em; background:#0A0D14;
  border-bottom:1px solid var(--line);
  position:sticky; top:0; z-index:2;
}

/* Archive row */
.sr-item {
  display:flex; align-items:center; gap:12px;
  padding:12px 18px;
  border-bottom:1px solid rgba(255,255,255,.04);
  cursor:pointer; transition:background .1s;
  border-left:3px solid transparent;
}
.sr-item:hover { background:rgba(255,255,255,.03); border-left-color:var(--line2); }
.sr-item.active {
  background:rgba(61,186,110,.05);
  border-left-color:var(--green);
}
.sr-item.active .sr-item-title { color:var(--green); }
.sr-item-dc { min-width:28px; text-align:center; flex-shrink:0; }
.sr-item-dm { font-family:var(--mono); font-size:8px; color:var(--green); letter-spacing:.1em; margin-bottom:1px; }
.sr-item-dd { font-family:var(--mono); font-size:16px; font-weight:700; color:var(--text); line-height:1; }
.sr-item-img { width:34px; height:34px; border-radius:50%; object-fit:cover; border:1px solid var(--line2); flex-shrink:0; }
.sr-item-ini {
  width:34px; height:34px; border-radius:50%;
  background:var(--panel2); border:1px solid var(--line2);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--body); font-size:12px; color:var(--dim); flex-shrink:0;
}
.sr-item-body { flex:1; min-width:0; }
.sr-item-title {
  font-family:var(--body); font-size:13px; font-weight:700;
  color:var(--text); line-height:1.3;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.sr-item-sub {
  font-family:var(--mono); font-size:9px; color:var(--dim);
  margin-top:2px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  letter-spacing:.03em;
}
.sr-item-dot { width:5px; height:5px; border-radius:50%; background:var(--line2); flex-shrink:0; }
.sr-item-dot.on { background:var(--green); box-shadow:0 0 6px rgba(61,186,110,.5); }
.sr-item-badge {
  font-family:var(--mono); font-size:7px; letter-spacing:.08em;
  padding:1px 5px; border-radius:2px; flex-shrink:0; margin-left:auto;
}
.sr-item-badge.exclusive { color:var(--amber); border:1px solid rgba(200,135,42,.3); background:rgba(200,135,42,.06); }
.sr-item-badge.early { color:var(--green); border:1px solid var(--green3); background:var(--dim); }

/* ══════════════════════════════════════
   RIGHT — The Player
   ══════════════════════════════════════ */
.sr-right {
  display:flex; flex-direction:column; align-items:center;
  padding:32px 28px; overflow-y:auto;
  background:linear-gradient(180deg, #0C0F18 0%, #080A10 100%);
}

/* Empty state — atmospheric */
.sr-empty {
  text-align:center; max-width:360px; margin:auto; opacity:.6;
}
.sr-empty-wordmark {
  font-family:var(--body); font-size:13px; color:var(--dim);
  letter-spacing:.2em; text-transform:uppercase; margin-bottom:32px;
}
.sr-empty-signal {
  width:64px; height:64px; border-radius:50%;
  border:1px solid var(--line2);
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 24px; position:relative;
}
.sr-empty-signal::before {
  content:''; position:absolute; inset:-10px; border-radius:50%;
  border:1px solid rgba(61,186,110,.08);
}
.sr-empty-signal::after {
  content:''; position:absolute; inset:-22px; border-radius:50%;
  border:1px solid rgba(61,186,110,.04);
}
.sr-empty h3 { font-family:var(--body); font-size:20px; color:var(--muted); margin-bottom:8px; font-weight:600; }
.sr-empty p { font-family:var(--mono); font-size:10px; color:var(--dim); line-height:1.7; letter-spacing:.04em; }
.sr-empty-kbd { display:inline-block; font-family:var(--mono); font-size:9px; color:var(--dim); border:1px solid var(--line2); padding:2px 6px; border-radius:3px; margin-top:16px; }

/* Now playing header */
.sr-np { width:100%; max-width:500px; display:none; margin-bottom:20px; }
.sr-np-label { font-family:var(--mono); font-size:9px; color:var(--green); letter-spacing:.2em; margin-bottom:12px; }
.sr-np-header { display:flex; align-items:center; gap:16px; }
.sr-np-photo { width:56px; height:56px; border-radius:50%; object-fit:cover; border:2px solid rgba(61,186,110,.3); flex-shrink:0; }
.sr-np-ini {
  width:56px; height:56px; border-radius:50%;
  background:var(--panel2); border:2px solid var(--line2);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--body); font-size:20px; color:var(--dim); flex-shrink:0;
}
.sr-np-title { font-family:var(--body); font-size:20px; font-weight:700; color:var(--text); line-height:1.25; margin-bottom:4px; }
.sr-np-guest { font-family:var(--mono); font-size:10px; color:var(--green); letter-spacing:.04em; }
.sr-np-date { font-family:var(--mono); font-size:10px; color:var(--dim); margin-top:3px; }

/* ─────────────────────────────────────────────────────
   CASSETTE PLAYER — the centrepiece
   ───────────────────────────────────────────────────── */
.cassette-wrap { width:100%; max-width:500px; display:none; }
.tape {
  width:100%; aspect-ratio:10/6;
  background:linear-gradient(160deg, #1A1F2E 0%, #121826 50%, #0D1320 100%);
  border-radius:10px; border:1.5px solid #28334A;
  position:relative;
  box-shadow:
    0 0 0 1px #070A12,
    0 28px 56px rgba(0,0,0,.8),
    inset 0 1px 0 rgba(255,255,255,.06),
    inset 0 -1px 0 rgba(0,0,0,.4);
  overflow:hidden; margin-bottom:20px;
}
.tape::before {
  content:''; position:absolute; inset:0;
  background:repeating-linear-gradient(0deg,transparent,transparent 4px,rgba(255,255,255,.01) 4px,rgba(255,255,255,.01) 5px);
  pointer-events:none; z-index:1;
}
.tape-screw {
  position:absolute; width:11px; height:11px; border-radius:50%; z-index:3;
  background:radial-gradient(circle at 38% 32%, #2A3244, #0A0D14);
  box-shadow:inset 0 1px 3px rgba(0,0,0,.9), 0 1px 0 rgba(255,255,255,.06);
}
.tape-screw::after {
  content:''; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:7px; height:1.5px; background:#0A0D14; border-radius:1px;
  box-shadow:0 2.5px 0 #0A0D14, 0 -2.5px 0 #0A0D14;
}
.tape-screw.tl{top:8px;left:8px} .tape-screw.tr{top:8px;right:8px}
.tape-screw.bl{bottom:8px;left:8px} .tape-screw.br{bottom:8px;right:8px}
.tape-label {
  position:absolute; top:10px; left:28px; right:28px; height:46%;
  background:linear-gradient(160deg, #06100C 0%, #091A10 60%, #060E0A 100%);
  border-radius:5px; border:1px solid rgba(61,186,110,.2);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding:8px 16px; overflow:hidden; z-index:2;
  box-shadow:inset 0 0 30px rgba(0,0,0,.6), 0 2px 8px rgba(0,0,0,.5);
}
.tape-label::before {
  content:''; position:absolute; top:0; left:0; right:0; height:1.5px;
  background:linear-gradient(90deg,transparent,rgba(61,186,110,.4),transparent);
}
.tape-label-brand { font-family:var(--mono); font-size:8px; color:var(--green3); letter-spacing:.28em; opacity:.8; margin-bottom:4px; }
.tape-label-title {
  font-family:var(--body); font-size:13px; font-weight:700; color:var(--text);
  text-align:center; line-height:1.3; max-height:2.6em; overflow:hidden;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
}
.tape-label-guest { font-family:var(--mono); font-size:9px; color:var(--green); margin-top:3px; opacity:.9; letter-spacing:.04em; }
.tape-label-side { position:absolute; right:10px; bottom:7px; font-family:var(--mono); font-size:16px; font-weight:700; color:var(--green3); opacity:.5; }
.tape-reels {
  position:absolute; bottom:12px; left:0; right:0;
  display:flex; justify-content:center; gap:max(16%, 60px); align-items:center; z-index:2;
}
.tape-reel-win {
  width:22%; aspect-ratio:1; max-width:80px; border-radius:50%;
  background:radial-gradient(circle, #04060B 40%, #08090F 100%);
  border:1.5px solid #18202E;
  box-shadow:inset 0 2px 8px rgba(0,0,0,.9), 0 2px 4px rgba(0,0,0,.5);
  display:flex; align-items:center; justify-content:center;
}
.tape-reel {
  width:78%; aspect-ratio:1; border-radius:50%; position:relative;
  background:radial-gradient(circle at center, #18202E 28%, #10141E 55%, #060810 100%);
  border:1px solid #222C3C; transition:transform .08s linear;
}
.tape-reel::before,.tape-reel::after { content:''; position:absolute; top:50%; left:50%; transform-origin:center; border-radius:1px; background:#24304A; }
.tape-reel::before { width:88%; height:1.5px; transform:translate(-50%,-50%) rotate(0deg); }
.tape-reel::after  { width:88%; height:1.5px; transform:translate(-50%,-50%) rotate(60deg); }
.tape-reel-s3,.tape-reel-s4,.tape-reel-s5,.tape-reel-s6 {
  position:absolute; top:50%; left:50%; transform-origin:center;
  width:88%; height:1.5px; border-radius:1px; background:#24304A;
}
.tape-reel-s3{transform:translate(-50%,-50%) rotate(120deg)}
.tape-reel-s4{transform:translate(-50%,-50%) rotate(30deg)}
.tape-reel-s5{transform:translate(-50%,-50%) rotate(90deg)}
.tape-reel-s6{transform:translate(-50%,-50%) rotate(150deg)}
.tape-reel-hub {
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:24%; aspect-ratio:1; border-radius:50%; z-index:3;
  background:radial-gradient(circle at 35% 30%, #2A3244, #070910);
  border:1px solid #0A0D14; box-shadow:inset 0 1px 3px rgba(0,0,0,.8);
}
@keyframes spinL{from{transform:rotate(0)}to{transform:rotate(-360deg)}}
@keyframes spinR{from{transform:rotate(0)}to{transform:rotate(360deg)}}
.tape-reel.play-l{animation:spinL var(--rs,3s) linear infinite}
.tape-reel.play-r{animation:spinR var(--rs,5s) linear infinite}
.tape-slot {
  position:absolute; bottom:0; left:50%; transform:translateX(-50%);
  width:14%; height:6px; background:#020306; border-radius:3px 3px 0 0; border-top:1px solid #181E2C;
}
.tape-vu {
  position:absolute; top:10px; right:10px; z-index:4;
  display:flex; gap:2px; align-items:flex-end; height:20px;
}
.tape-vu-bar { width:2.5px; border-radius:1px; background:var(--green3); height:2px; transition:height .06s ease; }
.tape-vu-bar.hot { background:var(--amber); }
.tape-vu-bar.clip { background:var(--red); }

/* Controls */
.tape-controls { display:flex; flex-direction:column; gap:14px; }
.tape-sides { display:flex; gap:6px; justify-content:center; }
.tape-side-btn {
  flex:1; max-width:110px; padding:9px 6px; text-align:center;
  background:rgba(255,255,255,.03);
  border:1px solid var(--line2); border-radius:5px;
  color:var(--dim); font-family:var(--mono); font-size:10px; letter-spacing:.08em;
  cursor:pointer; transition:all .15s;
}
.tape-side-btn:hover { border-color:var(--green3); color:var(--muted); }
.tape-side-btn.active {
  background:rgba(61,186,110,.08);
  border-color:var(--green); color:var(--green);
  box-shadow:0 0 12px rgba(61,186,110,.1);
}
.tape-progress-wrap {
  position:relative; height:4px; background:rgba(255,255,255,.08); border-radius:2px;
  cursor:pointer; overflow:visible;
}
.tape-progress-wrap:hover { height:6px; margin-top:-1px; }
.tape-progress-fill {
  height:100%; width:0%; border-radius:2px; pointer-events:none;
  background:linear-gradient(90deg, var(--green3), var(--green));
  transition:width .1s linear;
}
.tape-time { display:flex; justify-content:space-between; font-family:var(--mono); font-size:9px; color:var(--dim); margin-top:4px; }
.tape-transport { display:flex; align-items:center; justify-content:center; gap:10px; }
.tape-transport-btn {
  display:flex; align-items:center; justify-content:center;
  background:rgba(255,255,255,.04);
  border:1px solid var(--line2); border-radius:6px;
  color:var(--muted); cursor:pointer;
  transition:all .08s; user-select:none;
  box-shadow:0 2px 6px rgba(0,0,0,.4), inset 0 1px 0 rgba(255,255,255,.04);
  font-family:var(--mono); font-size:10px; letter-spacing:.04em;
}
.tape-transport-btn:hover { border-color:var(--green3); color:var(--text); background:rgba(61,186,110,.05); }
.tape-transport-btn:active,.tape-transport-btn.pressed { transform:translateY(1px); box-shadow:0 1px 3px rgba(0,0,0,.5); }
.tape-transport-btn.skip { width:44px; height:38px; font-size:11px; }
.tape-transport-btn.play-pause {
  width:60px; height:60px; border-radius:50%; font-size:20px;
  background:radial-gradient(circle at 38% 32%, #2EA354, #1A7040);
  border-color:var(--green2); color:#000;
  box-shadow:0 0 0 1px var(--green3), 0 8px 20px rgba(0,0,0,.6), 0 0 24px rgba(61,186,110,.15);
}
.tape-transport-btn.play-pause:hover {
  background:radial-gradient(circle at 38% 32%, #3DBA6E, #2EA354);
  box-shadow:0 0 0 1px var(--green), 0 8px 20px rgba(0,0,0,.6), 0 0 32px rgba(61,186,110,.25);
}
.tape-transport-btn.play-pause.playing {
  background:radial-gradient(circle at 38% 32%, #1A7040, #0E1E14);
  border-color:var(--green); color:var(--green);
}
.tape-vol-row { display:flex; align-items:center; gap:10px; }
.tape-vol-label { font-family:var(--mono); font-size:9px; color:var(--dim); letter-spacing:.1em; flex-shrink:0; }
.tape-vol-slider { flex:1; -webkit-appearance:none; height:3px; background:var(--line2); border-radius:2px; cursor:pointer; accent-color:var(--green); }
.tape-vol-slider::-webkit-slider-thumb{-webkit-appearance:none;width:13px;height:13px;border-radius:50%;background:var(--green);cursor:pointer;box-shadow:0 0 6px rgba(61,186,110,.4);}
.tape-vol-val { font-family:var(--mono); font-size:9px; color:var(--dim); min-width:28px; text-align:right; }
.tape-ep-link { text-align:center; margin-top:2px; }
.tape-ep-link a { font-family:var(--mono); font-size:10px; color:var(--dim); text-decoration:none; transition:color .15s; letter-spacing:.04em; }
.tape-ep-link a:hover { color:var(--green); }
.sr-dl-all {
  display:inline-flex; align-items:center; gap:6px;
  font-family:var(--mono); font-size:10px; color:var(--dim);
  letter-spacing:.04em; cursor:pointer; border:1px solid var(--line2);
  padding:5px 12px; border-radius:4px; background:transparent;
  transition:all .15s; text-decoration:none; margin-top:4px;
}
.sr-dl-all:hover { color:var(--green); border-color:var(--green3); }

/* ── Tab bar — premium style ─────────────────────────── */
.sr-tabs {
  width:100%; max-width:520px;
  display:flex; gap:0;
  background:rgba(255,255,255,.025);
  border:1px solid var(--line2);
  border-radius:6px; overflow:hidden;
  margin-bottom:24px;
}
.sr-tab {
  flex:1; padding:10px 8px; text-align:center;
  font-family:var(--mono); font-size:9px; letter-spacing:.12em;
  color:var(--dim); background:none; border:none;
  cursor:pointer; transition:all .15s; position:relative;
}
.sr-tab:not(:last-child) { border-right:1px solid var(--line2); }
.sr-tab:hover { color:var(--muted); background:rgba(255,255,255,.03); }
.sr-tab.active {
  color:var(--green);
  background:rgba(61,186,110,.07);
}
.sr-tab-live {
  display:inline-block; width:5px; height:5px; border-radius:50%;
  background:var(--red); margin-left:4px; vertical-align:middle;
  animation:pulse 1.2s infinite;
}
.sr-tab-panel { display:none; width:100%; max-width:520px; }
.sr-tab-panel.active { display:block; }

/* ── Member stats — MY SIGNAL tab ───────────────────── */
.sr-stats {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:1px; background:var(--line2);
  border:1px solid var(--line2); border-radius:6px; overflow:hidden;
  width:100%; max-width:500px; margin-bottom:24px;
}
.sr-stat {
  text-align:center; padding:16px 8px;
  background:#0A0D14;
}
.sr-stat-val { font-family:var(--mono); font-size:22px; font-weight:700; color:var(--green); line-height:1; }
.sr-stat-label { font-family:var(--mono); font-size:8px; color:var(--dim); letter-spacing:.12em; margin-top:5px; }

/* Queue */
.sr-queue-wrap { width:100%; max-width:500px; margin-top:14px; display:none; }
.sr-queue-head {
  display:flex; align-items:center; justify-content:space-between;
  padding:6px 0; font-family:var(--mono); font-size:9px; letter-spacing:.14em; color:var(--green);
}
.sr-queue-clear { color:var(--dim); letter-spacing:.04em; cursor:pointer; border:none; background:none; font-family:var(--mono); font-size:9px; transition:color .15s; }
.sr-queue-clear:hover { color:var(--red); }
.sr-queue-list { display:flex; flex-direction:column; gap:2px; }
.sr-queue-item {
  display:flex; align-items:center; gap:10px; padding:8px 12px;
  background:rgba(255,255,255,.03); border:1px solid var(--line); border-radius:4px;
  cursor:pointer; transition:background .1s;
}
.sr-queue-item:hover { background:rgba(255,255,255,.06); }
.sr-queue-item-num { font-family:var(--mono); font-size:9px; color:var(--dim); flex-shrink:0; min-width:16px; }
.sr-queue-item-title { font-family:var(--body); font-size:13px; color:var(--text); flex:1; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sr-queue-item-remove { color:var(--dim); cursor:pointer; font-size:11px; border:none; background:none; transition:color .15s; padding:2px 6px; }
.sr-queue-item-remove:hover { color:var(--red); }

/* Wormhole */
.sr-wormhole-wrap { max-width:440px; margin:0 auto; width:100%; }

@media(max-width:860px){
  .sr-body{grid-template-columns:1fr;grid-template-rows:300px 1fr;}
  .sr-left{border-right:none;border-bottom:1px solid var(--line);}
  .sr-page{margin:0 -16px;}
  .sr-right{padding:20px 16px;}
}

/* ══════════════════════════════════════════════════════════
   SIGNAL ROOM — landing page extras (supplement style block)
   ══════════════════════════════════════════════════════════ */

.sr-wrap{max-width:840px;margin:0 auto}
.sr-h1{font-family:var(--disp);font-size:clamp(44px,6vw,68px);letter-spacing:.04em;color:var(--text);line-height:.92;margin-bottom:20px}
.sr-tagline{font-family:var(--body);font-size:19px;color:var(--muted);line-height:1.7;max-width:560px;margin:0 auto 36px}
.sr-stats-row{display:flex;justify-content:center;gap:40px}
.sr-divider{height:1px;border:none;background:var(--line);margin-bottom:52px}
.sr-two-col{display:grid;grid-template-columns:1fr 340px;gap:52px;align-items:start;margin-bottom:64px}
.sr-pricing-sticky{position:sticky;top:90px}
.sr-section-label{font-family:var(--mono);font-size:9px;color:var(--dim);letter-spacing:.18em;text-transform:uppercase;margin-bottom:24px}
.sr-plan-centered{text-align:center}
.sr-plan-kicker{font-family:var(--mono);font-size:9px;color:var(--amber2);letter-spacing:.2em;text-transform:uppercase;margin-bottom:20px}
.sr-plan-coming-title{font-family:var(--disp);font-size:28px;letter-spacing:.04em;color:var(--text);margin-bottom:10px;line-height:1.1}
.sr-plan-coming-price{font-family:var(--mono);font-size:13px;color:var(--dim);margin-bottom:24px}
.sr-plan-coming-note{font-family:var(--body);font-size:13px;color:var(--dim);line-height:1.65}
.sr-plan-label-green{color:var(--green)}
.sr-plan-label-dim{color:var(--dim)}
.sr-plan-price-sm{font-size:38px!important}
.sr-plan-monthly{margin-bottom:20px}
.sr-signin-wrap{text-align:center}
.sr-signin-link{font-family:var(--mono);font-size:11px;color:var(--dim);text-decoration:none;border-bottom:1px solid var(--line2);padding-bottom:2px;transition:color .15s}
.sr-signin-link:hover{color:var(--green)}
.sr-archive-section{margin-bottom:64px}
.sr-archive-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.sr-archive-title{font-family:var(--disp);font-size:30px;letter-spacing:.04em;color:var(--text);line-height:1.1;margin-bottom:12px}
.sr-archive-ep-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sr-archive-desc{font-family:var(--body);font-size:14px;color:var(--muted);line-height:1.7;margin-bottom:20px}
.sr-archive-preview{background:var(--panel);border:1px solid var(--line2);border-radius:var(--r);padding:0 20px}
.sr-archive-more{padding:12px 0;font-family:var(--mono);font-size:9px;color:var(--dim);text-align:center;letter-spacing:.08em}
.sr-wormhole{background:var(--panel);border:1px solid var(--line2);border-radius:var(--r);padding:40px;margin-bottom:64px;display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center}
.sr-wormhole-title{font-family:var(--disp);font-size:28px;letter-spacing:.04em;color:var(--text);line-height:1.1;margin-bottom:12px}
.sr-wormhole-desc{font-family:var(--body);font-size:15px;color:var(--muted);line-height:1.7;max-width:480px}
.sr-wormhole-icon{text-align:center;flex-shrink:0}
.sr-wormhole-bolt{font-size:48px;margin-bottom:8px}
.sr-wormhole-label{font-family:var(--mono);font-size:9px;color:var(--amber2);letter-spacing:.12em;text-transform:uppercase}

@media(max-width:768px){
  .sr-two-col{grid-template-columns:1fr}
  .sr-pricing-sticky{position:static}
  .sr-archive-grid{grid-template-columns:1fr}
  .sr-wormhole{grid-template-columns:1fr}
  .sr-wormhole-icon{display:none}
}

/* ══════════════════════════════════════════════════════════
   SIGNAL ROOM ACCOUNT — extras
   ══════════════════════════════════════════════════════════ */

.acct-back-link{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10px;color:var(--dim);text-decoration:none;margin-bottom:24px;transition:color .15s;letter-spacing:.06em}
.acct-back-link:hover{color:var(--green)}
.acct-header{margin-bottom:28px}
.acct-header-super{font-family:var(--mono);font-size:9px;color:var(--amber2);letter-spacing:.2em;text-transform:uppercase;margin-bottom:8px}
.acct-header-title{font-family:var(--disp);font-size:44px;letter-spacing:.04em;color:var(--text)}
.acct-flash{border-radius:var(--r-sm);padding:12px 18px;font-family:var(--body);font-size:13px;color:var(--muted);margin-bottom:20px}
.acct-flash-error{background:rgba(200,32,32,.1);border:1px solid var(--live)}
.acct-flash-success{background:rgba(98,230,162,.08);border:1px solid rgba(98,230,162,.3)}
.acct-status-badge{font-family:var(--mono);font-size:11px;font-weight:700}
.acct-section-green{border-color:rgba(98,230,162,.3)!important}
.acct-section-danger{border-color:rgba(200,32,32,.25)!important}
.acct-feed-active{font-family:var(--mono);font-size:10px;color:var(--green)}
.acct-feed-desc{font-family:var(--body);font-size:13px;color:var(--muted);line-height:1.7;margin-bottom:14px}
.acct-rss-row{display:flex;gap:8px;margin-bottom:10px}
.acct-rss-input{flex:1;padding:10px 12px;background:var(--panel2);border:1px solid var(--line2);border-radius:var(--r-sm);color:var(--green);font-family:var(--mono);font-size:11px;cursor:text;outline:none}
.acct-rss-copy{padding:10px 16px;background:rgba(98,230,162,.1);border:1px solid rgba(98,230,162,.3);border-radius:var(--r-sm);color:var(--green);font-family:var(--mono);font-size:11px;font-weight:700;cursor:pointer;transition:all .15s;white-space:nowrap}
.acct-rss-copy:hover{background:rgba(98,230,162,.2);color:#000}
.acct-rss-note{font-family:var(--mono);font-size:10px;color:var(--dim)}
.acct-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border-radius:var(--r-sm);overflow:hidden;margin-bottom:12px}
.acct-stat{background:var(--panel);padding:16px;text-align:center}
.acct-stat-num{font-family:var(--disp);font-size:32px;letter-spacing:.04em;color:var(--text);line-height:1}
.acct-stat-green{color:var(--green)}
.acct-stat-label{font-family:var(--mono);font-size:8px;color:var(--dim);letter-spacing:.14em;text-transform:uppercase;margin-top:4px}
.acct-stat-note{font-family:var(--mono);font-size:10px;color:var(--dim)}
.acct-billing-desc{font-family:var(--body);font-size:14px;color:var(--muted);line-height:1.7;margin-bottom:20px}
.acct-billing-btns{display:flex;gap:12px;flex-wrap:wrap}
.acct-portal-btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12px;letter-spacing:.06em;padding:12px 20px;border-radius:var(--r-sm);text-decoration:none;transition:all .15s;opacity:.5}
.acct-portal-btn-update{background:var(--panel2);border:1px solid var(--line2);color:var(--text)}
.acct-portal-btn-update:hover{border-color:var(--green);color:var(--green)}
.acct-portal-btn-cancel{background:rgba(200,32,32,.08);border:1px solid rgba(200,32,32,.4);color:var(--live2)}
.acct-portal-btn-cancel:hover{background:rgba(200,32,32,.15);border-color:var(--live2)}
.acct-billing-note{font-family:var(--mono);font-size:10px;color:var(--dim);margin-top:12px}
.acct-billing-email{font-family:var(--mono);font-size:12px;color:var(--dim)}
.acct-email-link{color:var(--green);text-decoration:none}
.acct-optional{font-family:var(--mono);font-size:10px;color:var(--dim)}
.acct-pw-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:14px}
.acct-pw-label{font-family:var(--mono);font-size:9px;color:var(--dim);letter-spacing:.1em;text-transform:uppercase;display:block;margin-bottom:6px}
.acct-pw-input{width:100%;padding:10px 12px;background:var(--panel2);border:1px solid var(--line2);border-radius:var(--r-sm);color:var(--text);font-family:var(--mono);font-size:13px;outline:none;transition:border-color .14s;box-sizing:border-box}
.acct-pw-input:focus{border-color:var(--green)}
.acct-pw-save{background:var(--panel2);border:1px solid var(--line2);color:var(--text);font-family:var(--mono);font-size:11px;letter-spacing:.08em;padding:9px 20px;border-radius:var(--r-sm);cursor:pointer;transition:all .15s}
.acct-pw-save:hover{border-color:var(--green);color:var(--green)}
.acct-signout{text-align:center;padding:8px 0 24px}
.acct-signout-link{font-family:var(--mono);font-size:11px;color:var(--dim);text-decoration:none;transition:color .15s}
.acct-signout-link:hover{color:var(--text)}
@media(max-width:640px){.acct-pw-grid{grid-template-columns:1fr}.acct-stats-grid{grid-template-columns:1fr 1fr}}

/* ══════════════════════════════════════════════════════════
   SIGNAL ROOM LOGIN
   ══════════════════════════════════════════════════════════ */

.srl-wrap{max-width:420px;margin:60px auto}
.srl-header{text-align:center;margin-bottom:32px}
.srl-kicker{font-family:var(--mono);font-size:9px;color:var(--amber2);letter-spacing:.22em;text-transform:uppercase;margin-bottom:12px}
.srl-h1{font-family:var(--disp);font-size:44px;letter-spacing:.04em;color:var(--text)}
.srl-sent{background:var(--panel);border:1px solid var(--green);border-radius:var(--r);padding:32px;text-align:center}
.srl-sent-icon{font-size:32px;margin-bottom:16px}
.srl-sent-title{font-family:var(--disp);font-size:24px;letter-spacing:.04em;color:var(--text);margin-bottom:10px}
.srl-sent-body{font-family:var(--body);font-size:13px;color:var(--dim);line-height:1.7}
.srl-error{background:rgba(200,32,32,.1);border:1px solid var(--live);border-radius:var(--r-sm);padding:12px 16px;font-family:var(--body);font-size:13px;color:var(--muted);margin-bottom:20px}
.srl-err-link{color:var(--green);text-decoration:none}
.srl-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.srl-tabs{display:flex;border-bottom:1px solid var(--line)}
.srl-tab{flex:1;padding:14px;font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;background:transparent;border:none;color:var(--dim);cursor:pointer;border-bottom:2px solid transparent;transition:all .15s}
.srl-tab-active{background:var(--panel2);color:var(--text);border-bottom-color:var(--green)}
.srl-form{padding:28px}
.srl-field{margin-bottom:16px}
.srl-label{font-family:var(--mono);font-size:9px;color:var(--dim);letter-spacing:.12em;text-transform:uppercase;display:block;margin-bottom:8px}
.srl-input{width:100%;padding:10px 14px;background:var(--panel2);border:1px solid var(--line2);border-radius:var(--r-sm);color:var(--text);font-family:var(--mono);font-size:14px;outline:none;transition:border-color .15s;box-sizing:border-box}
.srl-input:focus{border-color:var(--green)}
.srl-submit{width:100%;background:rgba(98,230,162,.15);color:var(--green);font-family:var(--mono);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:13px;border:1px solid rgba(98,230,162,.3);border-radius:var(--r-sm);cursor:pointer;transition:all .15s}
.srl-submit:hover{background:rgba(98,230,162,.25);border-color:var(--green)}
.srl-footer{text-align:center;margin-top:20px}
.srl-join-link{font-family:var(--mono);font-size:10px;color:var(--dim);text-decoration:none;transition:color .14s}
.srl-join-link:hover{color:var(--muted)}

/* ══════════════════════════════════════════════════════════
   SIDEBAR EXTRAS
   ══════════════════════════════════════════════════════════ */

.sb-sticky{position:sticky;top:76px}
.sb-grave-promo{border:1px solid rgba(255,98,38,.32);background:linear-gradient(135deg,rgba(255,98,38,.12),rgba(20,27,42,.86));border-radius:var(--r);padding:18px;position:relative;overflow:hidden;margin-bottom:16px}
.sb-grave-ghost{position:absolute;right:15px;top:12px;font-size:42px;opacity:.25}
.sb-grave-tag{font-family:var(--mono);font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:#ff9a73;margin-bottom:8px;position:relative}
.sb-grave-title{font-family:var(--disp);font-size:32px;color:#ff9a73;line-height:1;margin-bottom:10px;position:relative}
.sb-grave-desc{font-family:var(--body);font-size:14px;color:var(--muted);line-height:1.65;margin-bottom:14px;position:relative}
.sb-grave-btn{display:inline-flex;padding:10px 18px;position:relative}
.sched-row-bordered{border-top:1px solid var(--line)}
.sched-day-grave{color:#ff9a73}
.sched-time-grave{color:#ff9a73}
.sched-time-muted{color:var(--muted)}
.sb-panel-head-dark{background:rgba(0,0,0,.18)}
.sb-ol-item{padding:11px 16px;border-bottom:1px solid var(--line)}
.sb-ol-line{display:block;color:var(--text);font-size:15px;font-weight:700}
.sb-ol-caller{display:block;color:var(--muted);font-style:italic;font-size:13px}
.sb-area13-link{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;padding:0 16px;height:52px;transition:color .14s;color:var(--dim);text-decoration:none}
.sb-area13-link:hover{color:var(--blue)}
.sb-area13-member{color:var(--blue)}
.sb-area13-dot{width:5px;height:5px;border-radius:50%;background:var(--blue);flex-shrink:0}
.nmp-live-dot{width:5px;height:5px;margin-right:6px}

/* ══════════════════════════════════════════════════════════
   HOME PAGE FEATURE CARDS + TONIGHT BOX
   ══════════════════════════════════════════════════════════ */

.home-card-img-blue{background:linear-gradient(135deg,rgba(91,157,241,.1),rgba(14,19,32,.9));display:grid;place-items:center}
.home-card-img-amber{background:linear-gradient(135deg,rgba(242,155,24,.12),rgba(14,19,32,.9));display:grid;place-items:center}
.home-card-icon{font-family:var(--disp);line-height:1}
.home-card-icon-blue{font-size:64px;color:rgba(91,157,241,.35)}
.home-card-icon-amber{font-size:72px;color:rgba(242,155,24,.35)}
.tag-blue{color:#9fc8ff;background:rgba(91,157,241,.12);border:1px solid rgba(91,157,241,.25)}
.home-card-title-blue{color:#9fc8ff}
.home-card-placeholder-blue{background:radial-gradient(circle at 50% 32%,rgba(91,157,241,.2),transparent 60%)}
.home-tonight-box{background:rgba(0,0,0,.18);border:1px solid var(--line);border-radius:14px;padding:18px}
.home-tonight-label{font-family:var(--mono);font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:var(--amber2);margin-bottom:10px}
.home-tonight-title{font-family:var(--disp);font-size:28px;letter-spacing:.04em;color:var(--text);line-height:1;margin-bottom:10px}
.home-tonight-desc{font-family:var(--body);font-size:15px;color:var(--muted);line-height:1.7}
.home-tonight-guest{font-family:var(--mono);font-size:10px;color:var(--muted);margin-top:12px}
.home-tonight-guest-name{color:var(--text)}

/* ══════════════════════════════════════════════════════════
   INLINE EDIT MODE
   ══════════════════════════════════════════════════════════ */

/* Edit mode toggle button */
#ie-mode-toggle{
  background:rgba(98,230,162,.08);
  border:1px solid rgba(98,230,162,.2);
  color:var(--green);
  font-family:var(--mono);font-size:10px;letter-spacing:.08em;
  padding:4px 12px;border-radius:3px;cursor:pointer;
  transition:all .2s;
}
#ie-mode-toggle:hover{background:rgba(98,230,162,.15);border-color:rgba(98,230,162,.4)}
#ie-mode-toggle.active{
  background:rgba(98,230,162,.18);
  border-color:var(--green);
  color:var(--green);
  font-weight:700;
}

/* Editable element affordances in edit mode */
body.ie-edit-mode [data-editable],
body.ie-edit-mode [data-editable-rich]{
  outline:1px dashed rgba(98,230,162,.35);
  outline-offset:4px;
  border-radius:2px;
  transition:outline .15s,background .15s;
}
body.ie-edit-mode [data-editable]{cursor:text}
body.ie-edit-mode [data-editable-rich]{cursor:default}
body.ie-edit-mode [data-editable]:hover,
body.ie-edit-mode [data-editable-rich]:hover{
  outline:2px solid rgba(98,230,162,.6);
  background:rgba(98,230,162,.035);
}
body.ie-edit-mode [data-editable]:focus{
  outline:2px solid var(--green);
  background:rgba(98,230,162,.05);
}

/* Rich edit overlay button */
.ie-rich-btn{
  position:absolute;top:8px;right:8px;
  background:var(--green);color:#071210;
  font-family:var(--mono);font-size:9px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;
  padding:5px 12px;border:none;border-radius:3px;
  cursor:pointer;opacity:0;transition:opacity .15s;z-index:5;
}
body.ie-edit-mode [data-editable-rich]:hover .ie-rich-btn{opacity:1}

/* Saved indicator — bottom right toast */
.ie-save-indicator{
  position:fixed;bottom:28px;right:28px;z-index:20000;
  background:var(--green);color:#071210;
  font-family:var(--mono);font-size:11px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;
  padding:9px 20px;border-radius:4px;
  opacity:0;transform:translateY(10px);
  transition:opacity .25s,transform .25s;
  pointer-events:none;
}
.ie-save-indicator.show{opacity:1;transform:translateY(0)}

/* Overlay */
#ie-overlay{
  display:none;
  position:fixed;inset:0;
  background:rgba(4,6,12,.6);
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
  z-index:10000;
  opacity:0;transition:opacity .25s;
}
#ie-overlay.ie-overlay-show{display:block;opacity:1}

/* Slide panel */
#ie-panel{
  position:fixed;top:0;right:0;
  width:500px;max-width:100vw;
  height:100vh;
  background:#0D1019;
  border-left:1px solid #1E2535;
  z-index:10001;
  overflow-y:auto;
  box-shadow:-8px 0 40px rgba(0,0,0,.6);
  transform:translateX(100%);
  transition:transform .3s cubic-bezier(.4,0,.2,1);
  display:flex;flex-direction:column;
}
#ie-panel.open{transform:translateX(0)}

/* Panel header */
.ie-panel-head{
  position:sticky;top:0;
  background:#0D1019;
  border-bottom:1px solid #1E2535;
  padding:18px 22px;
  display:flex;align-items:center;justify-content:space-between;
  z-index:2;flex-shrink:0;
}
.ie-panel-title{
  font-family:'Crimson Pro',Georgia,serif;
  font-size:19px;font-weight:700;color:#EEE5D6;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  margin-right:16px;
}
.ie-panel-close{
  background:none;border:1px solid #1E2535;border-radius:50%;
  color:#5A6478;font-size:14px;cursor:pointer;
  width:30px;height:30px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  transition:all .15s;
}
.ie-panel-close:hover{border-color:rgba(200,32,32,.5);color:#e06060}

/* Panel body */
.ie-panel-body{padding:22px;flex:1}

/* Status bar */
.ie-status{
  display:none;
  padding:10px 22px;
  font-family:var(--mono);font-size:11px;
  border-top:1px solid #1E2535;
  flex-shrink:0;
}

/* Loading state */
.ie-loading{
  padding:48px 0;text-align:center;
  font-family:var(--mono);font-size:11px;color:#4A5568;
  letter-spacing:.1em;text-transform:uppercase;
}

/* Form elements inside panel */
.ie-panel-body label,
#ie-body label{
  display:block;
  font-family:var(--mono);font-size:9px;font-weight:700;
  color:#5A6478;letter-spacing:.14em;text-transform:uppercase;
  margin:16px 0 6px;
}
.ie-panel-body label:first-child,
#ie-body label:first-child{margin-top:0}

.ie-panel-body input[type=text],
.ie-panel-body input[type=email],
.ie-panel-body input[type=date],
.ie-panel-body input[type=number],
.ie-panel-body select,
.ie-panel-body textarea,
#ie-body input[type=text],
#ie-body input[type=email],
#ie-body input[type=date],
#ie-body input[type=number],
#ie-body select,
#ie-body textarea{
  width:100%;
  padding:10px 13px;
  background:#080C14;
  border:1px solid #1E2535;
  border-radius:4px;
  color:#EEE5D6;
  font-family:'Crimson Pro',Georgia,serif;font-size:15px;
  box-sizing:border-box;outline:none;
  transition:border-color .15s,box-shadow .15s;
}
.ie-panel-body input:focus,
.ie-panel-body select:focus,
.ie-panel-body textarea:focus,
#ie-body input:focus,
#ie-body select:focus,
#ie-body textarea:focus{
  border-color:#3DBA6E;
  box-shadow:0 0 0 3px rgba(61,186,110,.1);
}
#ie-body input[type=file]{
  background:transparent;border:none;padding:4px 0;
  color:#8CA0BC;font-size:13px;font-family:var(--mono);
}
.ie-panel-body select,
#ie-body select{
  background:#080C14;cursor:pointer;
}
.ie-panel-body textarea,
#ie-body textarea{
  resize:vertical;min-height:80px;line-height:1.7;
}

/* Two-column grid inside panel */
.ie-two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ie-checks{display:flex;flex-direction:column;gap:6px;justify-content:flex-end;padding-bottom:2px}

/* Checkbox rows */
.ie-ck{
  display:flex;align-items:center;gap:9px;
  cursor:pointer;padding:4px 0;
}
.ie-ck input[type=checkbox]{
  accent-color:#3DBA6E;width:15px;height:15px;flex-shrink:0;cursor:pointer;
}
.ie-ck span{
  font-family:var(--mono);font-size:11px;color:#8CA0BC;cursor:pointer;
}

/* File upload hint */
.ie-file-hint{
  font-family:var(--mono);font-size:10px;color:#4A5568;
  margin-top:5px;letter-spacing:.04em;
}

/* Form action buttons */
.ie-form-actions{
  display:flex;align-items:center;gap:8px;
  margin-top:18px;padding-top:16px;
  border-top:1px solid #1E2535;
  flex-wrap:wrap;
}
.ie-save{
  padding:10px 20px;border-radius:4px;cursor:pointer;
  font-family:var(--mono);font-size:11px;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;
  background:rgba(61,186,110,.12);
  border:1px solid #3DBA6E;color:#3DBA6E;
  transition:all .15s;
}
.ie-save:hover{background:rgba(61,186,110,.22)}
.ie-cancel{
  padding:10px 16px;border-radius:4px;cursor:pointer;
  font-family:var(--mono);font-size:11px;letter-spacing:.06em;
  background:transparent;border:1px solid #1E2535;color:#5A6478;
  transition:all .15s;
}
.ie-cancel:hover{border-color:#5A6478;color:#8CA0BC}
.ie-delete{
  padding:10px 16px;border-radius:4px;cursor:pointer;
  font-family:var(--mono);font-size:11px;letter-spacing:.06em;
  background:rgba(200,32,32,.08);
  border:1px solid rgba(200,32,32,.3);color:#c86060;
  transition:all .15s;margin-left:auto;
}
.ie-delete:hover{background:rgba(200,32,32,.16);border-color:rgba(200,32,32,.5)}

/* ── Panel extra sections (rp-modal-header, rp-modal-title, rp-modal-sub, rp-modal-close) ── */
/* (carried over from reports modal — defined elsewhere) */

@media(max-width:540px){
  #ie-panel{width:100vw}
  .ie-two-col{grid-template-columns:1fr}
}

/* ══════════════════════════════════════════════════════════
   SIGNAL ROOM — ROOM PAGE
   ══════════════════════════════════════════════════════════ */

/* Member bar extras */
.srr-host-badge{color:#C8872A;font-weight:700}
.srr-bar-name{margin-left:8px;color:var(--muted)}
.srr-plan-badge{color:var(--green)}
.srr-bar-email{margin-left:8px;color:var(--dim)}
.srr-btn-host{color:#C8872A!important;border-color:rgba(200,135,42,.3)!important}
.srr-btn-dim{opacity:.5}

/* Welcome banner */
.srr-welcome{
  display:none;
  padding:10px 28px;
  background:rgba(98,230,162,.05);
  border-bottom:1px solid rgba(98,230,162,.12);
  font-family:var(--mono);font-size:10px;
  color:var(--amber2);letter-spacing:.06em;
  text-align:center;position:relative;
}
.srr-welcome-close{
  position:absolute;right:20px;top:50%;transform:translateY(-50%);
  background:none;border:none;color:var(--dim);
  cursor:pointer;font-size:16px;line-height:1;padding:4px;
  transition:color .14s;
}
.srr-welcome-close:hover{color:var(--text)}

/* Live banner */
.srr-live-link{color:var(--live2);text-decoration:underline;font-weight:700}

/* Archive count */
.srr-archive-count{color:var(--dim);font-weight:400}

/* Resume dot */
.srr-resume-dot{
  width:5px;height:5px;border-radius:50%;
  background:var(--amber);flex-shrink:0;
}

/* Empty state SVG */
.srr-empty-svg{color:rgba(98,230,162,.4)}

/* HQ badge */
.srr-hq-badge{
  font-family:var(--mono);font-size:9px;letter-spacing:.1em;
  color:var(--green);border:1px solid var(--green3);
  padding:1px 7px;border-radius:2px;font-weight:700;
}

/* Player control row */
.srr-ctrl-btn{padding:4px 8px!important;font-size:10px!important}
.srr-speed-btn{font-weight:700!important;min-width:28px!important}
.srr-ctrl-sep{width:1px;height:16px;background:var(--line2);margin:0 4px;flex-shrink:0;display:inline-block}
.srr-ep-row{display:flex;align-items:center;justify-content:space-between;margin-top:4px}
.srr-np-meta-row{display:flex;align-items:center;gap:8px}

/* Wormhole */
.srr-wh-offair{text-align:center;padding:40px 20px}
.srr-wh-icon{font-size:36px;margin-bottom:12px;opacity:.25}
.srr-wh-title{font-family:var(--body);font-size:20px;color:var(--text);margin-bottom:8px}
.srr-wh-desc{font-family:var(--body);font-size:15px;color:var(--dim);line-height:1.6;max-width:320px;margin:0 auto}
.srr-wh-members{font-family:var(--mono);font-size:10px;color:var(--line2);margin-top:20px;letter-spacing:.1em}
.srr-wh-live{display:none;max-width:420px;margin:0 auto}
.srr-wh-live-head{
  padding:16px 20px;
  background:rgba(200,32,32,.04);
  border:1px solid rgba(200,32,32,.15);
  border-radius:6px 6px 0 0;
  display:flex;align-items:center;gap:8px;
}
.srr-wh-dot{
  width:7px;height:7px;border-radius:50%;
  background:var(--live);animation:pulse-live 1.2s infinite;flex-shrink:0;
}
.srr-wh-open-label{font-family:var(--mono);font-size:10px;color:var(--live2);letter-spacing:.08em;font-weight:700}
.srr-wh-live-body{
  padding:18px 20px;
  background:var(--panel);
  border:1px solid var(--line);
  border-top:none;
  border-radius:0 0 6px 6px;
}
.srr-wh-msg-desc{font-family:var(--body);font-size:15px;color:var(--muted);line-height:1.65;margin-bottom:16px}
.srr-wh-input-row{display:flex;gap:6px}
.srr-wh-input{
  flex:1;padding:12px 14px;
  background:var(--panel2);border:1px solid var(--line2);
  border-radius:4px;color:var(--text);
  font-family:var(--mono);font-size:12px;
  outline:none;transition:border-color .15s;
}
.srr-wh-input:focus{border-color:var(--green3)}
.srr-wh-send{
  padding:12px 20px;
  background:var(--green3);border:none;border-radius:4px;
  color:var(--green);font-family:var(--mono);font-size:10px;
  font-weight:700;letter-spacing:.06em;cursor:pointer;
  transition:all .15s;white-space:nowrap;
}
.srr-wh-send:hover{background:var(--green2);color:#000}
.srr-wh-status{font-family:var(--mono);font-size:10px;margin-top:8px;min-height:14px}

/* My Signal tab */
.srr-signal-wrap{max-width:440px;margin:0 auto}
.srr-signal-identity{
  text-align:center;padding:8px 0 24px;
  border-bottom:1px solid var(--line);margin-bottom:24px;
}
.srr-signal-kicker{font-family:var(--mono);font-size:9px;color:var(--amber2);letter-spacing:.2em;margin-bottom:8px}
.srr-signal-name{font-family:var(--body);font-size:22px;font-weight:700;color:var(--text);margin-bottom:4px}
.srr-signal-meta{font-family:var(--mono);font-size:10px;color:var(--dim)}
.srr-signal-section-label{
  font-family:var(--mono);font-size:9px;color:var(--amber2);
  letter-spacing:.18em;margin-bottom:10px;
}
.srr-signal-section-label--spaced{margin:24px 0 12px}

/* RSS feed boxes */
.srr-feed-box{
  background:rgba(98,230,162,.04);
  border:1px solid rgba(98,230,162,.2);
  border-radius:6px;padding:18px;margin-bottom:10px;
}
.srr-feed-box:last-of-type{margin-bottom:0}
.srr-feed-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:5px}
.srr-feed-name{font-family:var(--mono);font-size:10px;font-weight:700;color:var(--text);letter-spacing:.06em}
.srr-feed-hint{font-family:var(--mono);font-size:9px;color:var(--dim)}
.srr-feed-desc{font-family:var(--body);font-size:13px;color:var(--muted);line-height:1.5;margin-bottom:12px}
.srr-feed-row{display:flex;gap:6px}
.srr-feed-input{
  flex:1;padding:8px 11px;
  background:rgba(0,0,0,.3);
  border:1px solid rgba(98,230,162,.25);
  border-radius:4px;color:var(--green);
  font-family:var(--mono);font-size:10px;
  cursor:text;outline:none;
}
.srr-feed-copy{
  padding:8px 14px;background:var(--green2);
  border:none;border-radius:4px;color:#000;
  font-family:var(--mono);font-size:10px;font-weight:700;
  cursor:pointer;white-space:nowrap;transition:opacity .14s;
}
.srr-feed-copy:hover{opacity:.85}
.srr-feed-warning{
  font-family:var(--mono);font-size:9px;
  color:rgba(98,230,162,.4);
  margin-top:8px;letter-spacing:.04em;text-align:center;
}

/* Account / billing / signout action row */
.srr-signal-actions{
  display:flex;gap:8px;
  margin-top:20px;padding-top:20px;
  border-top:1px solid var(--line);
  flex-wrap:wrap;
}
.srr-action-btn{
  flex:1;text-align:center;padding:10px;
  background:rgba(255,255,255,.04);
  border:1px solid var(--line2);border-radius:4px;
  font-family:var(--mono);font-size:10px;
  color:var(--muted);text-decoration:none;
  transition:all .15s;letter-spacing:.06em;
  min-width:80px;
}
.srr-action-btn:hover{border-color:var(--green3);color:var(--green)}
.srr-action-btn--danger:hover{border-color:rgba(200,32,32,.4);color:var(--live2)}

/* ══════════════════════════════════════════════════════════
   ADMIN BAR (top bar for logged-in admin)
   ══════════════════════════════════════════════════════════ */

#admin-bar,
.adm-top{
  position:fixed;top:0;left:0;right:0;z-index:9999;
  background:#11141C;border-bottom:1px solid #252D3F;
  height:36px;display:flex;align-items:center;
  padding:0 12px;gap:0;
  font-family:'Space Mono',monospace;font-size:11px;
}
.adm-brand{
  color:#3DBA6E;font-weight:600;text-decoration:none;
  padding:0 10px;height:36px;display:flex;align-items:center;
  transition:color .14s;
}
.adm-brand:hover{color:#62e6a2}
.adm-sep{color:#252D3F;padding:0 2px}
.adm-link{
  color:#8694A6;text-decoration:none;
  padding:0 8px;height:36px;display:flex;align-items:center;
  transition:color .14s;
}
.adm-link:hover{color:var(--amber2)}
.adm-green{color:#3DBA6E}
.adm-orange{color:#C8872A}
.adm-live-badge{
  color:#D63B2F;font-weight:600;font-size:10px;
  letter-spacing:.05em;padding:0 8px;
  animation:abp 2s infinite;
}

/* Dropdown menus */
.adm-drop{position:relative;height:36px;display:flex;align-items:center}
.adm-drop-trigger{
  color:#8694A6;cursor:pointer;padding:0 8px;
  transition:color .14s;
}
.adm-drop-trigger:hover{color:var(--amber2)}
.adm-drop .abd{
  display:none;position:absolute;top:36px;left:0;
  background:#161B28;border:1px solid #252D3F;
  border-top:none;min-width:200px;
  box-shadow:0 8px 24px rgba(0,0,0,.5);z-index:10000;
}
.adm-drop-item{
  display:block;padding:8px 16px;
  color:#B0BEC5;text-decoration:none;
  font-size:12px;border-bottom:1px solid #1C2333;
  transition:background .12s,color .12s;
}
.adm-drop-item:hover{background:#1C2333;color:var(--amber2)}
.adm-drop-item--last{border-bottom:none}

/* Right side of bar */
.adm-right{
  margin-left:auto;display:flex;align-items:center;gap:10px;
}
#ie-mode-toggle{
  background:rgba(98,230,162,.08);
  border:1px solid rgba(98,230,162,.2);
  color:#3DBA6E;
  font-family:'Space Mono',monospace;font-size:10px;
  letter-spacing:.08em;padding:4px 12px;border-radius:3px;
  cursor:pointer;transition:all .2s;
}
#ie-mode-toggle:hover{background:rgba(98,230,162,.15);border-color:rgba(98,230,162,.4)}
#ie-mode-toggle.active{
  background:rgba(98,230,162,.18);border-color:#3DBA6E;font-weight:700;
}
.adm-view{color:#6B7B8D;text-decoration:none;font-size:11px;transition:color .14s}
.adm-view:hover{color:var(--amber2)}
.adm-user{color:#6B7B8D}
.adm-logout{color:#D63B2F;text-decoration:none;font-size:11px;transition:color .14s}
.adm-logout:hover{color:#ff6666}

/* Body padding when admin bar is present */
body.has-admin-bar{padding-top:36px}
header.has-admin-bar{top:36px!important}
.freq-bar,.freq-bar+div{position:relative;z-index:1}
@keyframes abp{0%,100%{opacity:1}50%{opacity:.5}}

/* ── Mobile schedule bar ── */
.mob-sched-bar{display:none}
.mob-sched-toggle{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 14px;background:var(--panel);
  border:1px solid var(--line);border-radius:6px;
  cursor:pointer;margin-bottom:2px;
}
.mob-sched-info{display:flex;align-items:center;gap:10px}
.mob-sched-dot{
  width:7px;height:7px;border-radius:50%;
  background:var(--amber2);opacity:.8;flex-shrink:0;
}
.mob-sched-label{font-family:var(--mono);font-size:9px;color:var(--amber2);letter-spacing:.1em}
.mob-sched-name{font-family:var(--body);font-size:15px;font-weight:600;color:var(--text)}
.mob-sched-date{font-family:var(--mono);font-size:11px;color:var(--amber)}
.mob-sched-arrow{font-size:9px;color:var(--dim);margin-left:4px;transition:transform .2s}
.mob-sched-bar.open .mob-sched-arrow{transform:rotate(180deg)}
.mob-sched-body{
  display:none;background:var(--panel);
  border:1px solid var(--line);border-top:none;
  border-radius:0 0 6px 6px;
  padding:12px 14px;margin-bottom:20px;
}
.mob-sched-bar.open .mob-sched-body{display:block}
.mob-sched-row{display:flex;align-items:center;gap:12px;padding:8px 0}
.mob-sched-row--bordered{border-top:1px solid var(--line)}
.mob-sched-dc{text-align:center;min-width:36px;flex-shrink:0}
.mob-sched-mon{font-family:var(--mono);font-size:9px;color:var(--amber2);letter-spacing:.08em}
.mob-sched-day{font-family:var(--body);font-size:24px;font-weight:700;color:var(--text);line-height:1}
.mob-sched-guest{font-family:var(--body);font-size:14px;font-weight:600;color:var(--text)}
.mob-sched-topic{font-size:12px;color:var(--dim)}
.mob-sched-time{font-family:var(--mono);font-size:10px;color:var(--dim);margin-top:2px}


/* ══════════════════════════════════════════════════════════
   BARTGRAVES.COM RESTORE PATCH — sidebar + Area 13 polish
   Restores CSS for sidebar cards and Signal Room/Area 13 that
   broad Transmissions CSS updates can accidentally drop.
   ══════════════════════════════════════════════════════════ */

/* Sidebar card repairs */
aside .sb-block,
.sb-sticky .sb-block{
  background:linear-gradient(180deg,rgba(20,27,42,.92),rgba(12,17,28,.94));
  border:1px solid rgba(86,101,130,.38);
  border-radius:14px;
  overflow:hidden;
  margin-bottom:16px;
  box-shadow:0 18px 40px rgba(0,0,0,.18);
}
aside .sb-block .panel-head,
.sb-panel-head-dark{
  padding:14px 18px;
  border-bottom:1px solid rgba(86,101,130,.28);
  background:rgba(0,0,0,.18);
}
aside .sb-block .panel-title{
  font-family:var(--disp);
  font-size:clamp(22px,2vw,30px);
  line-height:1;
  color:var(--amber2);
  letter-spacing:.08em;
  text-transform:uppercase;
}
aside .sb-block .np{padding:0;background:rgba(0,0,0,.04)}
.sb-ol-item{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:8px 10px;
  align-items:baseline;
  padding:12px 18px;
  border-bottom:1px solid rgba(86,101,130,.22);
}
.sb-ol-item:last-child{border-bottom:none}
.sb-ol-line{
  display:block;
  font-family:var(--mono);
  font-size:10px;
  letter-spacing:.08em;
  color:var(--amber2);
  text-transform:uppercase;
  white-space:nowrap;
}
.sb-ol-caller{
  display:block;
  font-family:var(--body);
  font-size:14px;
  line-height:1.45;
  color:rgba(230,237,247,.78);
  font-style:normal;
  min-width:0;
}

/* Area 13 / Signal Room body atmosphere */
body[data-page="area-13"],
body[data-page="area-13-room"],
body[data-page="area-13-login"],
body[data-page="area-13-join"],
body[data-page="area-13-account"],
body[data-page="signal-room"],
body[data-page="signal-room-room"],
body[data-page="signal-room-login"],
body[data-page="signal-room-join"],
body[data-page="signal-room-account"]{
  background:
    radial-gradient(ellipse at 50% -10%,rgba(61,186,110,.14),transparent 52%),
    radial-gradient(circle at 12% 20%,rgba(91,157,241,.08),transparent 28%),
    linear-gradient(180deg,#050a08 0%,#070b12 100%);
}

/* keep wide member room from being constrained by generic article pages */
.sr-page{box-sizing:border-box}
.sr-page *{box-sizing:border-box}

@media(max-width:760px){
  .sb-ol-item{grid-template-columns:1fr;gap:3px;padding:11px 14px}
  .sb-ol-line{font-size:9px}
  .sb-ol-caller{font-size:13px}
  .sr-body{grid-template-columns:1fr;overflow:visible}
  .sr-left{max-height:42vh;border-right:none;border-bottom:1px solid var(--line)}
  .sr-page{margin:0;min-height:auto}
  .sr-bar{height:auto;padding:12px 14px}
}


/* ══════════════════════════════════════════════════════════
   OPEN LINES SIDEBAR — stacked caller board refinement
   Keeps the card close to the intended broadcast-call-in look.
   ══════════════════════════════════════════════════════════ */
.sidebar .sb-block:has(.sb-ol-item),
aside .sb-block:has(.sb-ol-item),
.sb-sticky .sb-block:has(.sb-ol-item){
  background:linear-gradient(180deg,rgba(17,24,39,.96),rgba(12,18,30,.98));
  border:1px solid rgba(110,125,154,.42);
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 22px 48px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.035);
}
.sidebar .sb-block:has(.sb-ol-item) .panel-head,
aside .sb-block:has(.sb-ol-item) .panel-head,
.sb-sticky .sb-block:has(.sb-ol-item) .panel-head{
  padding:18px 20px 19px;
  min-height:auto;
  border-bottom:1px solid rgba(110,125,154,.30);
  background:linear-gradient(180deg,rgba(18,25,39,.72),rgba(9,14,24,.58));
}
.sidebar .sb-block:has(.sb-ol-item) .panel-title,
aside .sb-block:has(.sb-ol-item) .panel-title,
.sb-sticky .sb-block:has(.sb-ol-item) .panel-title{
  font-family:var(--disp);
  font-size:clamp(28px,2.2vw,36px);
  line-height:.95;
  letter-spacing:.08em;
  color:var(--amber2);
  text-transform:uppercase;
  text-shadow:0 0 18px rgba(242,155,24,.10);
}
.sidebar .sb-block:has(.sb-ol-item) .np,
aside .sb-block:has(.sb-ol-item) .np,
.sb-sticky .sb-block:has(.sb-ol-item) .np{
  padding:0;
  background:rgba(9,14,24,.34);
}
.sb-ol-item{
  display:block !important;
  padding:17px 20px 18px !important;
  border-bottom:1px solid rgba(110,125,154,.27) !important;
  min-height:0 !important;
  background:linear-gradient(90deg,rgba(255,255,255,.018),rgba(255,255,255,0));
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.sb-ol-item:last-child{border-bottom:none !important}
.sb-ol-item:hover{
  background:linear-gradient(90deg,rgba(242,155,24,.045),rgba(91,157,241,.025));
  border-color:rgba(242,155,24,.28) !important;
}
.sb-ol-line{
  display:block !important;
  margin:0 0 6px;
  font-family:var(--body) !important;
  font-size:16px !important;
  line-height:1.12;
  font-weight:800;
  letter-spacing:.01em !important;
  color:var(--text) !important;
  text-transform:none !important;
  white-space:normal !important;
}
.sb-ol-caller{
  display:block !important;
  font-family:var(--body) !important;
  font-size:14px !important;
  line-height:1.45;
  color:rgba(205,215,230,.74) !important;
  font-style:italic !important;
}
@media(max-width:760px){
  .sidebar .sb-block:has(.sb-ol-item) .panel-head,
  aside .sb-block:has(.sb-ol-item) .panel-head,
  .sb-sticky .sb-block:has(.sb-ol-item) .panel-head{padding:16px 18px}
  .sb-ol-item{padding:15px 18px 16px !important}
  .sb-ol-line{font-size:15px !important}
  .sb-ol-caller{font-size:13px !important}
}

/* ══════════════════════════════════════════════════════════
   TRANSMISSIONS HARD RESET — 2026-05-20
   Reason: older Claude/compact/hero card CSS was still competing
   with the newer JS renderer. This block normalizes BOTH old
   .tx-card--compact cards and new .tx-card--clean cards.
   ══════════════════════════════════════════════════════════ */
#txPanelGrid,
#txGrid{
  width:100%!important;
  min-width:0!important;
}
#tx-hero,
.tx-hero-mount{
  display:none!important;
  visibility:hidden!important;
  height:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}
#txGrid > .tx-grid-inner,
#txGrid > .tx-grid-inner--compact,
.tx-grid-inner,
.tx-grid-inner--compact{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr))!important;
  gap:18px!important;
  align-items:start!important;
  grid-auto-flow:row!important;
  grid-auto-rows:auto!important;
  column-count:initial!important;
  columns:initial!important;
}
#txGrid .tx-card,
.tx-grid-inner .tx-card,
.tx-grid-inner--compact .tx-card,
#txGrid .tx-card.tx-card--compact,
#txGrid .tx-card.tx-card--clean{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  contain:layout paint!important;
  text-decoration:none!important;
  color:var(--text,#f4efe5)!important;
  border:1px solid rgba(113,130,156,.24)!important;
  border-radius:8px!important;
  background:linear-gradient(180deg,rgba(18,25,38,.74),rgba(8,12,21,.86))!important;
  box-shadow:0 16px 38px rgba(0,0,0,.16)!important;
  transform:none!important;
}
#txGrid .tx-card:hover{
  border-color:rgba(216,180,99,.42)!important;
  transform:translateY(-2px)!important;
}
/* Hide old hero/large image wells and date boxes that caused blank tops. */
#txGrid .tx-card .tx-card-img,
#txGrid .tx-card .tx-card-img-veil,
#txGrid .tx-card .tx-card-date-over,
#txGrid .tx-card .tx-card-date,
#txGrid .tx-card .tx-card-date--compact,
#txGrid .tx-card .tx-card-cat-stub{
  display:none!important;
}
/* Normalize old and new top strips. */
#txGrid .tx-card .tx-card-top,
#txGrid .tx-card .tx-card-top--compact,
#txGrid .tx-card .tx-card-top-clean{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  width:auto!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:11px 42px 10px 16px!important;
  border:0!important;
  border-bottom:1px solid rgba(113,130,156,.20)!important;
  background:rgba(18,25,38,.46)!important;
}
#txGrid .tx-card .tx-card-top::before,
#txGrid .tx-card .tx-card-top--compact::before{
  content:attr(data-cat);
}
#txGrid .tx-card .tx-card-cat-top,
#txGrid .tx-card .tx-card-top-clean .tx-card-cat-top,
#txGrid .tx-card .tx-card-top,
#txGrid .tx-card .tx-card-top--compact{
  font-family:var(--mono,monospace)!important;
  font-size:9px!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
  color:rgba(164,181,205,.72)!important;
}
#txGrid .tx-card .tx-card-badges,
#txGrid .tx-card .tx-card-top-meta{
  margin-left:auto!important;
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
}
/* Normalize old body + new body. */
#txGrid .tx-card .tx-card-body,
#txGrid .tx-card .tx-card-body--compact,
#txGrid .tx-card .tx-card-main{
  display:grid!important;
  grid-template-columns:72px minmax(0,1fr)!important;
  gap:14px!important;
  align-items:start!important;
  width:auto!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:14px 16px 15px!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
/* Fixed thumbnail/initials block. This is the important part. */
#txGrid .tx-card .tx-card-thumb,
#txGrid .tx-card .tx-card-thumb--photo,
#txGrid .tx-card .tx-card-thumb--signal{
  width:72px!important;
  height:72px!important;
  min-width:72px!important;
  max-width:72px!important;
  min-height:72px!important;
  max-height:72px!important;
  flex:0 0 72px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:12px!important;
  border:1px solid rgba(216,180,99,.34)!important;
  background:rgba(255,255,255,.035)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.035)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  object-fit:cover!important;
}
#txGrid .tx-card .tx-card-thumb img,
#txGrid .tx-card img.tx-card-thumb,
#txGrid .tx-card .tx-card-body img,
#txGrid .tx-card .tx-card-main img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  min-width:0!important;
  object-fit:cover!important;
  object-position:var(--guest-photo-x,50%) var(--guest-photo-y,35%)!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  opacity:.94!important;
}
#txGrid .tx-card .tx-card-thumb--signal{
  font-family:var(--mono,monospace)!important;
  color:var(--amber2,#f0c56b)!important;
  font-size:16px!important;
  letter-spacing:.16em!important;
  text-shadow:0 0 18px rgba(240,197,107,.16)!important;
}
#txGrid .tx-card .tx-card-copy{
  min-width:0!important;
  width:100%!important;
  display:flex!important;
  flex-direction:column!important;
  gap:7px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
#txGrid .tx-card .tx-card-cat{
  display:block!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  font-family:var(--mono,monospace)!important;
  font-size:8px!important;
  letter-spacing:.16em!important;
  line-height:1.2!important;
  text-transform:uppercase!important;
  color:var(--amber2,#f0c56b)!important;
}
#txGrid .tx-card .tx-card-title{
  display:block!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--text,#f4efe5)!important;
  font-family:var(--body,Georgia,serif)!important;
  font-size:17px!important;
  line-height:1.24!important;
  font-weight:800!important;
  letter-spacing:0!important;
  text-shadow:none!important;
}
#txGrid .tx-card .tx-card-guest-wrap,
#txGrid .tx-card .tx-card-guest,
#txGrid .tx-card .tx-card-guest-link{
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  font-family:var(--mono,monospace)!important;
  font-size:10px!important;
  line-height:1.25!important;
  color:rgba(210,219,232,.68)!important;
  text-decoration:none!important;
}
#txGrid .tx-card .tx-card-desc{
  display:-webkit-box!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
  overflow:hidden!important;
  max-height:3.2em!important;
  margin:2px 0 0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:rgba(210,219,232,.58)!important;
  font-size:12px!important;
  line-height:1.55!important;
}
#txGrid .tx-card .tx-card-foot{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  margin-top:auto!important;
  padding:10px 16px 12px!important;
  border-top:1px solid rgba(113,130,156,.16)!important;
  background:transparent!important;
  font-family:var(--mono,monospace)!important;
  color:rgba(164,181,205,.58)!important;
  font-size:9px!important;
  letter-spacing:.08em!important;
}
#txGrid .tx-card .tx-card-arrow{color:var(--amber2,#f0c56b)!important}
#txGrid .tx-card .tx-card-edit,
#txGrid .tx-card .ie-edit-btn{
  position:absolute!important;
  top:8px!important;
  right:8px!important;
  z-index:9!important;
}
@media(max-width:760px){
  #txGrid > .tx-grid-inner,
  #txGrid > .tx-grid-inner--compact,
  .tx-grid-inner,
  .tx-grid-inner--compact{grid-template-columns:1fr!important;gap:12px!important}
  #txGrid .tx-card .tx-card-body,
  #txGrid .tx-card .tx-card-body--compact,
  #txGrid .tx-card .tx-card-main{grid-template-columns:60px minmax(0,1fr)!important;gap:12px!important;padding:13px!important}
  #txGrid .tx-card .tx-card-thumb,
  #txGrid .tx-card .tx-card-thumb--photo,
  #txGrid .tx-card .tx-card-thumb--signal{width:60px!important;height:60px!important;min-width:60px!important;max-width:60px!important;min-height:60px!important;max-height:60px!important;flex-basis:60px!important}
  #txGrid .tx-card .tx-card-title{font-size:16px!important}
}

/* ============================================================
   PAGE REPAIR PATCH — About / Listen / Affiliate Stations
   Added 2026-05-21 after audit: these templates used newer
   page-specific class names that were not present in site.css.
   ============================================================ */

/* About Bart -------------------------------------------------- */
.about-section{max-width:var(--max,1480px);margin:0 auto var(--sp-2xl,72px);padding:0 24px}
.about-grid{display:grid;grid-template-columns:minmax(280px,380px) minmax(0,1fr);gap:clamp(28px,4vw,64px);align-items:start}
.about-photo-sticky{position:sticky;top:110px}
.about-photo-wrap{border:1px solid var(--line,rgba(255,255,255,.12));border-radius:var(--r,18px);background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025));box-shadow:var(--shadow-sm,0 8px 32px rgba(0,0,0,.28));overflow:hidden}
.about-photo-wrap img{display:block;width:100%;height:auto;object-fit:cover}
.about-photo-placeholder{aspect-ratio:4/5;display:grid;place-items:center;background:radial-gradient(circle at 35% 20%,rgba(242,155,24,.18),transparent 36%),linear-gradient(135deg,var(--panel,#141b2a),var(--deep,#0d1320));color:var(--muted,#9aa5b8);font-family:var(--mono,monospace);font-size:12px;letter-spacing:.12em;text-transform:uppercase;text-align:center;padding:28px}
.about-host-meta{padding:20px 22px;border-top:1px solid var(--line,rgba(255,255,255,.12))}
.about-host-label,.about-section-label{font-family:var(--mono,monospace);font-size:11px;line-height:1.3;text-transform:uppercase;letter-spacing:.16em;color:var(--amber2,#ffc15a);margin-bottom:8px}
.about-host-name,.about-name{font-family:var(--disp,'Bebas Neue',sans-serif);font-size:clamp(30px,4vw,48px);line-height:.95;letter-spacing:.025em;color:var(--text,#eee5d6);margin:0 0 6px}
.about-role{font-family:var(--mono,monospace);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#9aa5b8)}
.about-prose{max-width:860px;background:linear-gradient(180deg,rgba(20,27,42,.82),rgba(13,19,32,.70));border:1px solid var(--line,rgba(255,255,255,.12));border-radius:var(--r,18px);padding:clamp(24px,4vw,46px);box-shadow:var(--shadow-sm,0 8px 32px rgba(0,0,0,.28))}
.about-prose p{font-size:clamp(18px,1.4vw,21px);line-height:1.72;color:rgba(238,229,214,.92);margin:0 0 1.1em}
.about-prose p:last-child{margin-bottom:0}
.about-prose em{color:var(--amber2,#ffc15a)}
.about-prose blockquote{margin:30px 0;padding:22px 26px;border-left:4px solid var(--amber,#f29b18);border-radius:0 var(--r-sm,10px) var(--r-sm,10px) 0;background:rgba(242,155,24,.08);color:var(--text,#eee5d6)}
.about-prose blockquote p{font-size:clamp(20px,2vw,28px);line-height:1.35;font-style:italic;color:var(--text,#eee5d6)}

/* Listen ------------------------------------------------------ */
.listen-live-block,.listen-offair-block,.listen-caller-block,.listen-push-bar,.listen-secondary{max-width:1120px;margin:0 auto 26px;padding:clamp(22px,4vw,40px);border:1px solid var(--line,rgba(255,255,255,.12));border-radius:var(--r,18px);background:linear-gradient(180deg,rgba(20,27,42,.88),rgba(13,19,32,.76));box-shadow:var(--shadow-sm,0 8px 32px rgba(0,0,0,.28))}
.listen-live-block{border-color:rgba(98,230,162,.28);background:radial-gradient(circle at 20% 0,rgba(98,230,162,.15),transparent 34%),linear-gradient(180deg,rgba(20,34,30,.92),rgba(13,19,32,.82));text-align:center}
.listen-live-indicator{display:inline-flex;align-items:center;gap:10px;margin-bottom:14px;font-family:var(--mono,monospace);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--green,#62e6a2)}
.listen-live-dot{width:10px;height:10px;border-radius:999px;background:var(--green,#62e6a2);box-shadow:0 0 0 8px rgba(98,230,162,.10),0 0 22px rgba(98,230,162,.55);animation:naPulse 1.4s infinite}
@keyframes naPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(.72);opacity:.62}}
.listen-live-label,.listen-offair-status,.listen-caller-label,.listen-how-label,.listen-push-small{font-family:var(--mono,monospace);font-size:11px;text-transform:uppercase;letter-spacing:.16em;color:var(--muted,#9aa5b8)}
.listen-live-guest,.listen-offair-guest{font-family:var(--disp,'Bebas Neue',sans-serif);font-size:clamp(42px,7vw,86px);line-height:.9;letter-spacing:.02em;color:var(--text,#eee5d6);margin:8px 0}
.listen-live-topic,.listen-offair-topic{max-width:780px;margin:0 auto 18px;color:rgba(238,229,214,.86);font-size:clamp(19px,2vw,26px);line-height:1.35}
.listen-live-btn,.listen-push-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:13px 22px;border:0;border-radius:999px;background:var(--green,#62e6a2);color:#07110d;font-family:var(--mono,monospace);font-weight:700;font-size:12px;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;text-decoration:none;box-shadow:0 12px 34px rgba(98,230,162,.22)}
.listen-live-btn:hover,.listen-push-btn:hover{transform:translateY(-1px);filter:brightness(1.05)}
.listen-live-hint,.listen-live-foot,.listen-offair-date,.listen-caller-foot,.listen-push-compat{font-family:var(--mono,monospace);font-size:12px;color:var(--muted,#9aa5b8);margin-top:12px}
.listen-offair-block{background:radial-gradient(circle at 80% 0,rgba(242,155,24,.13),transparent 34%),linear-gradient(180deg,rgba(20,27,42,.88),rgba(13,19,32,.76))}
.listen-offair-main{text-align:center}
.listen-offair-status{color:var(--amber2,#ffc15a)}
.listen-caller-grid,.listen-how-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-top:18px}
.listen-caller-show,.listen-push-title{font-family:var(--disp,'Bebas Neue',sans-serif);font-size:clamp(30px,4vw,48px);line-height:.95;color:var(--text,#eee5d6)}
.listen-caller-line,.listen-how-card{padding:18px;border:1px solid var(--line,rgba(255,255,255,.12));border-radius:var(--r-sm,10px);background:rgba(255,255,255,.04)}
.listen-caller-line-label{font-family:var(--mono,monospace);font-size:10px;text-transform:uppercase;letter-spacing:.16em;color:var(--amber2,#ffc15a);margin-bottom:6px}
.listen-caller-number{font-family:var(--disp,'Bebas Neue',sans-serif);font-size:34px;color:var(--green,#62e6a2);letter-spacing:.02em;text-decoration:none}
.listen-how-body,.listen-push-desc{color:rgba(238,229,214,.82);line-height:1.55;margin-top:8px}
.listen-push-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;border-color:rgba(91,157,241,.26);background:linear-gradient(135deg,rgba(91,157,241,.10),rgba(20,27,42,.84))}
.listen-push-info{min-width:0}.listen-push-small{color:var(--blue,#5b9df1)}
.listen-ep-list{max-width:1120px;margin:18px auto 0;display:grid;gap:12px}
.listen-ep-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px 18px;border:1px solid var(--line,rgba(255,255,255,.12));border-radius:var(--r-sm,10px);background:rgba(255,255,255,.04);text-decoration:none;color:inherit}
.listen-ep-row:hover{border-color:rgba(242,155,24,.34);background:rgba(242,155,24,.06)}
.listen-ep-title{font-family:var(--disp,'Bebas Neue',sans-serif);font-size:28px;line-height:1;color:var(--text,#eee5d6)}
.listen-ep-guest,.listen-ep-date,.listen-ep-info{font-family:var(--mono,monospace);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#9aa5b8)}

/* Affiliate Stations ---------------------------------------- */
.aff-cta-grid,.aff-clock-wrap,.aff-hours-grid,.aff-network-header,.aff-network-types,.aff-station-grid,.aff-copy{max-width:1180px;margin-left:auto;margin-right:auto}
.aff-cta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:30px}
.aff-cta-card{padding:clamp(22px,3vw,34px);border:1px solid var(--line,rgba(255,255,255,.12));border-radius:var(--r,18px);background:linear-gradient(180deg,rgba(20,27,42,.9),rgba(13,19,32,.78));box-shadow:var(--shadow-sm,0 8px 32px rgba(0,0,0,.28));display:flex;flex-direction:column;gap:12px}
.aff-cta-card-green{border-color:rgba(98,230,162,.24);background:radial-gradient(circle at 0 0,rgba(98,230,162,.12),transparent 38%),linear-gradient(180deg,rgba(20,27,42,.9),rgba(13,19,32,.78))}
.aff-cta-card-amber{border-color:rgba(242,155,24,.25);background:radial-gradient(circle at 0 0,rgba(242,155,24,.13),transparent 38%),linear-gradient(180deg,rgba(20,27,42,.9),rgba(13,19,32,.78))}
.aff-cta-label,.aff-copy-label,.aff-hour-label,.aff-clock-detail-label{font-family:var(--mono,monospace);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted,#9aa5b8)}
.aff-cta-title,.aff-clock-title,.aff-hour-title,.aff-network-title{font-family:var(--disp,'Bebas Neue',sans-serif);font-size:clamp(32px,4vw,54px);line-height:.94;color:var(--text,#eee5d6)}
.aff-cta-body,.aff-clock-desc,.aff-hour-body,.aff-copy-body{color:rgba(238,229,214,.82);line-height:1.6}
.aff-clock-wrap{padding:clamp(22px,3vw,36px);border:1px solid var(--line,rgba(255,255,255,.12));border-radius:var(--r,18px);background:linear-gradient(180deg,rgba(20,27,42,.88),rgba(13,19,32,.72));box-shadow:var(--shadow-sm,0 8px 32px rgba(0,0,0,.28));margin-bottom:30px}
.aff-clock-grid{display:grid;grid-template-columns:minmax(280px,420px) minmax(0,1fr);gap:clamp(22px,4vw,46px);align-items:center}
.aff-clock-totals,.aff-network-types{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:18px}
.aff-clock-stat,.aff-network-type-num{padding:14px;border:1px solid var(--line,rgba(255,255,255,.12));border-radius:var(--r-sm,10px);background:rgba(255,255,255,.04);text-align:center}
.aff-clock-stat-num{font-family:var(--disp,'Bebas Neue',sans-serif);font-size:32px;line-height:1}.aff-clock-stat-label{font-family:var(--mono,monospace);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted,#9aa5b8)}
.aff-clock-detail{margin-top:18px;padding:18px;border:1px solid rgba(91,157,241,.22);border-radius:var(--r-sm,10px);background:rgba(91,157,241,.07)}
.aff-clock-detail-title{font-family:var(--disp,'Bebas Neue',sans-serif);font-size:30px;line-height:1;color:var(--amber2,#ffc15a);margin:4px 0}.aff-clock-detail-body{color:rgba(238,229,214,.82)}
.aff-clock-link,.aff-station-link{display:inline-flex;margin-top:14px;color:var(--blue,#5b9df1);font-family:var(--mono,monospace);font-size:12px;text-decoration:none}.aff-clock-link:hover,.aff-station-link:hover{text-decoration:underline}
.aff-hours-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:30px}.aff-hour{padding:20px;border:1px solid var(--line,rgba(255,255,255,.12));border-radius:var(--r-sm,10px);background:rgba(255,255,255,.04)}
.aff-network-header{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:16px}.aff-network-launch{font-family:var(--mono,monospace);font-size:12px;color:var(--amber2,#ffc15a);letter-spacing:.12em;text-transform:uppercase}
.aff-map-wrap{position:relative;max-width:1180px;min-height:240px;margin:0 auto 24px;padding:24px;border:1px solid var(--line,rgba(255,255,255,.12));border-radius:var(--r,18px);background:linear-gradient(135deg,rgba(91,157,241,.08),rgba(242,155,24,.06)),rgba(255,255,255,.03);overflow:hidden}.aff-map-bg{position:absolute;inset:0;opacity:.18;background:radial-gradient(circle at 50% 42%,rgba(91,157,241,.5),transparent 32%);pointer-events:none}
.aff-station-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-bottom:30px}.aff-station{padding:18px;border:1px solid var(--line,rgba(255,255,255,.12));border-radius:var(--r-sm,10px);background:rgba(255,255,255,.04)}.aff-station-head{display:flex;justify-content:space-between;gap:12px;align-items:start}.aff-station-name{font-family:var(--disp,'Bebas Neue',sans-serif);font-size:30px;line-height:1;color:var(--text,#eee5d6)}.aff-station-call,.aff-station-freq,.aff-station-city,.aff-station-type{font-family:var(--mono,monospace);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted,#9aa5b8)}.aff-station-type{color:var(--green,#62e6a2)}
.aff-copy{padding:24px;border:1px dashed rgba(242,155,24,.35);border-radius:var(--r,18px);background:rgba(242,155,24,.06);margin-bottom:30px}
#bc-clock svg{max-width:100%;height:auto;display:block;margin:auto}

@media(max-width:900px){
  .about-grid,.aff-clock-grid{grid-template-columns:1fr}.about-photo-sticky{position:relative;top:auto}.about-photo-wrap{max-width:420px;margin:0 auto}.aff-cta-grid,.aff-hours-grid{grid-template-columns:1fr}.listen-push-bar{display:block}.listen-push-btn{margin-top:16px}.aff-network-header{display:block}.aff-clock-totals,.aff-network-types{grid-template-columns:1fr}.listen-ep-row{grid-template-columns:1fr}
}
@media(max-width:560px){
  .about-section{padding:0 14px}.about-prose,.listen-live-block,.listen-offair-block,.listen-caller-block,.listen-push-bar,.listen-secondary,.aff-clock-wrap,.aff-cta-card{padding:20px}.listen-live-guest,.listen-offair-guest{font-size:46px}.aff-station-grid{grid-template-columns:1fr}
}

/* =========================================================
   2026-05-21 FULL CSS AUDIT PATCH
   Restores missing page styles for Grave Airwaves and shared
   special-broadcast templates used by Prophetic Airwaves / TOT.
   ========================================================= */

/* --- Shared Special Broadcast / Grave Airwaves framework --- */
.sb-hero{position:relative;overflow:hidden;border:1px solid rgba(255,98,38,.34);border-radius:var(--r-lg);min-height:430px;margin:0 0 34px;background:linear-gradient(155deg,rgba(36,6,2,.98),rgba(14,8,5,.96));box-shadow:0 24px 90px rgba(0,0,0,.42)}
.sb-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 78% 18%,rgba(255,98,38,.20),transparent 46%),radial-gradient(ellipse at 22% 84%,rgba(150,20,20,.14),transparent 42%);pointer-events:none}
.sb-hero-glow{position:absolute;right:-90px;top:-120px;width:420px;height:420px;border-radius:50%;background:rgba(255,98,38,.16);filter:blur(70px);pointer-events:none}
.sb-hero-inner{position:relative;z-index:1;max-width:760px;padding:64px clamp(24px,5vw,62px)}
.sb-kicker,.sb-section-label{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#ff9a73;margin-bottom:12px}
.sb-h1{font-family:var(--disp);font-size:clamp(58px,9vw,110px);letter-spacing:.035em;line-height:.82;color:#ff9a73;text-shadow:0 0 55px rgba(255,98,38,.30);margin:0 0 22px}
.sb-tagline{font-size:clamp(18px,2.3vw,24px);line-height:1.45;color:rgba(245,232,211,.86);max-width:650px;margin:0 0 28px}
.sb-countdown,.sb-live,.sb-tomorrow{display:inline-flex;align-items:center;gap:12px;border:1px solid rgba(255,98,38,.28);background:rgba(10,10,12,.55);border-radius:999px;padding:10px 16px;box-shadow:inset 0 0 22px rgba(255,98,38,.05)}
.sb-countdown-num{font-family:var(--disp);font-size:34px;line-height:1;color:#ff9a73}.sb-countdown-label,.sb-live-label,.sb-tomorrow-label{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.sb-live-dot,.sb-tomorrow-dot{width:10px;height:10px;border-radius:50%;background:#ff6238;box-shadow:0 0 18px rgba(255,98,38,.75)}
.sb-live-dot{animation:na-pulse 1.4s infinite}@keyframes na-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.82)}}
.sb-two-col{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:24px;margin:0 0 34px}.sb-prose{color:var(--muted);font-size:17px;line-height:1.75}.sb-prose p{margin:0 0 18px}.sb-prose p:last-child{margin-bottom:0}
.sb-schedule{border:1px solid rgba(255,98,38,.26);background:rgba(20,8,4,.78);border-radius:var(--r);padding:20px;box-shadow:0 16px 60px rgba(0,0,0,.22)}
.sb-schedule-label{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#ff9a73;margin-bottom:16px}.sb-schedule-row{display:grid;grid-template-columns:86px 1fr;gap:16px;padding:14px 0;border-top:1px solid rgba(255,255,255,.07)}.sb-schedule-row:first-of-type{border-top:0}.sb-schedule-time{font-family:var(--mono);font-size:12px;color:#ff9a73}.sb-schedule-name{font-family:var(--disp);font-size:24px;line-height:1;color:var(--text);letter-spacing:.03em}.sb-schedule-desc{font-size:14px;line-height:1.55;color:var(--dim);margin-top:5px}
.sb-tot-banner,.sb-quote,.sb-cta,.sb-ep-list{border:1px solid rgba(255,98,38,.25);background:linear-gradient(135deg,rgba(255,98,38,.10),rgba(12,13,18,.78));border-radius:var(--r);padding:24px;margin:0 0 34px}.sb-tot-banner{display:flex;align-items:center;justify-content:space-between;gap:20px}.sb-tot-kicker,.sb-cta-label{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#ff9a73;margin-bottom:8px}.sb-tot-title,.sb-cta-title{font-family:var(--disp);font-size:clamp(34px,4vw,54px);line-height:.95;color:var(--text)}.sb-tot-desc{color:var(--muted);line-height:1.6;margin-top:8px;max-width:760px}.sb-quote{text-align:center;background:rgba(12,9,8,.72)}.sb-quote-text{font-family:var(--serif, Georgia, serif);font-size:clamp(24px,3vw,36px);font-style:italic;line-height:1.35;color:rgba(245,232,211,.92)}.sb-quote-attr{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#ff9a73;margin-top:14px}
.sb-section-title-wrap{text-align:center;max-width:760px;margin:0 auto 26px}.sb-section-super{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#ff9a73}.sb-section-title{font-family:var(--disp);font-size:clamp(42px,6vw,72px);line-height:.95;color:var(--text);margin-top:5px}.sb-section-sub{color:var(--muted);font-size:16px;line-height:1.65;margin-top:10px}.sb-year-div{display:flex;align-items:center;gap:14px;margin:0 0 16px}.sb-year-num{font-family:var(--disp);font-size:30px;color:#ff9a73}.sb-year-count,.sb-year-pct{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}.sb-moment-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}.ga-moment-card{display:block;text-decoration:none;border:1px solid rgba(255,98,38,.22);background:rgba(14,10,8,.8);border-radius:var(--r);padding:18px;transition:transform .18s,border-color .18s,background .18s}.ga-moment-card:hover{transform:translateY(-2px);border-color:rgba(255,98,38,.44);background:rgba(28,11,5,.88)}.ga-moment-loc{font-family:var(--mono);font-size:9px;letter-spacing:.16em;text-transform:uppercase;color:#ff9a73;margin-bottom:10px}.ga-moment-text{color:var(--muted);line-height:1.65}.ga-moment-cta{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--text);margin-top:14px}
.sb-ep-list{padding:0;overflow:hidden}.sb-ep-list .sec-head{padding:18px 22px;border-bottom:1px solid rgba(255,98,38,.18);color:#ff9a73}.sb-ep-row{display:grid;grid-template-columns:72px 1fr auto;gap:18px;align-items:center;text-decoration:none;padding:18px 22px;border-top:1px solid rgba(255,255,255,.06);color:inherit}.sb-ep-row:first-of-type{border-top:0}.sb-ep-row:hover{background:rgba(255,98,38,.07)}.sb-ep-date{text-align:center;border:1px solid rgba(255,98,38,.28);border-radius:10px;padding:8px 6px;background:rgba(0,0,0,.22)}.sb-ep-month,.sb-ep-year{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}.sb-ep-day{font-family:var(--disp);font-size:34px;line-height:.92;color:#ff9a73}.sb-ep-title{font-family:var(--disp);font-size:28px;line-height:1.05;color:var(--text)}.sb-ep-guest{color:var(--muted);font-size:14px;margin-top:4px}.sb-ep-cta{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#ff9a73}.sb-empty{text-align:center;padding:36px 20px}.sb-empty-title{font-family:var(--disp);font-size:32px;color:var(--text)}.sb-empty-sub{color:var(--muted);margin-top:8px}.sb-cta{text-align:center}.sb-cta-btns{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:18px}
.sb-rules,.sb-stats-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin:0 0 34px}.sb-rule,.sb-stat{border:1px solid rgba(255,98,38,.22);background:rgba(12,10,9,.72);border-radius:var(--r);padding:18px}.sb-rule-num,.sb-stat-num{font-family:var(--disp);font-size:38px;color:#ff9a73}.sb-rule-title,.sb-stat-label{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--text)}.sb-rule-body{color:var(--muted);line-height:1.55;margin-top:8px}.pa-prediction-card{border:1px solid rgba(255,98,38,.22);background:rgba(12,10,9,.76);border-radius:var(--r);padding:18px;margin-bottom:14px}.pa-pred-cat,.pa-pred-status{font-family:var(--mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;color:#ff9a73}.pa-pred-text{font-size:18px;line-height:1.55;color:var(--text);margin:10px 0}.pa-pred-resolution{color:var(--muted);line-height:1.55}.pa-pred-footer{display:flex;justify-content:space-between;gap:12px;margin-top:12px}.pa-pred-link{color:#ff9a73;text-decoration:none}

/* --- Trick or Treat page --- */
.tot-hero{position:relative;overflow:hidden;border:1px solid rgba(255,98,38,.32);border-radius:var(--r-lg);padding:56px clamp(24px,5vw,60px);margin-bottom:28px;background:linear-gradient(155deg,rgba(36,6,2,.98),rgba(12,9,8,.95))}.tot-h1{font-family:var(--disp);font-size:clamp(54px,8vw,96px);line-height:.86;margin:0 0 16px;color:var(--text)}.tot-h1-accent{color:#ff9a73}.tot-lines{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin:24px 0}.tot-line{border:1px solid rgba(255,98,38,.20);border-radius:var(--r);padding:14px;background:rgba(0,0,0,.18)}.tot-line-icon{font-size:24px}.tot-line-num{font-family:var(--disp);font-size:34px;color:#ff9a73}.tot-line-label,.tot-line-sub{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}.tot-year-nav,.tot-back{margin:0 0 20px}.tot-back-link{color:#ff9a73;text-decoration:none}.tot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;margin-bottom:28px}.tot-card-body{border:1px solid rgba(255,98,38,.22);background:rgba(12,10,9,.76);border-radius:var(--r);padding:18px;height:100%}.tot-card-top{display:flex;align-items:center;gap:10px;margin-bottom:12px}.tot-card-num{font-family:var(--disp);font-size:32px;color:#ff9a73}.tot-card-title{font-family:var(--disp);font-size:30px;color:var(--text)}.tot-card-text{color:var(--muted);line-height:1.65}.tot-vote-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.tot-vote-btn{border:1px solid rgba(255,98,38,.30);background:rgba(255,98,38,.10);color:var(--text);border-radius:999px;padding:10px 14px;cursor:pointer}.tot-vote-btn:hover{background:rgba(255,98,38,.20)}.tot-vote-counts{margin-top:12px}.tot-vote-bar{height:8px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden}.tot-vote-bar-fill{height:100%;background:#ff9a73}.tot-reveal-label,.tot-score-label,.vb-label{font-family:var(--mono);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#ff9a73}.tot-empty{text-align:center;border:1px solid rgba(255,98,38,.22);border-radius:var(--r);padding:34px;background:rgba(12,10,9,.75)}.tot-empty-icon{font-size:42px}.tot-empty-title{font-family:var(--disp);font-size:36px;color:var(--text)}.tot-empty-sub{color:var(--muted)}

/* --- Archive / Search fallback styles found missing in audit --- */
.arc-year-head,.arc-month-head,.search-section{border:1px solid var(--line);background:rgba(13,17,26,.78);border-radius:var(--r);padding:16px;margin-bottom:14px}.arc-year-head,.arc-month-head{display:flex;align-items:center;justify-content:space-between}.arc-year-num,.arc-month,.search-empty-title{font-family:var(--disp);font-size:32px;color:var(--text)}.arc-year-count,.arc-month-count,.search-result-count{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}.arc-ep-row,.search-ep-row,.search-post-row{display:grid;grid-template-columns:64px 1fr;gap:14px;text-decoration:none;color:inherit;border:1px solid var(--line);background:rgba(13,17,26,.68);border-radius:var(--r);padding:14px;margin-bottom:10px}.arc-ep-row:hover,.search-ep-row:hover,.search-post-row:hover{border-color:rgba(234,181,95,.35);background:rgba(234,181,95,.06)}.arc-ep-date,.search-ep-date{text-align:center;border:1px solid rgba(234,181,95,.24);border-radius:9px;padding:6px}.arc-ep-day,.search-ep-day{font-family:var(--disp);font-size:30px;color:var(--amber2);line-height:1}.arc-ep-mon,.search-ep-month,.arc-ep-cat,.search-ep-cat{font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}.arc-ep-title,.search-ep-title,.search-post-title{font-family:var(--disp);font-size:26px;line-height:1.05;color:var(--text)}.arc-ep-guest,.search-ep-guest,.search-ep-desc,.search-post-excerpt{color:var(--muted);font-size:14px;line-height:1.55;margin-top:4px}.arc-empty,.search-empty{text-align:center;border:1px solid var(--line);border-radius:var(--r);padding:34px;background:rgba(13,17,26,.72)}.arc-empty-sub,.search-empty-sub{color:var(--muted)}.search-form,.search-bar{display:flex;gap:10px;margin-bottom:18px}.search-input{flex:1;min-width:0;border:1px solid var(--line);background:rgba(0,0,0,.28);color:var(--text);border-radius:999px;padding:12px 16px}.search-btn{border:1px solid rgba(234,181,95,.34);background:rgba(234,181,95,.12);color:var(--text);border-radius:999px;padding:12px 18px}.search-hints,.search-hints-pills{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.search-hints-label,.search-hint-pill{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}.search-hint-pill{border:1px solid var(--line);border-radius:999px;padding:7px 10px;text-decoration:none}

/* --- Start Here / lightweight missing public page fallbacks --- */
.sh-intro,.sh-nav-card,.sh-ep-row,.custom-page-body{border:1px solid var(--line);background:rgba(13,17,26,.72);border-radius:var(--r);padding:18px}.sh-nav-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin:22px 0}.sh-nav-card{text-decoration:none;color:inherit}.sh-nav-card:hover{border-color:rgba(234,181,95,.35);background:rgba(234,181,95,.06)}.sh-nav-label,.sh-intro-label,.sh-ep-tag{font-family:var(--mono);font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:var(--amber2)}.sh-nav-title,.sh-ep-title{font-family:var(--disp);font-size:28px;color:var(--text)}.sh-nav-body,.sh-intro-body,.sh-ep-desc{color:var(--muted);line-height:1.6}.sh-ep-list{display:grid;gap:12px}.sh-ep-row{display:grid;grid-template-columns:48px 1fr;gap:14px;text-decoration:none;color:inherit}.sh-ep-num{text-align:center}.sh-ep-num-text{font-family:var(--disp);font-size:28px;color:var(--amber2)}.sh-ep-tags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:6px}.sh-ep-guest,.sh-ep-date{color:var(--dim);font-size:13px}.sh-ep-cta{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--amber2);margin-top:8px}.serif-body{font-family:var(--serif, Georgia, serif);font-size:18px;line-height:1.75}.gad-article{max-width:780px;margin:auto}

@media (max-width:760px){.sb-two-col,.sb-ep-row,.arc-ep-row,.search-ep-row,.search-post-row,.sh-ep-row{grid-template-columns:1fr}.sb-tot-banner{display:block}.sb-tot-banner .btn-p{margin-top:16px}.sb-hero-inner,.tot-hero{padding:38px 22px}.sb-schedule-row{grid-template-columns:1fr}.search-form,.search-bar{display:block}.search-btn{margin-top:10px;width:100%}}
/* TOT final audit support */
.sb-ep-info{min-width:0}.tot-reveal-icon,.vb-icon{font-size:24px}.tot-reveal-text{color:var(--muted);line-height:1.6;margin-top:8px}.tot-score{border:1px solid rgba(255,98,38,.22);background:rgba(12,10,9,.76);border-radius:var(--r);padding:18px;margin:16px 0}.tot-score-nums{display:flex;align-items:center;gap:14px}.tot-score-num{font-family:var(--disp);font-size:42px;color:#ff9a73}.tot-score-divider{color:var(--dim)}.tot-score-sub,.tot-score-wrong{color:var(--muted);font-size:14px}.tot-score-right{color:#ff9a73}.trick,.treat{font-family:var(--disp);font-size:24px}.trick-line,.treat-line{border-color:rgba(255,98,38,.24)}.vb-check{display:inline-flex;align-items:center;gap:8px;color:#ff9a73}


/* ══════════════════════════════════════════════════════════
   SEASONAL SPECIALS + GRAVES AFTER DARK READING PATCH
   2026-05-21

   - Gives Grave Airwaves and Prophetic Airwaves their own visual identities.
   - Makes Graves After Dark/article pages non-sticky for less annoying reading.
   - Depends on head.php outputting body[data-page="..."] reliably.
   ══════════════════════════════════════════════════════════ */

/* Article sections: stop the nav/audio bars from pinning during long reading. */
body[data-page="gad"] header,
body[data-page="gad-why"] header,
body[data-page="post"] header{
  position:relative!important;
  top:auto!important;
  z-index:20;
}
body[data-page="gad"] .live-bar,
body[data-page="gad-why"] .live-bar,
body[data-page="post"] .live-bar,
body[data-page="gad"] #statusBar,
body[data-page="gad-why"] #statusBar,
body[data-page="post"] #statusBar{
  position:relative!important;
  top:auto!important;
}
body[data-page="gad"] .nav-mini-player,
body[data-page="gad-why"] .nav-mini-player,
body[data-page="post"] .nav-mini-player{
  position:absolute;
  top:auto;
}

/* Graves After Dark: warm after-hours essay mood. */
body[data-page="gad"],
body[data-page="gad-why"],
body[data-page="post"]{
  --gad-bg:#0f0e0d;
  --gad-panel:#171411;
  --gad-panel2:#211b15;
  --gad-text:#e3d8c8;
  --gad-muted:#a99a87;
  --gad-dim:#756a5c;
  --gad-accent:#b8844f;
  --gad-line:rgba(184,132,79,.22);
  background:
    radial-gradient(ellipse at 18% -10%,rgba(184,132,79,.14),transparent 42%),
    radial-gradient(ellipse at 90% 18%,rgba(90,53,28,.18),transparent 45%),
    linear-gradient(180deg,#0b0b0c 0%,#100e0c 100%);
}
body[data-page="gad"] .masthead,
body[data-page="gad-why"] .masthead,
body[data-page="post"] .masthead{
  background:
    linear-gradient(90deg,rgba(15,14,13,.96),rgba(23,20,17,.94)),
    radial-gradient(ellipse at 75% 20%,rgba(184,132,79,.16),transparent 48%);
  border-bottom-color:var(--gad-line);
}
body[data-page="gad"] .brand-kicker,
body[data-page="gad-why"] .brand-kicker,
body[data-page="post"] .brand-kicker,
body[data-page="gad"] .pre,
body[data-page="gad-why"] .pre,
body[data-page="post"] .pre{
  color:var(--gad-accent);
}
body[data-page="gad"] .site-wordmark span,
body[data-page="gad-why"] .site-wordmark span,
body[data-page="post"] .site-wordmark span{
  color:var(--gad-accent);
  text-shadow:0 0 44px rgba(184,132,79,.25);
}
body[data-page="gad"] header,
body[data-page="gad-why"] header,
body[data-page="post"] header{
  background:rgba(18,15,12,.96);
  border-bottom-color:var(--gad-line);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
body[data-page="gad"] article,
body[data-page="gad-why"] article,
body[data-page="post"] article{
  color:var(--gad-text);
  max-width:760px!important;
}
body[data-page="gad"] .pgh,
body[data-page="gad-why"] .pgh,
body[data-page="post"] .pgh{
  border-bottom:1px solid var(--gad-line);
  padding-bottom:22px;
  margin-bottom:28px;
}

/* Grave Airwaves: haunted Halloween broadcast identity. */
body[data-page="grave-airwaves"]{
  --sb-primary:#e46d22;
  --sb-secondary:#8b1512;
  --sb-accent:#ffb45e;
  --sb-glow:rgba(255,112,29,.34);
  --amber:#e46d22;
  --amber2:#ffb45e;
  --ember:#ff6f29;
  background:
    radial-gradient(ellipse at 82% 10%,rgba(255,112,29,.24),transparent 42%),
    radial-gradient(ellipse at 14% 88%,rgba(139,21,18,.18),transparent 46%),
    repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 4px),
    linear-gradient(180deg,#120604 0%,#080505 55%,#050404 100%);
}
body[data-page="grave-airwaves"] .sb-hero{
  background:
    radial-gradient(ellipse at 50% 18%,rgba(255,112,29,.26),transparent 52%),
    linear-gradient(135deg,rgba(24,8,5,.96),rgba(5,5,6,.98));
  border-color:rgba(255,112,29,.34);
  box-shadow:0 28px 90px rgba(0,0,0,.42),inset 0 0 80px rgba(139,21,18,.12);
}
body[data-page="grave-airwaves"] .sb-hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse at 50% 105%,rgba(210,210,210,.08),transparent 55%),
    repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 5px);
  mix-blend-mode:screen;opacity:.45;
}
body[data-page="grave-airwaves"] .sb-kicker,
body[data-page="grave-airwaves"] .sb-section-label,
body[data-page="grave-airwaves"] .sb-section-super,
body[data-page="grave-airwaves"] .sb-schedule-label,
body[data-page="grave-airwaves"] .sb-tot-kicker{
  color:var(--sb-accent);
}
body[data-page="grave-airwaves"] .sb-h1,
body[data-page="grave-airwaves"] .sb-countdown-num,
body[data-page="grave-airwaves"] .sb-tot-title{
  color:var(--sb-primary);
  text-shadow:0 0 42px var(--sb-glow);
}
body[data-page="grave-airwaves"] .sb-schedule,
body[data-page="grave-airwaves"] .sb-tot-banner,
body[data-page="grave-airwaves"] .sb-quote,
body[data-page="grave-airwaves"] .sb-ep-list,
body[data-page="grave-airwaves"] .sb-cta,
body[data-page="grave-airwaves"] .ga-moment-card{
  border-color:rgba(255,112,29,.26);
  background:linear-gradient(180deg,rgba(30,11,8,.86),rgba(12,8,8,.92));
}
body[data-page="grave-airwaves"] .btn-p{
  background:linear-gradient(180deg,#ef7a28,#8b1512);
  border-color:rgba(255,180,94,.5);
  color:#fff4e8;
}

/* Prophetic Airwaves: blue/violet end-of-year futurecast identity. */
body[data-page="prophetic-airwaves"]{
  --sb-primary:#58d7ff;
  --sb-secondary:#7b5cff;
  --sb-accent:#c4f0ff;
  --sb-glow:rgba(88,215,255,.32);
  --amber:#58d7ff;
  --amber2:#c4f0ff;
  --blue:#7b5cff;
  background:
    radial-gradient(ellipse at 80% 6%,rgba(88,215,255,.19),transparent 44%),
    radial-gradient(ellipse at 18% 78%,rgba(123,92,255,.16),transparent 46%),
    linear-gradient(180deg,#04101d 0%,#070914 62%,#05060d 100%);
}
body[data-page="prophetic-airwaves"] .sb-hero{
  background:
    linear-gradient(90deg,rgba(6,16,32,.98),rgba(8,8,20,.96)),
    radial-gradient(ellipse at 60% 20%,rgba(88,215,255,.22),transparent 52%);
  border-color:rgba(88,215,255,.32);
  box-shadow:0 28px 90px rgba(0,0,0,.42),inset 0 0 80px rgba(123,92,255,.10);
}
body[data-page="prophetic-airwaves"] .sb-hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;opacity:.28;
  background-image:
    linear-gradient(rgba(88,215,255,.09) 1px,transparent 1px),
    linear-gradient(90deg,rgba(88,215,255,.08) 1px,transparent 1px),
    radial-gradient(circle at 78% 30%,rgba(196,240,255,.18),transparent 2px);
  background-size:42px 42px,42px 42px,160px 160px;
}
body[data-page="prophetic-airwaves"] .sb-kicker,
body[data-page="prophetic-airwaves"] .sb-section-label,
body[data-page="prophetic-airwaves"] .sb-section-super,
body[data-page="prophetic-airwaves"] .sb-schedule-label,
body[data-page="prophetic-airwaves"] .pa-score-label{
  color:var(--sb-accent);
}
body[data-page="prophetic-airwaves"] .sb-h1,
body[data-page="prophetic-airwaves"] .sb-countdown-num,
body[data-page="prophetic-airwaves"] .pa-score-num{
  color:var(--sb-primary);
  text-shadow:0 0 46px var(--sb-glow);
}
body[data-page="prophetic-airwaves"] .sb-schedule,
body[data-page="prophetic-airwaves"] .sb-quote,
body[data-page="prophetic-airwaves"] .sb-ep-list,
body[data-page="prophetic-airwaves"] .sb-cta,
body[data-page="prophetic-airwaves"] .pa-score-card,
body[data-page="prophetic-airwaves"] .pa-pred-card{
  border-color:rgba(88,215,255,.25);
  background:linear-gradient(180deg,rgba(7,17,34,.88),rgba(9,10,24,.93));
}
body[data-page="prophetic-airwaves"] .btn-p{
  background:linear-gradient(180deg,#189ed0,#4532b5);
  border-color:rgba(196,240,255,.45);
  color:#f2fbff;
}

@media(max-width:760px){
  body[data-page="gad"] header,
  body[data-page="gad-why"] header,
  body[data-page="post"] header{
    position:relative!important;
  }
}

/* ============================================================
   FIELD REPORTS — CURRENT .rp-* LAYOUT
============================================================ */

.rp-cats{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
    gap:9px;
    margin:0 0 40px;
}

.rp-cat{
    position:relative;
    display:grid;
    grid-template-columns:auto 1fr auto;
    align-items:center;
    gap:11px;
    min-height:0;
    padding:14px 16px;
    border:1px solid var(--line2);
    background:
        linear-gradient(180deg,rgba(255,255,255,.02),transparent),
        var(--panel);
    border-radius:8px;
    cursor:pointer;
    overflow:hidden;
    transition:border-color .16s,background .16s,transform .16s,box-shadow .16s;
}

/* Icon chip — neutral; the category color now sits next to the label */
.rp-cat-icon{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:24px;
    height:24px;
    font-family:var(--body);
    font-size:16px;
    line-height:1;
    color:var(--muted);
    border-radius:6px;
    background:rgba(255,255,255,.03);
    transition:color .16s,background .16s;
}

.rp-cat:hover{
    border-color:var(--amber);
    background:var(--panel2);
    transform:translateY(-1px);
}
.rp-cat:hover .rp-cat-icon{
    color:var(--text);
    background:rgba(255,255,255,.05);
}

.rp-cat.active{
    border-color:var(--amber);
    background:
        linear-gradient(180deg,rgba(242,155,24,.07),transparent),
        var(--panel2);
    box-shadow:
        0 0 0 1px rgba(242,155,24,.28),
        0 8px 26px rgba(0,0,0,.22);
}
.rp-cat.active .rp-cat-icon{
    color:var(--amber2);
}

.rp-cat-label{
    display:inline-flex;
    align-items:center;
    gap:8px;
    font-family:var(--mono);
    font-size:11px;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--text);
    line-height:1.2;
    min-width:0;
}
/* Small category-colored dot, sitting just left of the label text */
.rp-cat-label::before{
    content:"";
    flex-shrink:0;
    width:7px;
    height:7px;
    border-radius:50%;
    background:var(--accent,var(--amber));
    box-shadow:0 0 0 3px color-mix(in srgb,var(--accent,var(--amber)) 18%,transparent);
}
/* "All Reports" tile uses amber and spans the icon column — no extra dot needed,
   but keep the dot for visual consistency in amber */
.rp-cat[data-cat="all"] .rp-cat-label::before{
    background:var(--amber);
    box-shadow:0 0 0 3px rgba(242,155,24,.18);
}

.rp-cat-count{
    font-family:var(--mono);
    font-size:13px;
    font-weight:700;
    color:var(--dim);
    line-height:1;
    min-width:18px;
    text-align:right;
}
.rp-cat.active .rp-cat-count{
    color:var(--amber2);
}

/* "All Reports" tile has no icon — let label span the icon column too */
.rp-cat[data-cat="all"] .rp-cat-label{
    grid-column:1 / 3;
}

#rp-list{
    display:grid;
    gap:12px;
}

.rp-card{
    position:relative;
    display:grid;
    grid-template-columns:5px 1fr;
    background:var(--panel);
    border:1px solid var(--line);
    border-radius:6px;
    overflow:hidden;
    box-shadow:var(--shadow);
    transition:border-color .16s,background .16s,transform .16s;
}

.rp-card:hover{
    border-color:var(--green);
    background:var(--panel2);
    transform:translateY(-1px);
}

.rp-card-bar{
    background:var(--green);
    opacity:.85;
}

.rp-card-inner{
    padding:18px 20px 17px;
}

.rp-card-dossier{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    font-family:var(--mono);
    font-size:10px;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--green);
    margin-bottom:8px;
}

.rp-card-title{
    font-family:var(--body);
    font-size:23px;
    font-weight:700;
    line-height:1.25;
    color:var(--text);
    margin-bottom:10px;
}

.rp-card-coords{
    display:flex;
    flex-wrap:wrap;
    gap:8px 14px;
    color:var(--dim);
    font-family:var(--mono);
    font-size:11px;
}

.rp-card-body{
    margin-top:18px;
    padding-top:18px;
    border-top:1px solid var(--line);
    color:var(--muted);
    font-family:var(--body);
    font-size:18px;
    line-height:1.85;
}

.rp-card-photo img{
    max-width:100%;
    border-radius:4px;
    border:1px solid var(--line);
}

.rp-modal-overlay{
    position:fixed;
    inset:0;
    z-index:10000;
    display:none;
    align-items:flex-start;
    justify-content:center;
    padding:48px 18px;
    background:rgba(0,0,0,.72);
    overflow:auto;
}

.rp-modal-overlay.open{
    display:flex;
}

.rp-modal{
    width:min(920px,100%);
    background:var(--deep);
    border:1px solid var(--line2);
    border-top:3px solid var(--amber);
    border-radius:6px;
    overflow:hidden;
}

.rp-modal-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    padding:22px 24px;
    border-bottom:1px solid var(--line);
    background:var(--panel);
}

.rp-modal-title{
    font-family:var(--body);
    font-size:28px;
    color:var(--text);
}

.rp-modal-body{
    padding:24px;
}

.rp-input,
.rp-textarea{
    width:100%;
    border:1px solid var(--line2);
    background:var(--panel2);
    color:var(--text);
    border-radius:4px;
    padding:12px 14px;
    font-family:var(--body);
}

.rp-textarea{
    min-height:170px;
    resize:vertical;
}

@media(max-width:768px){

    .rp-cats{
        grid-template-columns:1fr 1fr;
    }

    .rp-card-title{
        font-size:20px;
    }

}

@media(max-width:460px){

    .rp-cats{
        grid-template-columns:1fr;
    }

}

/* FIELD REPORTS MODAL CATEGORY GRID FIX */

.rp-modal-cats{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:8px;
    margin-top:10px;
}

.rp-modal-cat{
    display:flex;
    flex-direction:row;
    align-items:center;
    gap:9px;
    min-height:0;
    padding:13px 14px;
    border:1px solid var(--line2);
    background:var(--panel);
    border-radius:8px;
    cursor:pointer;
    transition:border-color .15s,background .15s,transform .15s,box-shadow .15s;
}

.rp-modal-cat:hover{
    border-color:var(--amber);
    background:var(--panel2);
    transform:translateY(-1px);
}
.rp-modal-cat:hover .rp-modal-cat-icon{
    color:var(--text);
}

.rp-modal-cat.active{
    border-color:var(--amber);
    background:
        linear-gradient(180deg,rgba(242,155,24,.08),transparent),
        var(--panel2);
    box-shadow:0 0 0 1px rgba(242,155,24,.28);
}
.rp-modal-cat.active .rp-modal-cat-icon{
    color:var(--amber2);
}
.rp-modal-cat.active .rp-modal-cat-name{
    color:var(--text);
}

.rp-modal-cat-icon{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:22px;
    height:22px;
    font-size:15px;
    color:var(--muted);
    line-height:1;
    flex-shrink:0;
    transition:color .15s;
}

.rp-modal-cat-name{
    display:inline-flex;
    align-items:center;
    gap:7px;
    font-family:var(--mono);
    font-size:10px;
    letter-spacing:.09em;
    text-transform:uppercase;
    color:var(--text);
    line-height:1.2;
}
.rp-modal-cat-name::before{
    content:"";
    flex-shrink:0;
    width:6px;
    height:6px;
    border-radius:50%;
    background:var(--cat-color,var(--amber));
    box-shadow:0 0 0 3px color-mix(in srgb,var(--cat-color,var(--amber)) 18%,transparent);
}

@media(max-width:800px){
    .rp-modal-cats{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:460px){
    .rp-modal-cats{
        grid-template-columns:1fr;
    }
}
/* ============================================================
   FIELD REPORTS — COMPLETION PASS
   Adds the rp-* rules the page uses that were never defined:
   page header, list header, per-category card accents, card
   detail elements, badges, expanded body, and the full submit
   modal form. Matches existing token language (--amber/--green/
   --panel/--line, Crimson Pro body + Space Mono labels).
   ============================================================ */

/* ── Page header ─────────────────────────────────────────── */
.rp-header{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:24px;
    flex-wrap:wrap;
    margin:8px 0 26px;
    padding-bottom:24px;
    border-bottom:1px solid var(--line);
}
.rp-pre{
    font-family:var(--mono);
    font-size:10px;
    letter-spacing:.26em;
    text-transform:uppercase;
    color:var(--amber2);
    margin-bottom:10px;
}
.rp-h1{
    font-family:var(--disp);
    font-size:clamp(44px,6vw,64px);
    line-height:.92;
    letter-spacing:.04em;
    color:var(--text);
    margin:0;
}
.rp-desc{
    color:var(--muted);
    font-family:var(--body);
    font-size:17px;
    line-height:1.6;
    max-width:54ch;
    margin:12px 0 0;
}

/* ── The "Submit Your Report" trigger button ─────────────── */
.rp-submit-trigger{
    flex-shrink:0;
    border:1px solid var(--amber);
    background:rgba(242,155,24,.08);
    color:var(--amber2);
    font-family:var(--mono);
    font-size:12px;
    letter-spacing:.12em;
    text-transform:uppercase;
    padding:14px 22px;
    border-radius:6px;
    cursor:pointer;
    transition:background .16s,border-color .16s,transform .16s,box-shadow .16s;
}
.rp-submit-trigger:hover{
    background:rgba(242,155,24,.16);
    border-color:var(--amber2);
    transform:translateY(-1px);
    box-shadow:0 8px 28px rgba(242,155,24,.14);
}

/* ── List header ─────────────────────────────────────────── */
.rp-list-head{
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:16px;
    margin:0 0 14px;
    padding-bottom:10px;
    border-bottom:1px solid var(--line);
}
.rp-list-label{
    font-family:var(--mono);
    font-size:11px;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--muted);
}
.rp-list-count{
    font-family:var(--mono);
    font-size:11px;
    color:var(--dim);
}

/* ── Card accents — subtle: category color only on the thin bar ─ */
.rp-card-bar{
    background:var(--rp-accent,var(--green));
    opacity:.7;
}
.rp-card:hover{
    border-color:var(--green);
}
.rp-card-dossier{
    color:var(--green);
}
.rp-card-air{
    border-color:rgba(242,155,24,.4);
}

/* ── Card header row ─────────────────────────────────────── */
.rp-card-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:16px;
}
.rp-card-hdr-left{
    min-width:0;
    flex:1;
}
.rp-card-hdr-right{
    display:flex;
    align-items:center;
    gap:8px;
    flex-shrink:0;
}
.rp-card-icon{
    font-size:13px;
    line-height:1;
    opacity:.9;
}

/* ── Card coordinates row (LOC / DATE / FROM) ────────────── */
.rp-coord{
    display:inline-flex;
    align-items:center;
    gap:6px;
}
.rp-coord-label{
    font-size:9px;
    letter-spacing:.14em;
    color:var(--dim);
    opacity:.8;
}
.rp-coord-photo{
    color:var(--amber2);
}

/* ── Badges & expand arrow ───────────────────────────────── */
.rp-badge{
    font-family:var(--mono);
    font-size:9px;
    letter-spacing:.12em;
    text-transform:uppercase;
    padding:3px 8px;
    border-radius:4px;
    border:1px solid var(--line2);
    white-space:nowrap;
}
.rp-badge-new{
    color:var(--green);
    border-color:rgba(98,230,162,.4);
    background:rgba(98,230,162,.08);
}
.rp-badge-air{
    color:var(--amber2);
    border-color:rgba(242,155,24,.4);
    background:rgba(242,155,24,.08);
}
.rp-expand-arrow{
    font-size:12px;
    color:var(--dim);
    transition:color .15s;
}
.rp-card.open .rp-expand-arrow{
    color:var(--text);
}

/* ── Expanded body parts (body base already defined above) ─ */
.rp-card-body{
    display:none;
}
.rp-card.open .rp-card-body{
    display:block;
}
.rp-card-photo{
    margin-bottom:14px;
}
.rp-card-text{
    white-space:normal;
}
.rp-card-bart{
    margin-top:16px;
    padding:14px 16px;
    border-left:3px solid var(--amber);
    background:rgba(242,155,24,.05);
    border-radius:0 4px 4px 0;
}
.rp-card-bart-label{
    font-family:var(--mono);
    font-size:10px;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--amber2);
    margin-bottom:6px;
}
.rp-card-bart-text{
    font-family:var(--body);
    font-style:italic;
    font-size:17px;
    line-height:1.7;
    color:var(--muted);
}

/* ── Example/placeholder cards (shown when archive empty) ── */
.rp-example{
    opacity:.62;
}
.rp-example-badge{
    font-family:var(--mono);
    font-size:8px;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--dim);
    border:1px solid var(--line2);
    border-radius:3px;
    padding:2px 6px;
}
.rp-card-title-example{
    color:var(--muted);
    font-style:italic;
}

/* ── Empty-state CTA ─────────────────────────────────────── */
.rp-empty-cta{
    text-align:center;
    padding:40px 20px;
    border:1px dashed var(--line2);
    border-radius:8px;
    margin-top:18px;
}
.rp-empty-label{
    font-family:var(--mono);
    font-size:11px;
    letter-spacing:.18em;
    text-transform:uppercase;
    color:var(--muted);
    margin-bottom:16px;
}

/* ════════════════════════════════════════════════════════
   SUBMIT MODAL — form internals
   (overlay / modal / header / cats / inputs defined earlier)
   ════════════════════════════════════════════════════════ */

.rp-modal-sub{
    font-family:var(--body);
    font-size:14px;
    color:var(--muted);
    margin-top:6px;
    line-height:1.5;
}
.rp-modal-close{
    flex-shrink:0;
    width:36px;
    height:36px;
    border:1px solid var(--line2);
    background:transparent;
    color:var(--muted);
    border-radius:6px;
    font-size:16px;
    cursor:pointer;
    transition:color .15s,border-color .15s,background .15s;
}
.rp-modal-close:hover{
    color:var(--text);
    border-color:var(--amber);
    background:rgba(242,155,24,.08);
}

/* ── Field blocks, labels, rows ──────────────────────────── */
.rp-field{
    margin-bottom:20px;
}
.rp-label{
    display:block;
    font-family:var(--mono);
    font-size:11px;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--muted);
    margin-bottom:8px;
}
.rp-label .req{
    color:var(--amber2);
    font-size:11px;
}
.rp-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:16px;
}

/* ── Input focus state (base input/textarea defined earlier) ─ */
.rp-input:focus,
.rp-textarea:focus{
    outline:none;
    border-color:var(--amber);
    box-shadow:0 0 0 2px rgba(242,155,24,.18);
}
.rp-input::placeholder,
.rp-textarea::placeholder{
    color:var(--dim);
    opacity:.7;
}
select.rp-input{
    appearance:none;
    cursor:pointer;
}

/* ── Category guidance block (JS-injected) ───────────────── */
.rp-cat-guidance{
    display:none;
    margin-bottom:20px;
}
.rp-cat-guidance.visible{
    display:block;
}
.rp-guidance-inner{
    border-left:3px solid var(--amber);
    background:rgba(255,255,255,.025);
    border-radius:0 6px 6px 0;
    padding:14px 18px;
}
.rp-guidance-label{
    font-family:var(--mono);
    font-size:11px;
    letter-spacing:.1em;
    text-transform:uppercase;
    margin-bottom:8px;
}
.rp-guidance-text{
    font-family:var(--body);
    font-size:16px;
    line-height:1.65;
    color:var(--muted);
}

/* ── Body prompts (chips under the account textarea) ─────── */
.rp-body-prompts{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    margin-top:10px;
}
.rp-prompt-label{
    font-family:var(--mono);
    font-size:10px;
    letter-spacing:.1em;
    text-transform:uppercase;
    color:var(--dim);
    width:100%;
}
.rp-prompt-item{
    font-family:var(--mono);
    font-size:10px;
    letter-spacing:.04em;
    color:var(--muted);
    border:1px solid var(--line2);
    border-left:2px solid var(--prompt-color,var(--amber));
    border-radius:4px;
    padding:5px 10px;
    background:rgba(255,255,255,.02);
}

/* ── Category-specific extra fields (JS-injected) ────────── */
.rp-extra-section{
    margin-bottom:20px;
    padding:18px;
    border:1px solid var(--line2);
    border-radius:8px;
    background:rgba(255,255,255,.015);
}
.rp-extra-label{
    font-family:var(--mono);
    font-size:11px;
    letter-spacing:.1em;
    text-transform:uppercase;
    margin-bottom:14px;
}
.rp-extra-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px 16px;
}
.rp-extra-field{
    min-width:0;
}
.rp-extra-field .rp-label{
    font-size:10px;
    margin-bottom:6px;
}
.rp-extra-full{
    grid-column:1 / -1;
}

/* ── Checkbox row ────────────────────────────────────────── */
.rp-ck{
    display:flex;
    align-items:flex-start;
    gap:10px;
    cursor:pointer;
    margin-bottom:20px;
}
.rp-ck input[type=checkbox]{
    margin-top:3px;
    width:16px;
    height:16px;
    accent-color:var(--amber);
    flex-shrink:0;
    cursor:pointer;
}
.rp-ck-label{
    font-family:var(--body);
    font-size:15px;
    line-height:1.5;
    color:var(--muted);
}

/* ── Modal footer + submit button ────────────────────────── */
.rp-modal-footer{
    padding:20px 24px 24px;
    border-top:1px solid var(--line);
    background:var(--panel);
}
.rp-submit-btn{
    width:100%;
    border:1px solid var(--amber);
    background:linear-gradient(180deg,rgba(242,155,24,.22),rgba(242,155,24,.10));
    color:var(--amber2);
    font-family:var(--mono);
    font-size:13px;
    letter-spacing:.14em;
    text-transform:uppercase;
    padding:16px;
    border-radius:6px;
    cursor:pointer;
    transition:background .16s,transform .16s,box-shadow .16s;
}
.rp-submit-btn:hover:not(:disabled){
    background:linear-gradient(180deg,rgba(242,155,24,.32),rgba(242,155,24,.16));
    transform:translateY(-1px);
    box-shadow:0 10px 30px rgba(242,155,24,.18);
}
.rp-submit-btn:disabled{
    opacity:.55;
    cursor:default;
}
.rp-modal-note{
    margin-top:14px;
    font-family:var(--mono);
    font-size:10px;
    line-height:1.7;
    letter-spacing:.04em;
    color:var(--dim);
    text-align:center;
}

/* ── Success state (replaces form after transmit) ────────── */
.rp-success{
    padding:48px 32px;
    text-align:center;
}
.rp-success-label{
    font-family:var(--mono);
    font-size:11px;
    letter-spacing:.2em;
    text-transform:uppercase;
    color:var(--green);
    margin-bottom:16px;
}
.rp-success-title{
    font-family:var(--disp);
    font-size:40px;
    letter-spacing:.03em;
    color:var(--text);
    margin-bottom:14px;
}
.rp-success-body{
    font-family:var(--body);
    font-size:18px;
    line-height:1.6;
    color:var(--muted);
    max-width:42ch;
    margin:0 auto 28px;
}
.rp-success-close{
    border:1px solid var(--line2);
    background:transparent;
    color:var(--muted);
    font-family:var(--mono);
    font-size:12px;
    letter-spacing:.12em;
    text-transform:uppercase;
    padding:12px 28px;
    border-radius:6px;
    cursor:pointer;
    transition:color .15s,border-color .15s;
}
.rp-success-close:hover{
    color:var(--text);
    border-color:var(--amber);
}

/* ── Responsive: collapse two-column grids on narrow screens ─ */
@media(max-width:640px){
    .rp-header{
        align-items:flex-start;
    }
    .rp-row,
    .rp-extra-grid{
        grid-template-columns:1fr;
    }
    .rp-modal-overlay{
        padding:20px 12px;
    }
    .rp-success-title{
        font-size:32px;
    }
}

/* ============================================================
   NIGHT FILES — LIGHTBOX COMPLETION
   The #nf-lb lightbox uses 25 nf-lb-* classes that were never
   defined, so its close/prev/next buttons were leaking onto the
   page as bare boxes. .nf-lb defaults hidden; JS toggles .open.
   Matches the reports modal overlay pattern + site tokens.
   ============================================================ */

/* Overlay — hidden until JS adds .open (this stops the stray boxes) */
.nf-lb{
    position:fixed;
    inset:0;
    z-index:10000;
    display:none;
    align-items:center;
    justify-content:center;
    padding:40px 20px;
    background:rgba(0,0,0,.82);
    overflow:auto;
}
.nf-lb.open{
    display:flex;
}

.nf-lb-inner{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);
    gap:0;
    width:min(1100px,100%);
    max-height:calc(100vh - 80px);
    background:var(--deep);
    border:1px solid var(--line2);
    border-top:3px solid var(--amber);
    border-radius:8px;
    overflow:hidden;
}

/* Close / prev / next controls */
.nf-lb-close,
.nf-lb-prev,
.nf-lb-next{
    position:absolute;
    z-index:3;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:40px;
    height:40px;
    border:1px solid var(--line2);
    background:rgba(13,19,32,.85);
    color:var(--muted);
    border-radius:8px;
    font-size:18px;
    line-height:1;
    cursor:pointer;
    transition:color .15s,border-color .15s,background .15s;
}
.nf-lb-close:hover,
.nf-lb-prev:hover,
.nf-lb-next:hover{
    color:var(--text);
    border-color:var(--amber);
    background:rgba(242,155,24,.12);
}
.nf-lb-close{ top:14px; right:14px; }
.nf-lb-prev { top:50%; left:14px;  transform:translateY(-50%); }
.nf-lb-next { top:50%; right:14px; transform:translateY(-50%); }

/* Media side (image / audio / doc) */
.nf-lb-media{
    position:relative;
    display:flex;
    align-items:center;
    justify-content:center;
    min-height:320px;
    padding:24px;
    background:#070b12;
}
.nf-lb-img,
#nf-lb-img{
    max-width:100%;
    max-height:calc(100vh - 130px);
    border-radius:4px;
    object-fit:contain;
}

.nf-lb-audio-wrap,
.nf-lb-doc-wrap{
    text-align:center;
    width:100%;
    max-width:420px;
}
.nf-lb-audio-icon,
.nf-lb-doc-icon{
    font-size:54px;
    line-height:1;
    margin-bottom:14px;
    opacity:.9;
}
.nf-lb-audio-label,
.nf-lb-doc-label{
    font-family:var(--mono);
    font-size:11px;
    letter-spacing:.16em;
    text-transform:uppercase;
    color:var(--dim);
}

/* Info side */
.nf-lb-info{
    padding:26px 26px 28px;
    overflow:auto;
    border-left:1px solid var(--line);
    background:var(--panel);
}
.nf-lb-cat{
    font-family:var(--mono);
    font-size:10px;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--green);
    margin-bottom:10px;
}
.nf-lb-title{
    font-family:var(--body);
    font-size:24px;
    font-weight:700;
    line-height:1.25;
    color:var(--text);
    margin-bottom:12px;
}
.nf-lb-caption{
    font-family:var(--body);
    font-size:17px;
    line-height:1.7;
    color:var(--muted);
    margin-bottom:16px;
}
.nf-lb-meta{
    font-family:var(--mono);
    font-size:11px;
    line-height:1.8;
    color:var(--dim);
    border-top:1px solid var(--line);
    padding-top:14px;
}
.nf-lb-bart{
    margin-top:16px;
    padding:14px 16px;
    border-left:3px solid var(--amber);
    background:rgba(242,155,24,.05);
    border-radius:0 4px 4px 0;
}
.nf-lb-bart-label{
    font-family:var(--mono);
    font-size:10px;
    letter-spacing:.14em;
    text-transform:uppercase;
    color:var(--amber2);
    margin-bottom:6px;
}
.nf-lb-bart-text{
    font-family:var(--body);
    font-style:italic;
    font-size:16px;
    line-height:1.7;
    color:var(--muted);
}
.nf-lb-counter{
    margin-top:18px;
    font-family:var(--mono);
    font-size:11px;
    letter-spacing:.1em;
    color:var(--dim);
}

/* Gallery card variants (audio / document) — subtle distinguishing accent */
.nf-card-audio,
.nf-card-doc{
    position:relative;
}
.nf-card-audio::after,
.nf-card-doc::after{
    content:"";
    position:absolute;
    top:10px;
    left:10px;
    width:8px;
    height:8px;
    border-radius:50%;
    z-index:2;
}
.nf-card-audio::after{ background:var(--blue);  box-shadow:0 0 0 3px rgba(91,157,241,.2); }
.nf-card-doc::after  { background:var(--amber); box-shadow:0 0 0 3px rgba(242,155,24,.2); }

/* Responsive: stack media over info on narrow screens */
@media(max-width:760px){
    .nf-lb-inner{
        grid-template-columns:1fr;
        max-height:calc(100vh - 60px);
    }
    .nf-lb-info{
        border-left:none;
        border-top:1px solid var(--line);
    }
    .nf-lb-media{
        min-height:200px;
    }
}

/* nav dropdown touch support */
.nav-dd.open .nav-dd-menu{display:block}

/* ════════════════════════════════════════════════════════════
   EVOLVED ADDITIONS — masthead clock, live takeover, console
   band, weekly transmission, the Two Nights, tower ripples,
   shooting star. Same tokens, same language.
   ════════════════════════════════════════════════════════════ */

/* ── masthead station clock ── */
.mast-clock{text-align:right;padding-bottom:4px}
.mast-clock .mc-label{font-family:var(--mono);font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;color:var(--dim);margin-bottom:8px}
.mast-clock .mc-digits{font-family:var(--mono);font-size:clamp(19px,2.2vw,26px);letter-spacing:.07em;color:var(--amber2);
  text-shadow:0 0 26px rgba(242,155,24,.45);background:rgba(0,0,0,.35);border:1px solid rgba(242,155,24,.25);
  border-radius:var(--r-sm);padding:10px 16px;display:inline-block;min-width:200px;text-align:center}
body.live .mast-clock .mc-digits{color:var(--live2);text-shadow:0 0 26px rgba(226,48,48,.5);border-color:rgba(226,48,48,.4)}
.mast-clock .mc-sub{font-family:var(--mono);font-size:9px;letter-spacing:.18em;color:var(--dim);margin-top:8px;text-transform:uppercase}

/* ── shooting star ── */
.shooting{position:absolute;top:18%;left:-12%;width:120px;height:1.5px;pointer-events:none;z-index:1;
  background:linear-gradient(90deg,transparent,rgba(255,236,200,.9));border-radius:2px;
  transform:rotate(8deg);opacity:0;animation:na-shoot 11s ease-in 3s infinite}
@keyframes na-shoot{0%,93%{opacity:0;left:-12%;top:18%}94%{opacity:1}97%{opacity:0;left:74%;top:30%}100%{opacity:0}}

/* ── tower radio ripples when live ── */
.tower-wave{position:absolute;bottom:101px;left:50%;width:18px;height:18px;border:1.5px solid rgba(226,48,48,.55);
  border-radius:50%;transform:translate(-50%,50%);opacity:0;pointer-events:none}
body.live .tower-wave{animation:na-ripple 2.4s ease-out infinite}
body.live .tower-wave.w2{animation-delay:.8s}
body.live .tower-wave.w3{animation-delay:1.6s}
body.live .tower-blink{animation-duration:.7s}
@keyframes na-ripple{0%{opacity:.8;transform:translate(-50%,50%) scale(.4)}100%{opacity:0;transform:translate(-50%,50%) scale(4.2)}}

/* ── live takeover band ── */
.takeover{background:linear-gradient(180deg,#3a0a0a,#240505);border-bottom:1px solid rgba(255,91,77,.4);position:relative;overflow:hidden}
.takeover::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 130% at 50% -30%,rgba(255,91,77,.35),transparent 60%);animation:na-swell 2.4s ease-in-out infinite}
@keyframes na-swell{0%,100%{opacity:.6}50%{opacity:1}}
.takeover-inner{position:relative;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 24px;flex-wrap:wrap}
.tk-left{display:flex;align-items:center;gap:16px}
.tk-lamp{font-family:var(--disp);font-size:20px;letter-spacing:.14em;color:#fff;
  background:linear-gradient(180deg,#ff5b4d,#b51d1d);padding:5px 15px;border-radius:6px;
  text-shadow:0 0 16px rgba(255,120,100,.9);box-shadow:0 0 26px rgba(226,48,48,.5);animation:na-swell 1.6s ease-in-out infinite}
.tk-what{font-size:17px;color:var(--text)}
.tk-what i{color:#e8b2a8}
.btn-takeover{display:inline-block;padding:11px 24px;border-radius:999px;font-family:var(--mono);font-size:10.5px;
  letter-spacing:.16em;text-transform:uppercase;background:linear-gradient(180deg,#ff5b4d,#c22020);color:#fff;
  box-shadow:0 8px 30px rgba(226,48,48,.45);transition:filter .15s}
.btn-takeover:hover{filter:brightness(1.1)}

/* ── console band above the player ── */
.console-band{display:flex;align-items:center;gap:18px;max-width:var(--max);margin:0 auto 12px;padding:0 24px}
.cb-lamp{font-family:var(--disp);font-size:22px;letter-spacing:.12em;line-height:1;padding:8px 18px;
  border-radius:var(--r-sm);border:1px solid var(--line);flex-shrink:0;transition:all .4s}
body:not(.live) .cb-lamp{color:#5a6478;background:#0a0e16}
body.live .cb-lamp{color:#fff;background:linear-gradient(180deg,var(--live2),#a81818);
  text-shadow:0 0 18px rgba(255,80,80,.9);box-shadow:0 0 28px rgba(232,48,48,.45);animation:na-swell 1.6s ease-in-out infinite}
.cb-kicker{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}
body.live .cb-kicker{color:var(--amber2)}

/* ── the weekly transmission ── */
.weekly{max-width:var(--max);margin:34px auto 0;background:rgba(20,27,42,.86);border:1px solid var(--line);
  border-radius:var(--r);box-shadow:var(--shadow);overflow:hidden;display:grid;grid-template-columns:1.5fr 1fr}
.wk-main{padding:36px 34px 38px;background:linear-gradient(135deg,rgba(242,155,24,.08),transparent 50%)}
.wk-kicker{font-family:var(--mono);font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber2);margin-bottom:14px}
.wk-line{font-family:var(--disp);font-size:clamp(36px,4.6vw,56px);letter-spacing:.03em;line-height:.95;color:var(--text)}
.wk-line em{font-style:normal;color:var(--amber2)}
.wk-desc{margin-top:14px;font-size:17.5px;font-style:italic;color:var(--muted);max-width:430px;line-height:1.55}
.wk-cta{margin-top:22px;display:flex;gap:12px;flex-wrap:wrap}
.wk-aside{border-left:1px solid var(--line);padding:36px 30px;display:flex;flex-direction:column;justify-content:center;gap:20px;background:rgba(0,0,0,.18)}
.wk-next .k{font-family:var(--mono);font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--dim);margin-bottom:7px}
.wk-next .g{font-family:var(--disp);font-size:28px;letter-spacing:.04em;line-height:1;color:var(--text)}
.wk-next .t{font-size:15px;color:var(--muted);font-style:italic;margin-top:5px}
.wk-roadmap{border-top:1px dashed var(--line2);padding-top:16px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;line-height:2.1;text-transform:uppercase;color:var(--dim)}
.wk-roadmap b{color:var(--green);font-weight:400}

/* ── the two nights ── */
.two-nights-head{max-width:var(--max);margin:52px auto 18px;padding:0 24px;display:flex;align-items:baseline;justify-content:space-between;gap:18px}
.tn-title{font-family:var(--disp);font-size:36px;letter-spacing:.05em;color:var(--text)}
.tn-title em{font-style:normal;color:var(--amber2)}
.tn-side{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim)}
.events{max-width:var(--max);margin:0 auto;padding:0 24px;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.poster{position:relative;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);min-height:400px;
  display:flex;flex-direction:column;justify-content:flex-end;padding:34px 30px;box-shadow:var(--shadow-sm);
  transition:transform .25s,box-shadow .25s}
.poster:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.poster .annual{position:absolute;top:20px;left:26px;font-family:var(--mono);font-size:9.5px;letter-spacing:.3em;text-transform:uppercase;color:rgba(238,229,214,.55)}
.poster .date{position:absolute;top:18px;right:22px;text-align:center;font-family:var(--disp);line-height:.95;
  padding:9px 13px;border:1px solid rgba(238,229,214,.25);border-radius:var(--r-sm);background:rgba(0,0,0,.32)}
.poster .date .m{display:block;font-size:12px;letter-spacing:.3em}
.poster .date .d{display:block;font-size:29px}
.poster h3{font-family:var(--disp);font-size:clamp(40px,4.6vw,56px);letter-spacing:.03em;line-height:.92;position:relative}
.poster .tag-line{font-size:17px;font-style:italic;margin-top:9px;position:relative;max-width:380px;line-height:1.5}
.poster .pcount{margin-top:15px;font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;position:relative}
.poster .pcount b{font-weight:400;font-size:15px;letter-spacing:.1em}
.poster.grave{background:
  radial-gradient(ellipse 90% 60% at 50% 115%,rgba(255,98,38,.5),transparent 60%),
  radial-gradient(ellipse 60% 40% at 20% 100%,rgba(180,30,10,.45),transparent 65%),
  linear-gradient(180deg,#0a0506,#160505 60%,#240a05)}
.poster.grave::before{content:"";position:absolute;inset:0;background:
  radial-gradient(1px 1px at 22% 30%,rgba(255,160,90,.5),transparent),
  radial-gradient(1.5px 1.5px at 70% 18%,rgba(255,160,90,.35),transparent),
  radial-gradient(1px 1px at 86% 46%,rgba(255,160,90,.4),transparent);
  animation:na-embers 9s ease-in-out infinite alternate}
@keyframes na-embers{from{transform:translateY(0)}to{transform:translateY(-14px)}}
.poster.grave h3{color:#ffd9bf;text-shadow:0 0 34px rgba(255,98,38,.55)}
.poster.grave .tag-line{color:#d9a08a}
.poster.grave .pcount{color:#b07a64}.poster.grave .pcount b{color:var(--ember)}
.poster.grave .date{color:#ffd9bf;border-color:rgba(255,140,80,.35)}
.poster.prophetic{background:
  radial-gradient(ellipse 80% 55% at 50% -10%,rgba(242,155,24,.32),transparent 60%),
  radial-gradient(ellipse 50% 40% at 85% 100%,rgba(242,155,24,.14),transparent 65%),
  linear-gradient(180deg,#0c0a05,#120e06 55%,#1a1206)}
.poster.prophetic::before{content:"";position:absolute;inset:0;background:
  radial-gradient(1px 1px at 18% 22%,rgba(255,222,150,.65),transparent),
  radial-gradient(1.5px 1.5px at 48% 12%,rgba(255,222,150,.5),transparent),
  radial-gradient(1px 1px at 76% 30%,rgba(255,222,150,.55),transparent),
  radial-gradient(1px 1px at 90% 14%,rgba(255,222,150,.45),transparent)}
.poster.prophetic h3{color:#ffe9bd;text-shadow:0 0 34px rgba(242,155,24,.5)}
.poster.prophetic .tag-line{color:#cdb284}
.poster.prophetic .pcount{color:#9a8456}.poster.prophetic .pcount b{color:var(--amber2)}
.poster.prophetic .date{color:#ffe9bd;border-color:rgba(242,155,24,.4)}

@media(max-width:920px){
  .mast-clock{text-align:left}
  .weekly{grid-template-columns:1fr}
  .wk-aside{border-left:none;border-top:1px solid var(--line)}
  .events{grid-template-columns:1fr}
  .takeover-inner{padding:12px 16px}
}
@media(prefers-reduced-motion:reduce){
  .shooting,.tower-wave,.poster.grave::before{animation:none!important}
}

/* ── FEATURED GUEST spotlight (guests page) ─────────────────── */
.feat-guest{display:grid;grid-template-columns:280px 1fr;gap:0;max-width:var(--max);margin:0 auto 36px;
  background:linear-gradient(120deg,rgba(242,155,24,.1),rgba(20,27,42,.86) 45%);
  border:1px solid rgba(242,155,24,.32);border-radius:var(--r);box-shadow:var(--shadow);
  overflow:hidden;text-decoration:none;transition:transform .2s,box-shadow .2s,border-color .2s}
.feat-guest:hover{transform:translateY(-4px);border-color:rgba(242,155,24,.55)}
.fg-photo{position:relative;min-height:240px;background:
  radial-gradient(ellipse 120% 90% at 50% 110%,rgba(242,155,24,.25),transparent 55%),
  linear-gradient(180deg,#10151f,#0a0e15)}
.fg-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 20%}
.fg-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 60%,rgba(13,19,32,.55))}
.fg-body{padding:30px 34px;display:flex;flex-direction:column;justify-content:center;gap:8px}
.fg-kicker{font-family:var(--mono);font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--amber2)}
.fg-name{font-family:var(--disp);font-size:clamp(34px,4vw,50px);letter-spacing:.04em;line-height:.95;color:var(--text)}
.fg-title{font-size:16.5px;color:var(--dim);font-style:italic}
.fg-quote{font-size:18px;color:var(--muted);font-style:italic;line-height:1.55;margin-top:6px;max-width:560px}
.fg-cta{margin-top:12px;font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--amber2)}
.feat-guest:hover .fg-cta{text-decoration:underline}

/* ── FEATURED TRANSMISSION hero (episodes page) ─────────────── */
.feat-ep{display:flex;align-items:stretch;gap:0;max-width:var(--max);margin:0 auto 34px;
  background:linear-gradient(120deg,rgba(242,155,24,.09),rgba(20,27,42,.86) 50%);
  border:1px solid rgba(242,155,24,.3);border-radius:var(--r);box-shadow:var(--shadow);
  overflow:hidden;text-decoration:none;transition:transform .2s,border-color .2s}
.feat-ep:hover{transform:translateY(-4px);border-color:rgba(242,155,24,.55)}
.fe-body{flex:1;min-width:0;padding:28px 32px;display:flex;flex-direction:column;gap:7px;justify-content:center}
.fe-kicker{font-family:var(--mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--amber2)}
.fe-title{font-family:var(--disp);font-size:clamp(28px,3.4vw,42px);letter-spacing:.04em;line-height:.98;color:var(--text)}
.fe-guest{font-size:16.5px;color:var(--muted);font-style:italic}
.fe-desc{font-size:16px;color:var(--dim);line-height:1.55;max-width:640px}
.fe-side{width:170px;flex-shrink:0;border-left:1px solid var(--line);display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:14px;background:rgba(0,0,0,.18);padding:22px}
.fe-play{width:62px;height:62px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:radial-gradient(circle at 35% 30%,var(--amber2),var(--amber) 65%);color:#1d1304;
  box-shadow:0 0 0 1px rgba(255,255,255,.16) inset,0 10px 28px rgba(242,155,24,.32);transition:transform .15s}
.feat-ep:hover .fe-play{transform:scale(1.08)}
.fe-play svg{margin-left:3px}
.fe-meta{font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);text-align:center}

@media(max-width:860px){
  .feat-guest{grid-template-columns:1fr}
  .fg-photo{min-height:220px}
  .fg-photo::after{background:linear-gradient(180deg,transparent 60%,rgba(13,19,32,.6))}
  .feat-ep{flex-direction:column}
  .fe-side{width:100%;border-left:none;border-top:1px solid var(--line);flex-direction:row;justify-content:space-between;padding:16px 22px}
}

/* ════════════════════════════════════════════════════════════
   REBROADCAST STATE — amber encore, distinct from red live.
   body.rebroadcast mirrors body.live but in the broadcast amber.
   ════════════════════════════════════════════════════════════ */
body.rebroadcast .freq-dot{background:var(--amber2);box-shadow:0 0 9px var(--amber2);animation:breathe 2.2s ease-in-out infinite}
body.rebroadcast .tower-blink{background:var(--amber);box-shadow:0 0 6px var(--amber);animation-duration:1.1s}
body.rebroadcast .mast-clock .mc-digits{color:var(--amber2);text-shadow:0 0 26px rgba(242,155,24,.45);border-color:rgba(242,155,24,.35)}
body.rebroadcast .nav-live-pill{color:#1d1304;border-color:rgba(242,155,24,.6);background:rgba(242,155,24,.85)}

/* encore takeover band — amber gradient instead of red */
.takeover-encore{background:linear-gradient(180deg,#3a2606,#241803)!important;border-bottom-color:rgba(242,155,24,.45)!important}
.takeover-encore::before{background:radial-gradient(ellipse 60% 130% at 50% -30%,rgba(242,155,24,.32),transparent 60%)!important}
.takeover-encore .tk-lamp{background:linear-gradient(180deg,var(--amber2),var(--amber))!important;color:#1d1304!important;text-shadow:none!important;box-shadow:0 0 26px rgba(242,155,24,.45)!important}
.takeover-encore .tk-what{color:#f0d9a8}
.takeover-encore .tk-what i{color:#c9a96a}
.takeover-encore .btn-takeover{background:linear-gradient(180deg,var(--amber2),var(--amber))!important;color:#1d1304!important;box-shadow:0 8px 30px rgba(242,155,24,.4)!important}

/* ════════════════════════════════════════════════════════════
   LISTEN CONSOLE — one component, three states
   ════════════════════════════════════════════════════════════ */
.lc-console{
  max-width:760px;margin:0 auto 28px;padding:clamp(28px,4vw,44px);
  border-radius:var(--r);border:1px solid var(--line);position:relative;overflow:hidden;
  background:linear-gradient(180deg,rgba(20,27,42,.9),rgba(13,19,32,.82));box-shadow:var(--shadow)}
.lc-console::before{content:"";position:absolute;top:0;left:0;right:0;height:2px}
.lc-live{border-color:rgba(226,48,48,.4)}
.lc-live::before{background:linear-gradient(90deg,transparent,var(--live2),transparent)}
.lc-live{background:radial-gradient(ellipse 70% 60% at 20% 0%,rgba(226,48,48,.12),transparent 55%),linear-gradient(180deg,rgba(26,16,18,.92),rgba(13,19,32,.82))}
.lc-encore{border-color:rgba(242,155,24,.4)}
.lc-encore::before{background:linear-gradient(90deg,transparent,var(--amber2),transparent)}
.lc-encore{background:radial-gradient(ellipse 70% 60% at 20% 0%,rgba(242,155,24,.12),transparent 55%),linear-gradient(180deg,rgba(26,21,12,.92),rgba(13,19,32,.82))}
.lc-off{border-color:var(--line)}

.lc-status{display:flex;align-items:center;gap:11px;margin-bottom:22px;flex-wrap:wrap}
.lc-lamp{width:11px;height:11px;border-radius:50%;flex-shrink:0;background:var(--dim)}
.lc-live .lc-lamp{background:var(--live2);box-shadow:0 0 12px var(--live2);animation:lc-pulse 1.3s infinite}
.lc-encore .lc-lamp{background:var(--amber2);box-shadow:0 0 12px var(--amber2);animation:lc-pulse 2s infinite}
@keyframes lc-pulse{0%,100%{opacity:1}50%{opacity:.35}}
.lc-status-label{font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:700}
.lc-live .lc-status-label{color:var(--live2)}
.lc-encore .lc-status-label{color:var(--amber2)}
.lc-off .lc-status-label{color:var(--dim)}
.lc-status-sub{font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:var(--dim);margin-left:auto}

.lc-next-label{font-family:var(--mono);font-size:9px;letter-spacing:.2em;text-transform:uppercase;color:var(--amber2);margin-bottom:10px}
.lc-headline{font-family:var(--disp);font-size:clamp(40px,6vw,72px);letter-spacing:.02em;line-height:.9;color:var(--text);margin-bottom:10px}
.lc-sub{font-size:clamp(17px,2vw,21px);color:var(--muted);font-style:italic;line-height:1.4;margin-bottom:8px;max-width:560px}
.lc-countdown{font-family:var(--mono);font-size:clamp(22px,3vw,30px);letter-spacing:.06em;color:var(--amber2);margin:14px 0 6px;text-shadow:0 0 24px rgba(242,155,24,.35)}

.lc-transport{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin:22px 0 10px}
.lc-play-btn{display:inline-flex;align-items:center;gap:11px;border:none;cursor:pointer;
  font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;
  padding:15px 28px;border-radius:999px;transition:filter .15s,transform .1s}
.lc-live .lc-play-btn{background:linear-gradient(180deg,#ff5b4d,#c22020);color:#fff;box-shadow:0 8px 28px rgba(226,48,48,.42)}
.lc-encore .lc-play-btn{background:linear-gradient(180deg,var(--amber2),var(--amber));color:#1d1304;box-shadow:0 8px 28px rgba(242,155,24,.34)}
.lc-play-btn:hover{filter:brightness(1.08)}
.lc-play-btn:active{transform:translateY(1px)}
.lc-inline-audio{flex:1;min-width:220px}
.lc-inline-audio audio{width:100%;height:38px}
.lc-hint{font-family:var(--mono);font-size:10px;color:var(--dim);letter-spacing:.04em;margin-bottom:18px}
.lc-foot{font-family:var(--mono);font-size:10px;color:var(--dim);letter-spacing:.08em;text-transform:uppercase;border-top:1px solid var(--line);padding-top:16px;margin-top:6px}

/* push bar inside the off-air console */
.lc-push{display:flex;align-items:center;justify-content:space-between;gap:22px;flex-wrap:wrap;
  margin:24px 0 4px;padding:20px;border-radius:var(--r-sm);border:1px solid rgba(91,157,241,.26);
  background:linear-gradient(135deg,rgba(91,157,241,.1),rgba(20,27,42,.7))}
.lc-push-title{font-family:var(--disp);font-size:26px;letter-spacing:.03em;color:var(--text);line-height:1;margin-bottom:6px}
.lc-push-desc{font-size:15px;color:var(--muted);line-height:1.5;max-width:420px}
.lc-push-compat{font-family:var(--mono);font-size:9px;color:var(--dim);letter-spacing:.06em;margin-top:8px;text-transform:uppercase}
.lc-push-btn{display:inline-flex;align-items:center;gap:8px;border:none;cursor:pointer;white-space:nowrap;
  font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;
  padding:13px 22px;border-radius:999px;background:rgba(91,157,241,.18);color:#9fc8ff;border:1px solid rgba(91,157,241,.4);transition:background .15s}
.lc-push-btn:hover{background:rgba(91,157,241,.3)}
.lc-push-small{font-family:var(--mono);font-size:9px;color:var(--dim);margin-top:8px;text-align:center;letter-spacing:.04em}

.lc-links{display:flex;gap:24px;flex-wrap:wrap;margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.lc-links a{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--muted);transition:color .14s}
.lc-links a:hover{color:var(--amber2)}

@media(max-width:640px){
  .lc-status-sub{margin-left:0;flex-basis:100%}
  .lc-push{flex-direction:column;align-items:flex-start}
  .lc-transport{gap:12px}
}

/* ════════════════════════════════════════════════════════════
   SCANLINES — softened, not removed.
   The CRT scanline is part of the late-night identity, but at
   .09 over the whole viewport it muddied text on long pages.
   Dialed down + disabled on long-scroll/admin contexts.
   ════════════════════════════════════════════════════════════ */
body::before{
  background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(0,0,0,.04) 3px 4px)!important;
  opacity:.6;
}
@media(prefers-reduced-motion:reduce){body::before{display:none}}

/* recurring-schedule note under the sidebar pattern */
.sched-note{padding:9px 16px;font-family:var(--body);font-size:13px;font-style:italic;color:var(--dim);line-height:1.5;border-bottom:1px solid var(--line)}



/* ════════════════════════════════════════════════════════════
   GUEST ROSTER — Premium case-file cards (adjustable columns)
   Column count comes from --roster-cols (admin: roster_columns).
   Photos live on each guest's own page; here a ghosted monogram
   fills the space and keeps every card consistent and archival.
   ════════════════════════════════════════════════════════════ */
.gx-ledger{
  display:grid;
  grid-template-columns:repeat(var(--roster-cols,2),minmax(0,1fr));
  gap:18px;
}

.gx-row{
  position:relative;display:flex;flex-direction:column;
  padding:26px 26px 24px;min-height:188px;
  border:1px solid rgba(122,138,160,.18);border-radius:16px;cursor:pointer;overflow:hidden;isolation:isolate;
  background:
    radial-gradient(120% 80% at 100% 0%,rgba(242,155,24,.05),transparent 55%),
    linear-gradient(165deg,rgba(28,37,56,.72),rgba(12,17,28,.86));
  box-shadow:0 1px 0 rgba(255,255,255,.03) inset, 0 14px 30px -18px rgba(0,0,0,.7);
  transition:transform .22s cubic-bezier(.2,.7,.2,1),border-color .22s,box-shadow .22s;
}
/* gold hairline along the top edge */
.gx-row::after{
  content:"";position:absolute;left:0;right:0;top:0;height:1px;z-index:2;
  background:linear-gradient(90deg,transparent,rgba(242,155,24,.55) 25%,rgba(255,193,90,.75) 50%,rgba(242,155,24,.55) 75%,transparent);
  opacity:.4;transition:opacity .22s;
}
.gx-row:hover{
  transform:translateY(-4px);border-color:rgba(242,155,24,.55);
  box-shadow:0 1px 0 rgba(255,255,255,.05) inset, 0 26px 46px -22px rgba(0,0,0,.85), 0 0 32px -10px rgba(242,155,24,.28);
}
.gx-row:hover::after{opacity:1}

/* Ghosted monogram watermark — fills the photo void, always consistent */
.gx-mono{
  position:absolute;right:-6px;bottom:-24px;z-index:0;pointer-events:none;
  font-family:var(--disp);font-size:128px;line-height:1;letter-spacing:.02em;
  color:rgba(242,155,24,.05);
  -webkit-text-stroke:1px rgba(242,155,24,.06);
  transition:color .22s,transform .22s;
}
.gx-row:hover .gx-mono{color:rgba(242,155,24,.09);transform:translateY(-2px) scale(1.02)}

/* everything above the watermark */
.gx-row > .gx-file,.gx-row > .gx-main,.gx-row > .gx-flag-wrap,.gx-row > .gx-arrow{position:relative;z-index:1}

/* File number — stamped catalogue anchor */
.gx-file{
  display:inline-flex;align-items:center;gap:7px;align-self:flex-start;
  font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;color:var(--dim);
  font-variant-numeric:tabular-nums;margin-bottom:16px;
  padding:5px 10px;border:1px solid rgba(122,138,160,.22);border-radius:6px;
  background:rgba(8,12,20,.5);transition:color .2s,border-color .2s,background .2s;
}
.gx-file::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--dim);transition:background .2s,box-shadow .2s}
.gx-row:hover .gx-file{color:var(--amber2);border-color:rgba(242,155,24,.4);background:rgba(242,155,24,.07)}
.gx-row:hover .gx-file::before{background:var(--amber2);box-shadow:0 0 8px var(--amber2)}

.gx-main{min-width:0;flex:1;display:flex;flex-direction:column}
.gx-name{
  font-family:var(--disp);font-size:clamp(28px,2.6vw,38px);line-height:.94;letter-spacing:.015em;
  color:var(--text);transition:color .2s;text-wrap:balance;
}
.gx-row:hover .gx-name{color:var(--amber2)}
.gx-title{font-family:var(--body);font-size:15px;font-style:italic;color:var(--muted);margin-top:8px;line-height:1.4}
.gx-data{
  font-family:var(--mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--dim);margin-top:auto;padding-top:16px;display:flex;align-items:center;gap:9px;flex-wrap:wrap;
}
.gx-sep{color:rgba(242,155,24,.4)}

/* Status flag */
.gx-flag-wrap{margin-top:14px}
.gx-flag{font-family:var(--mono);font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;border-radius:5px;padding:5px 10px;white-space:nowrap}
.gx-flag-mem{border:1px solid rgba(242,155,24,.34);background:rgba(242,155,24,.08);color:var(--amber2)}
.gx-flag-gaw{border:1px solid rgba(255,98,38,.34);background:rgba(255,98,38,.08);color:#ff9a73}

/* Arrow — bottom-right, fades in */
.gx-arrow{
  position:absolute;right:20px;bottom:18px;z-index:1;
  font-family:var(--mono);font-size:17px;color:var(--amber2);
  opacity:0;transform:translateX(-5px);transition:opacity .2s,transform .2s;
}
.gx-row:hover .gx-arrow{opacity:1;transform:translateX(0)}

/* Responsive: collapse the chosen column count down on smaller screens */
@media(max-width:900px){ .gx-ledger{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media(max-width:560px){ .gx-ledger{grid-template-columns:1fr} }

/* variable-night cadence line in the sidebar schedule */
.sched-cadence{padding:10px 16px 12px;font-family:var(--body);font-size:14px;color:var(--muted);line-height:1.5;border-bottom:1px solid var(--line)}

/* ============================================================
   PAGE BUILDER — front-end block styles
   ============================================================ */
.pb-region{max-width:var(--max,1200px);margin:0 auto;padding:0 0 8px}
.pb-sh{margin:30px 0 18px}
.pb-kick{font-family:var(--mono);font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--amber2);margin-bottom:8px}
.pb-sh-row{display:flex;align-items:center;gap:14px}
.pb-h{font-family:var(--disp);font-size:clamp(30px,4vw,46px);letter-spacing:.03em;line-height:.92;color:var(--text)}
.pb-ln{height:1px;flex:1;background:var(--line2)}
.pb-note{font-family:var(--mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}

/* gallery grid */
.pb-gal{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:18px}
.pb-gcard{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:var(--panel);transition:transform .16s,border-color .16s,box-shadow .16s}
.pb-gcard:hover{transform:translateY(-4px);border-color:var(--ac,#f29b18);box-shadow:0 18px 36px -22px #000,0 0 22px -12px var(--ac,#f29b18)}
.pb-gcover{aspect-ratio:5/4;position:relative;display:flex;align-items:center;justify-content:center;background:radial-gradient(120% 90% at 50% 0%,color-mix(in srgb,var(--ac,#f29b18) 16%,transparent),transparent 60%),linear-gradient(180deg,#10182a,#070b13);overflow:hidden}
.pb-gcover img{width:100%;height:100%;object-fit:cover}
.pb-gc-ph{font-family:var(--disp);font-size:54px;color:var(--ac,#f29b18);opacity:.5}
.pb-gcount{position:absolute;top:8px;right:8px;font-family:var(--mono);font-size:9px;color:var(--text);background:rgba(0,0,0,.55);border:1px solid var(--line2);padding:3px 8px;border-radius:20px;z-index:2}
.pb-gmeta{padding:12px 13px}
.pb-gname{font-family:var(--disp);font-size:21px;letter-spacing:.03em;line-height:.98;color:var(--text)}
.pb-gdesc{font-family:var(--body);font-size:13px;color:var(--muted);line-height:1.35;margin-top:3px}

/* resource rows */
.pb-rows{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px}
.pb-row{display:flex;align-items:center;gap:13px;border:1px solid var(--line);border-radius:10px;padding:14px 16px;background:var(--deep);transition:border-color .14s,transform .14s,background .14s;text-decoration:none}
.pb-row:hover{border-color:var(--amber);transform:translateX(2px);background:var(--panel)}
.pb-row-b{flex:1;min-width:0}
.pb-rt{font-family:var(--disp);font-size:18px;letter-spacing:.03em;line-height:1;color:var(--text)}
.pb-rd{font-family:var(--body);font-size:12.5px;color:var(--dim);margin-top:3px;line-height:1.3}
.pb-rx{margin-left:auto;font-family:var(--mono);font-size:13px;color:var(--dim)}
.pb-row:hover .pb-rx{color:var(--amber2)}

/* specials */
.pb-specs{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:18px}
.pb-spec{position:relative;border:1px solid var(--line2);border-radius:16px;padding:30px 28px;min-height:180px;display:flex;flex-direction:column;justify-content:flex-end;text-decoration:none;
  background:radial-gradient(120% 90% at 82% 0%,color-mix(in srgb,var(--ac,#ff6226) 22%,transparent),transparent 55%),linear-gradient(180deg,rgba(20,16,12,.85),rgba(9,8,12,.95));transition:transform .2s}
.pb-spec:hover{transform:translateY(-4px)}
.pb-spec-dt{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ac,#ff6226);margin-bottom:8px}
.pb-spec-nm{font-family:var(--disp);font-size:clamp(30px,4vw,46px);letter-spacing:.02em;line-height:.9;color:var(--text)}
.pb-spec-ds{font-family:var(--body);font-style:italic;font-size:15px;color:var(--muted);margin-top:8px;max-width:360px}

/* now / next */
.pb-now{border:1px solid rgba(242,155,24,.28);border-radius:14px;padding:22px 24px;margin:14px 0 18px;background:linear-gradient(120deg,rgba(242,155,24,.07),rgba(20,27,42,.5))}
.pb-now-lbl{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--amber2);margin-bottom:8px}
.pb-now-nm{font-family:var(--disp);font-size:clamp(30px,4vw,44px);line-height:.9;color:var(--text)}
.pb-now-tp{font-family:var(--body);font-style:italic;font-size:17px;color:var(--muted);margin-top:6px}
.pb-now-dt{font-family:var(--mono);font-size:11px;color:var(--dim);margin-top:8px;letter-spacing:.06em}

/* text / html */
.pb-text{margin:14px 0 18px}
.pb-text .pb-text-body{font-family:var(--body);font-size:17px;color:var(--muted);line-height:1.6;max-width:760px}
.pb-html{margin:14px 0 18px}

@media(max-width:920px){.pb-gal{grid-template-columns:repeat(2,1fr)}.pb-rows{grid-template-columns:repeat(2,1fr)}.pb-specs{grid-template-columns:1fr}}
@media(max-width:560px){.pb-gal{grid-template-columns:1fr}.pb-rows{grid-template-columns:1fr}}
