/* ═══════════════════════════════════════════
   RBLN — Light Sky UI / Palette 19
   Bright, airy, high-tech. No dark panels.
═══════════════════════════════════════════ */

*,*::before,*::after{box-sizing:border-box;border-radius:0!important;-webkit-font-smoothing:antialiased;}

/* ── BODY ── */
body{background:#E1EEF5;font-family:'Rajdhani','Courier New',sans-serif;overflow-x:hidden;min-height:100vh;}

/* ══════════════════════════════════
   TYPOGRAPHY SYSTEM
══════════════════════════════════ */

/* Orbitron — headings, labels, panel titles */
.t7-tl-label,
.t7-titlebar,
.ph-tag,
#logo-txt,
#ban-tag,
.t-num,
.tracks-foot,
.gbar-item,
#av-header-txt {
  font-family:'Orbitron',sans-serif!important;
}

/* Rajdhani — body text, lists, small UI */
.t-name,
.t-play,
.ph-id,
#header-sub,
#live-clock,
.t7-tl-sub,
.gbar-val,
.t7-body,
.t7-section {
  font-family:'Rajdhani',sans-serif!important;
}

/* Panel title bars */
.t7-tl-label{
  font-family:'Orbitron',sans-serif!important;
  font-size:9px!important;
  font-weight:600!important;
  text-transform:uppercase!important;
  letter-spacing:0.26em!important;
  color:#3E6AA6!important;
  text-shadow:0 0 4px rgba(255,255,255,0.6)!important;
}

/* Internal section headers (ph-tag) */
.ph-tag{
  font-family:'Orbitron',sans-serif!important;
  font-size:7px!important;
  font-weight:600!important;
  text-transform:uppercase!important;
  letter-spacing:0.22em!important;
  color:#3E6AA6!important;
  text-shadow:none!important;
  padding-left:4px;
}

/* Track names */
.t-name{
  font-family:'Rajdhani',sans-serif!important;
  font-size:11px!important;
  font-weight:500!important;
  letter-spacing:0.1em!important;
  text-transform:uppercase!important;
  color:#3A6EC0!important;
}

/* Track numbers */
.t-num{
  font-family:'Orbitron',sans-serif!important;
  font-size:8px!important;
  font-weight:400!important;
  color:rgba(85,127,178,0.7)!important;
}

/* Globe bar */
.gbar-item{
  font-family:'Orbitron',sans-serif!important;
  font-size:6px!important;
  font-weight:400!important;
  letter-spacing:0.14em!important;
  text-transform:uppercase!important;
}
.gbar-val{
  font-family:'Rajdhani',sans-serif!important;
  font-size:10px!important;
  font-weight:500!important;
  letter-spacing:0.12em!important;
}

/* Header logo */
#logo-txt{
  font-family:'Orbitron',sans-serif!important;
  font-size:18px!important;
  font-weight:700!important;
  letter-spacing:0.38em!important;
}

/* Header subtitle */
#header-sub{
  font-family:'Rajdhani',sans-serif!important;
  font-size:10px!important;
  font-weight:400!important;
  letter-spacing:0.18em!important;
}

/* Banner */
#ban-tag{
  font-family:'Orbitron',sans-serif!important;
  font-size:7px!important;
  font-weight:400!important;
  letter-spacing:0.28em!important;
}
#live-clock{
  font-family:'Rajdhani',sans-serif!important;
  font-size:9px!important;
  letter-spacing:0.1em!important;
}

/* Avatar header */
#av-header-txt{
  font-family:'Orbitron',sans-serif!important;
  font-size:7px!important;
  font-weight:600!important;
  letter-spacing:0.24em!important;
  text-transform:uppercase!important;
}

/* Buttons */
#enter-btn,.btn,button{
  font-family:'Orbitron',sans-serif!important;
  font-size:8px!important;
  font-weight:600!important;
  letter-spacing:0.2em!important;
  text-transform:uppercase!important;
}

/* Nav strip */
#g-signal .hstrip{
  font-family:'Orbitron',sans-serif!important;
  font-size:7px!important;
  font-weight:400!important;
  letter-spacing:0.2em!important;
}

/* RBLN hero title */
#g-signal #hero-title{
  font-family:'Orbitron',sans-serif!important;
  font-size:28px!important;
  font-weight:700!important;
  letter-spacing:0.38em!important;
}
#g-signal #hero-sub{
  font-family:'Rajdhani',sans-serif!important;
  font-size:10px!important;
  font-weight:400!important;
  letter-spacing:0.2em!important;
}

/* Tracks footer */
.tracks-foot{
  font-family:'Orbitron',sans-serif!important;
  font-size:7px!important;
  font-weight:400!important;
  letter-spacing:0.2em!important;
}

/* ── WALLPAPER ── */
#bg{
  position:fixed!important;inset:0;z-index:0;
  background-image:url('bg.jpg')!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  filter:none!important;
}
#bg::after{display:none!important;}
#bg::before{display:none!important;}

/* ── OVERLAYS — ALL HIDDEN ── */
#haze-overlay,
#audio-vis-overlay,
#crt {
  display:none!important;
}
body::before,
body::after {
  display:none!important;
}

/* ── HEADER — die-cut shape, Theory7 style ── */
#header{
  position:fixed!important;
  top:0!important;
  left:0!important;
  width:100%!important;
  height:38px!important;
  padding:0 20px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  z-index:200!important;
  background:#AFCBE3!important;
  border:none!important;
  clip-path:none!important;
  box-shadow:0 2px 6px rgba(0,0,0,0.08),inset 0 1px 0 rgba(255,255,255,0.5)!important;
  max-width:none!important;margin:0!important;
}
#header::before{
  content:'';position:absolute;inset:0;
  border-top:1px solid rgba(255,255,255,0.45);
  border-left:1px solid rgba(255,255,255,0.45);
  pointer-events:none;clip-path:inherit;
}
#header::after{
  content:'';position:absolute;inset:0;
  pointer-events:none;
  border-bottom:1px solid rgba(255,255,255,0.5);
  clip-path:inherit;
  opacity:0.6;
}
/* Logo: corner-stamp position */
#logo-txt{
  position:absolute!important;
  top:8px!important;
  left:14px!important;
  color:#3E6AA6!important;font-family:'Orbitron',sans-serif!important;
  font-size:13px!important;font-weight:700!important;
  letter-spacing:0.28em!important;
  text-shadow:0 1px 0 rgba(255,255,255,0.6)!important;
}
#header-sub{
  color:rgba(62,106,166,0.75)!important;font-size:8px!important;
  font-family:'Orbitron',sans-serif!important;letter-spacing:0.2em!important;
}

/* ── BANNER — offset to expose die-cut edge ── */
#banner{
  position:fixed!important;
  top:36px!important;
  left:0!important;
  width:100%!important;
  z-index:199!important;
  background:linear-gradient(180deg,#A2BFDC 0%,#82ACD7 100%)!important;
  border-left:none!important;border-right:none!important;
  border-bottom:2px solid #557FB2!important;border-top:1px solid rgba(255,255,255,0.4)!important;
  padding:2px 0!important;margin:0!important;max-width:none!important;
  box-shadow:0 2px 4px rgba(0,0,0,0.05)!important;
}
#ban-tag{color:#3E6AA6!important;font-size:7px!important;letter-spacing:0.3em!important;font-family:'Orbitron',sans-serif!important;text-transform:uppercase!important;}
#live-clock{color:rgba(62,106,166,0.65)!important;font-size:7px!important;font-family:'Orbitron',sans-serif!important;}

/* ── MAIN CONTENT WRAPPER — flex two-column ── */
#content{
  max-width:1080px;margin:0 auto;
  display:flex!important;
  flex-direction:row!important;
  gap:24px!important;
  padding:16px 24px!important;
  margin-top:120px!important;
  align-items:flex-start!important;
  position:relative;z-index:10;
}

/* ══════════════════════════════════
   THE 3 PANELS
══════════════════════════════════ */
.t7-panel{
  background:linear-gradient(180deg,#C7DEEF 0%,#A2BFDC 100%);
  border-top:3px solid #E1EEF5;
  border-left:3px solid #E1EEF5;
  border-right:3px solid #7397C1;
  border-bottom:3px solid #7397C1;
  box-shadow:
    inset 2px 2px 0 rgba(255,255,255,0.4),
    inset -1px -1px 0 rgba(0,0,0,0.15),
    3px 3px 0 rgba(0,0,0,0.2);
  position:relative;
  overflow:hidden;
}
/* Inner bevel line */
.t7-panel::before{
  content:'';position:absolute;inset:3px;
  border-top:1px solid rgba(255,255,255,0.5);
  border-left:1px solid rgba(255,255,255,0.5);
  pointer-events:none;z-index:0;
}

/* PANEL 1 — main content (PRIMARY) */
#panel-main{
  flex:1 1 0!important;
  min-width:0!important;
  max-width:700px!important;
  z-index:12;position:relative;
}

/* PANEL 2 — system stack (SECONDARY) */
#panel-side{
  flex:0 0 220px!important;
  width:220px!important;
  min-width:0!important;
  align-self:flex-start!important;
  opacity:0.97;
}

/* PANEL 3 — floating video, removed from flex flow */
#panel-video{
  /* kept position:fixed via video panel rule below */
}

/* ── PANEL TITLE BARS ── */
.t7-titlebar{
  display:flex;align-items:center;gap:0;
  background:linear-gradient(180deg,#82ACD7 0%,#7397C1 100%);
  border-bottom:3px solid #557FB2;
  padding:0;
  position:relative;z-index:1;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.45),0 1px 0 rgba(62,106,166,0.3);
  cursor:default;user-select:none;
}
/* Left accent bar on titlebar */
.t7-titlebar::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:4px;
  background:linear-gradient(180deg,#E1EEF5,#82ACD7);
}
.t7-tl-dot{
  width:7px;height:7px;background:#E1EEF5;
  margin:0 7px 0 10px;
  box-shadow:0 0 5px rgba(255,255,255,0.9);
  animation:dotBlink 2.5s steps(1) infinite;flex-shrink:0;
}
@keyframes dotBlink{0%,58%,100%{opacity:1;}60%,98%{opacity:0;}}
.t7-tl-label{
  color:#3E6AA6;font-size:9px;font-weight:700;
  font-family:'Orbitron',sans-serif;
  letter-spacing:0.26em;text-transform:uppercase;
  text-shadow:0 1px 0 rgba(255,255,255,0.5);
  padding:5px 0;flex:1;
}
.t7-tl-sub{
  color:rgba(62,106,166,0.7);font-size:7px;
  font-family:'Orbitron',sans-serif;letter-spacing:0.14em;
  padding-right:8px;
}
.t7-tl-btn{
  display:inline-flex;align-items:center;justify-content:center;
  width:18px;height:100%;min-height:22px;
  font-size:8px;color:rgba(62,106,166,0.7);
  border-left:1px solid rgba(85,127,178,0.35);
  cursor:pointer;font-family:'Orbitron',sans-serif;
}
.t7-tl-btn:hover{background:rgba(255,255,255,0.25);color:#3E6AA6;}
.t7-tl-x:hover{background:rgba(180,40,40,0.15);color:#c04040;}

/* ── PANEL BODY ── */
.t7-body{position:relative;z-index:1;}

/* ── SECTIONS INSIDE PANELS ── */
.t7-section{
  background:transparent!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  border:none!important;
  border-bottom:1px solid rgba(85,127,178,0.25)!important;
  box-shadow:none!important;
  position:relative;overflow:hidden;
}
.t7-section:last-child{border-bottom:none!important;}

/* Internal section header (ph) */
.ph{
  background:linear-gradient(90deg,#A2BFDC 0%,#82ACD7 50%,#A2BFDC 100%)!important;
  border-bottom:1px solid #7397C1!important;
  padding:3px 8px 3px 12px!important;
  position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:6px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.5)!important;
}
.ph::before{
  content:'';position:absolute;left:0;top:0;bottom:0;width:2px;
  background:#3A6EC0;
}
.ph-tag{color:#3E6AA6!important;font-size:7px!important;font-weight:600!important;letter-spacing:0.22em!important;text-transform:uppercase!important;font-family:'Orbitron',sans-serif!important;padding-left:4px;}
.ph-id{color:rgba(62,106,166,0.65)!important;font-size:7px!important;font-family:'Orbitron',sans-serif!important;letter-spacing:0.1em!important;}
.dot-g{width:4px!important;height:4px!important;background:#3A6EC0!important;box-shadow:0 0 4px rgba(58,110,192,0.6)!important;border-radius:0!important;animation:dotBlink 2.5s steps(1) infinite;}

/* ── SIGNAL / HERO SECTION — TRUE SOLID, NO BLEED ── */
#g-signal,
#g-signal *,
#g-signal #hero-img,
#panel-main #g-signal {
  background-image:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
#g-signal {
  background:#9FBFDB!important;
  background-image:none!important;
  isolation:isolate;
  position:relative;
  overflow:hidden;
}
#g-signal::before,
#g-signal::after {
  display:none!important;
}
#g-signal #hero-img{
  height:270px;
  background:#9FBFDB!important;
  background-image:none!important;
  border-bottom:1px solid #7397C1;position:relative;overflow:hidden;
}
#g-signal #hero-img::after{
  display:none!important;
}
/* hero-canvas draws a JS image — hide it, keep the globe canvas */
#hero-canvas{display:none!important;}
#wg-cv{
  background:transparent!important;
  background-image:none!important;
  position:relative;
  z-index:2;
}
#g-signal #hero-ov{background:none!important;background-image:none!important;}
#g-signal #hero-title{color:#3A6EC0!important;font-family:'Orbitron',sans-serif!important;font-size:30px!important;font-weight:700!important;letter-spacing:0.38em!important;text-shadow:0 0 18px rgba(255,255,255,0.7),0 1px 0 rgba(255,255,255,0.5)!important;}
#g-signal #hero-sub{color:rgba(62,106,166,0.82)!important;font-size:7px!important;letter-spacing:0.2em!important;font-family:'Orbitron',sans-serif!important;}
#g-signal #hero-strip{
  background:linear-gradient(180deg,#92B4D8 0%,#82ACD7 100%)!important;
  border-top:1px solid rgba(255,255,255,0.4)!important;display:flex;
}
#g-signal .hstrip{
  flex:1;color:#2F4F6F!important;font-size:7px!important;
  letter-spacing:0.2em!important;font-family:'Orbitron',sans-serif!important;
  border-right:1px solid rgba(85,127,178,0.35)!important;
  padding:6px 4px!important;text-align:center;cursor:pointer;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.3);background:transparent;
}
#g-signal .hstrip:hover{background:rgba(255,255,255,0.25)!important;color:#3A6EC0!important;}
#g-signal .hstrip:last-child{border-right:none!important;}

/* ── MUSIC SECTION ── */
#g-music{background:transparent!important;}
.track{
  display:flex;align-items:center;
  border:none!important;border-bottom:1px solid rgba(85,127,178,0.2)!important;
  background:transparent!important;cursor:pointer;position:relative;
}
.track::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:transparent;}
.track:hover{background:rgba(255,255,255,0.3)!important;}
.track:hover::before{background:#3A6EC0;}
.t-num{width:30px;padding:5px 7px;font-family:'Orbitron',sans-serif;font-size:7px;color:rgba(85,127,178,0.7)!important;border-right:1px solid rgba(85,127,178,0.2);text-align:right;background:rgba(255,255,255,0.2);}
.t-name{flex:1;padding:5px 9px;font-family:'Orbitron',sans-serif;font-size:8px;color:#3A6EC0!important;letter-spacing:0.1em;text-transform:uppercase;}
.t-play{width:26px;padding:5px;font-size:8px;color:#557FB2!important;text-align:center;border-left:1px solid rgba(85,127,178,0.2);background:rgba(255,255,255,0.2);}
.track.playing .t-play{color:#3A6EC0!important;}
.tracks-foot{padding:3px 8px;font-size:7px;font-family:'Orbitron',sans-serif;color:rgba(62,106,166,0.65)!important;letter-spacing:0.2em;text-transform:uppercase;border-top:1px solid rgba(85,127,178,0.2);background:rgba(255,255,255,0.2);}

/* ── GLOBE SECTION (inside main panel) ── */
#g-globe{background:#9FBFDB!important;background-image:none!important;}
#globe-canvas{display:block;width:100%;height:auto;aspect-ratio:800/300;background:#9FBFDB!important;background-image:none!important;border-bottom:1px solid #7397C1;position:relative;z-index:2;}

/* ── MAP CONTAINER (inside main panel) ── */
.map-container{
  width:100%;
  height:200px;
  margin-top:10px;
  position:relative;
  overflow:hidden;
  background:#9FBFDB;
}
#globe-bar{background:linear-gradient(180deg,#A2BFDC 0%,#92B4D8 100%)!important;border-top:1px solid rgba(255,255,255,0.4)!important;display:flex;}
.gbar-item{flex:1;background:transparent!important;border-right:1px solid rgba(85,127,178,0.3)!important;padding:4px 8px!important;font-family:'Orbitron',sans-serif!important;font-size:7px!important;color:rgba(62,106,166,0.8)!important;letter-spacing:0.1em!important;text-transform:uppercase;}
.gbar-item:last-child{border-right:none!important;}
.gbar-val{display:block;color:#3E6AA6!important;font-size:8px!important;font-family:'Orbitron',sans-serif!important;letter-spacing:0.12em!important;}
#g-globe .ph{display:none!important;}

/* ── SIDE PANEL — READABILITY FIX ── */
#panel-side,
#panel-side .t7-section,
#panel-side .t7-body {
  color:#2C4F73!important;
}
#panel-side .t7-tl-label{color:#3E6AA6!important;}
#panel-side .ph-tag{color:#3E6AA6!important;}
#panel-side .ph-id{color:#3A6EC0!important;}
#panel-side .t-name{color:#2C4F73!important;}
#panel-side .t-num{color:#3E6AA6!important;}
#panel-side .t-play{color:#3E6AA6!important;}
#panel-side .gbar-item{color:#3E6AA6!important;}
#panel-side .gbar-val{color:#2C4F73!important;}
#panel-side .bb-label{color:#3E6AA6!important;}
#panel-side .bb-value{color:#2C4F73!important;}
/* Any generic text inside side panel */
#panel-side span,
#panel-side p,
#panel-side div,
#panel-side a,
#panel-side li {
  color:#2C4F73;
}

/* ── SIDE PANEL SECTIONS ── */
#g-avatars{background:transparent!important;}
#av-header-txt{font-size:7px;font-family:'Orbitron',sans-serif;color:#3E6AA6!important;letter-spacing:0.24em;text-transform:uppercase;padding:4px 10px 3px;border-bottom:1px solid rgba(85,127,178,0.25);background:rgba(255,255,255,0.2);}
#av-grid{display:flex;gap:5px;padding:7px 8px;justify-content:center;flex-wrap:wrap;}
.av-item{border-top:2px solid #E1EEF5!important;border-left:2px solid #E1EEF5!important;border-bottom:2px solid #7397C1!important;border-right:2px solid #7397C1!important;background:#C7DEEF!important;box-shadow:inset 0 1px 0 rgba(255,255,255,0.5)!important;cursor:pointer;transition:none!important;}
.av-item:hover{border-top-color:#fff!important;border-left-color:#fff!important;background:#D9EBFA!important;}
.av-item.active{border-top-color:#fff!important;border-left-color:#fff!important;background:#E1EEF5!important;box-shadow:inset 0 0 8px rgba(58,110,192,0.12)!important;}

/* ── PLAYER / POPUP ── */
#pop-body,#login-body{
  background:linear-gradient(180deg,#C7DEEF 0%,#A2BFDC 100%)!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  border-top:3px solid #E1EEF5!important;border-left:3px solid #E1EEF5!important;
  border-right:3px solid #7397C1!important;border-bottom:3px solid #7397C1!important;
  box-shadow:inset 2px 2px 0 rgba(255,255,255,0.45),3px 3px 0 rgba(0,0,0,0.2)!important;
}
.pprog{background:#A2BFDC!important;border-top:1px solid #A2BFDC!important;border-left:1px solid #A2BFDC!important;border-bottom:1px solid #E1EEF5!important;border-right:1px solid #E1EEF5!important;}
.pprogf{background:linear-gradient(90deg,#557FB2,#3A6EC0,#557FB2)!important;box-shadow:0 0 5px rgba(58,110,192,0.4)!important;}

/* ── BUTTONS ── */
#enter-btn,.btn,button{
  background:linear-gradient(180deg,#82ACD7 0%,#7397C1 100%)!important;
  border-top:2px solid #E1EEF5!important;border-left:2px solid #E1EEF5!important;
  border-bottom:2px solid #557FB2!important;border-right:2px solid #557FB2!important;
  color:#3E6AA6!important;font-family:'Orbitron',sans-serif!important;font-size:8px!important;
  letter-spacing:0.2em!important;text-transform:uppercase!important;
  padding:5px 10px!important;cursor:pointer;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.45)!important;transition:none!important;
}
#enter-btn:hover,.btn:hover,button:hover{background:linear-gradient(180deg,#92B4D8 0%,#82ACD7 100%)!important;}
#enter-btn:active,.btn:active,button:active{border-top-color:#557FB2!important;border-left-color:#557FB2!important;border-bottom-color:#E1EEF5!important;border-right-color:#E1EEF5!important;box-shadow:inset 0 2px 4px rgba(0,0,0,0.12)!important;}

/* ── AUDIO REACTIVE ── */
#audio-vis-overlay{position:fixed;inset:0;pointer-events:none;z-index:2;opacity:0;background:radial-gradient(ellipse at 50% 50%,rgba(58,110,192,0.06) 0%,transparent 70%);}

/* ── GLITCH (light-adapted) ── */
@keyframes glitch-clip-a{0%{clip-path:inset(14% 0 74% 0);transform:translate(-4px,0);}25%{clip-path:inset(55% 0 10% 0);transform:translate(4px,0);}50%{clip-path:inset(78% 0 5% 0);transform:translate(-3px,0);}75%{clip-path:inset(5% 0 82% 0);transform:translate(3px,0);}100%{clip-path:inset(14% 0 74% 0);transform:translate(0,0);}}
@keyframes glitch-clip-b{0%{clip-path:inset(68% 0 8% 0);transform:translate(5px,0);color:rgba(58,110,192,0.3);}33%{clip-path:inset(18% 0 66% 0);transform:translate(-5px,0);color:rgba(130,172,215,0.35);}66%{clip-path:inset(42% 0 36% 0);transform:translate(3px,0);color:rgba(58,110,192,0.3);}100%{clip-path:inset(68% 0 8% 0);transform:translate(0,0);}}
@keyframes glitch-skew{0%,100%{transform:skew(0deg);}20%{transform:skew(-0.5deg);}40%{transform:skew(0.4deg);}60%{transform:skew(-0.3deg);}}
.glitching{animation:glitch-skew 0.18s steps(2) 1;position:relative;}
.glitching::after{content:'';position:absolute;inset:0;background:inherit;animation:glitch-clip-a 0.18s steps(2) 1;opacity:0.4;pointer-events:none;z-index:100;}
.glitching::before{content:'';position:absolute;inset:0;background:linear-gradient(transparent,rgba(58,110,192,0.08) 50%,transparent);animation:glitch-clip-b 0.18s steps(2) 1;pointer-events:none;z-index:101;}
.glitch-slice{position:absolute;left:0;right:0;height:2px;background:rgba(62,106,166,0.6);pointer-events:none;z-index:200;animation:sliceFade 0.24s ease forwards;}
@keyframes sliceFade{0%{opacity:1;transform:scaleX(1);}100%{opacity:0;transform:scaleX(0.2);}}

/* ── STARTUP SCREEN — LIGHT THEME ── */
/* Terminal boot screen (pre-enter phase) */
#term-boot{
  background:#EAF4FF!important;
  color:#2F4F6F!important;
  animation: termFlicker 6s ease-in-out infinite;
}
@keyframes termFlicker {
  0%,88%,90%,92%,100% { opacity:1; }
  89% { opacity:0.82; }
  91% { opacity:0.94; }
}
#term-lines{
  color:#3A5F85!important;
  font-family:'Courier New',Courier,monospace!important;
  font-size:12px!important;
  line-height:2.1!important;
  letter-spacing:0.06em!important;
}
#term-skip{
  color:rgba(47,79,111,0.45)!important;
  font-family:'Courier New',Courier,monospace!important;
  font-size:9px!important;
}
#term-boot *{color:#3A5F85!important;}
#term-boot div{
  animation: termLineIn 0.15s ease-out both;
}
@keyframes termLineIn {
  from { opacity:0; transform:translateX(-4px); }
  to   { opacity:1; transform:translateX(0); }
}

/* Hide dark background canvases behind login */
#grid-canvas,#wave-canvas,#y2k-layer,#crt{display:none!important;}
/* Login overlay */
#login{
  background:#EAF4FF!important;
  background-image:none!important;
  color:#2F4F6F!important;
}
#login-card{
  background:#EAF4FF!important;
  background-image:none!important;
  border:2px solid rgba(47,79,111,0.3)!important;
  box-shadow:0 4px 16px rgba(47,79,111,0.15)!important;
  color:#2F4F6F!important;
}
#login-titlebar{
  background:#AFCBE3!important;
  background-image:none!important;
  color:#2F4F6F!important;
  border-bottom:1px solid rgba(47,79,111,0.2)!important;
}
#login-title-txt,#login-title-txt *{color:#2F4F6F!important;}
#login-body{
  background:#EAF4FF!important;
  background-image:none!important;
  color:#2F4F6F!important;
}
#login *{color:#2F4F6F!important;}
#login .terminal-text,#login [class*="term"],#login [class*="log"]{color:#3A5F85!important;}
/* enter-screen alias */
#enter-screen,#login-screen{background:#EAF4FF!important;color:#2F4F6F!important;}
#enter-screen *,#login-screen *{color:#2F4F6F!important;}
#enter-btn{color:#2F4F6F!important;}

/* ── FLOAT ACCENT ── */
#float-accent{position:fixed;bottom:100px;right:22px;width:90px;opacity:0.30;z-index:5;pointer-events:none;animation:floatDrift 10s ease-in-out infinite alternate;}
#float-accent svg circle,#float-accent svg line{stroke:rgba(62,106,166,0.55)!important;}
#float-accent svg circle:last-of-type{fill:rgba(58,110,192,0.65)!important;}
@keyframes floatDrift{0%{transform:translateY(0) rotate(-1.5deg);opacity:0.28;}100%{transform:translateY(-18px) rotate(1.5deg);opacity:0.38;}}

/* ── SCROLLBAR ── */
::-webkit-scrollbar{width:4px;background:#C7DEEF;}
::-webkit-scrollbar-thumb{background:#82ACD7;border-top:1px solid #E1EEF5;border-left:1px solid #E1EEF5;}
::selection{background:rgba(58,110,192,0.2);color:#3A6EC0;}

/* ── BOTTOM BAR — matches top panel exactly ── */
body{padding-bottom:64px;}
.bottom-bar{
  position:fixed;left:0;bottom:0;width:100vw;height:60px;z-index:999;
  background:#AFCBE3;
  border-top:1px solid rgba(255,255,255,0.4);
  border-bottom:none;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.45);
  display:flex;align-items:center;gap:0;
  overflow:hidden;
}
.bottom-bar::before{
  display:none!important;
}
.bb-cell{
  flex:1;height:100%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  border-right:1px solid rgba(85,127,178,0.35);
  padding:0 14px;position:relative;
}
.bb-cell:last-child{border-right:none;}
.bb-label{
  font-family:'Orbitron',sans-serif;font-size:6px;font-weight:600;
  letter-spacing:0.28em;text-transform:uppercase;
  color:rgba(62,106,166,0.7);margin-bottom:4px;
}
.bb-value{
  font-family:'Rajdhani',sans-serif;font-size:13px;font-weight:600;
  letter-spacing:0.14em;color:#3E6AA6;
  text-shadow:0 1px 0 rgba(255,255,255,0.5);
}
.bb-dot{
  width:5px;height:5px;background:#E1EEF5;
  box-shadow:0 0 6px rgba(255,255,255,0.9);
  position:absolute;top:10px;right:10px;
  animation:dotBlink 2.5s steps(1) infinite;
}
.bb-bar-wrap{width:80%;height:3px;background:rgba(85,127,178,0.2);margin-top:4px;}
.bb-bar-fill{height:100%;background:linear-gradient(90deg,#557FB2,#3A6EC0);width:0%;transition:width 0.4s;}
#bb-status{
  flex:2;height:100%;
  display:flex;align-items:center;justify-content:flex-start;
  padding:0 18px;border-right:1px solid rgba(85,127,178,0.35);gap:12px;
}
.bb-status-dot{
  width:7px;height:7px;background:#3A6EC0;flex-shrink:0;
  box-shadow:0 0 8px rgba(58,110,192,0.7);
  animation:dotBlink 1.8s steps(1) infinite;
}
#bb-status-txt{
  font-family:'Orbitron',sans-serif;font-size:7px;font-weight:400;
  letter-spacing:0.22em;text-transform:uppercase;
  color:#3E6AA6;
}
#bb-ticker{
  flex:3;height:100%;
  display:flex;align-items:center;overflow:hidden;padding:0 12px;
}
#bb-ticker-inner{
  font-family:'Rajdhani',sans-serif;font-size:11px;font-weight:500;
  letter-spacing:0.12em;color:rgba(62,106,166,0.75);
  white-space:nowrap;
  animation:tickerScroll 28s linear infinite;
}
@keyframes tickerScroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}

/* ── VIDEO PANEL — floating, outside flex flow ── */
#panel-video{
  position:fixed!important;
  bottom:100px!important;
  right:80px!important;
  transform:translateX(-20px)!important;
  width:320px!important;
  max-width:320px!important;
  background:#AFCBE3!important;
  border:1px solid rgba(255,255,255,0.4)!important;
  box-shadow:0 4px 12px rgba(0,0,0,0.15)!important;
  z-index:500;
  margin:0!important;
  left:auto!important;
  flex:none!important;
}
.video-panel{
  position:relative;width:100%;overflow:hidden;
  background:#AFCBE3;
}
.video-panel video{
  width:100%;height:160px;object-fit:cover;display:block;
  filter:brightness(1.0) contrast(1.05) saturate(1.0);
}
.video-panel .vp-label{
  position:absolute;bottom:0;left:0;right:0;
  background:linear-gradient(0deg,rgba(162,191,220,0.85) 0%,transparent 100%);
  padding:6px 10px 4px;
  font-family:'Orbitron',sans-serif;font-size:6px;font-weight:600;
  letter-spacing:0.22em;text-transform:uppercase;color:#3E6AA6;
}
.video-panel .vp-counter{
  position:absolute;top:6px;right:8px;
  font-family:'Orbitron',sans-serif;font-size:6px;font-weight:400;
  letter-spacing:0.16em;color:#3E6AA6;
  background:rgba(199,222,239,0.75);padding:2px 5px;
}
.vid-glitch{
  filter:contrast(1.4) brightness(1.15) hue-rotate(10deg) !important;
  transform:translateX(3px) skewX(3deg) !important;
  opacity:0.8 !important;
  transition:none !important;
}

/* ── SECTION SWITCH TRANSITION ── */
.sec {
  transition: opacity 0.28s ease, transform 0.28s ease;
}

/* ── PARALLAX PANELS — will-change for GPU compositing ── */
#panel-main, #panel-side {
  will-change: transform;
}

/* ── WIREFRAME GLOBE — REMOVED ── */
#wg-cv { display:none!important; }
#hero-canvas { display:none!important; }

/* ── EARTH GIF PANEL ── */
#rbln-globe-panel {
  position:absolute;
  inset:0;
  z-index:1;
  background-color:#dbe9f2!important;
  background-image:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden;
}
#rbln-globe-panel video {
  width:245px;
  height:245px;
  object-fit:contain;
  display:block;
  position:relative;
  z-index:10;
  animation:floatGlobe 6s ease-in-out infinite;
}
@keyframes floatGlobe {
  0%,100% { transform:translateY(0px); }
  50%      { transform:translateY(-6px); }
}

/* Map/signal canvas clarity */
#globe-canvas {
  filter: contrast(1.18) brightness(1.06)!important;
}
/* Background — oversized slightly for parallax so edges never show */
#bg { will-change: transform; }

/* ── SECTION VIEWPORT (music/about slide container) ── */
#sec-vp {
  position: relative;
  overflow: hidden;
  transition: min-height 0.42s ease-in-out;
}

/* ── MAP / GLOBE SECTION CONTRAST ── */
.map-node {
  background: #4A90C2!important;
  opacity: 0.85;
}
.globe-map-svg line {
  stroke: rgba(80,140,190,0.5)!important;
  stroke-width: 0.6!important;
}
#g-globe {
  box-shadow: inset 0 1px 6px rgba(0,0,0,0.08);
}

/* ── GLOBE ORBIT & RADIAL GLOW ── */
/* Globe glow removed — replaced by earth.gif panel */
#g-signal #hero-img::before { display:none!important; }
/* Orbit container — centered on hero-img */
.globe-orbit-container {
  position:absolute;
  top:50%; left:50%;
  width:0; height:0;
  pointer-events:none;
  z-index:3;
}
.globe-orbit-dot {
  position:absolute;
  width:5px; height:5px;
  border-radius:50%;
  background:rgba(58,110,192,0.55);
  margin:-2.5px 0 0 -2.5px;
}
@keyframes orbitA {
  from { transform:rotate(0deg) translateX(88px) rotate(0deg); }
  to   { transform:rotate(360deg) translateX(88px) rotate(-360deg); }
}
@keyframes orbitB {
  from { transform:rotate(125deg) translateX(105px) rotate(-125deg); }
  to   { transform:rotate(485deg) translateX(105px) rotate(-485deg); }
}
@keyframes orbitC {
  from { transform:rotate(248deg) translateX(72px) rotate(-248deg); }
  to   { transform:rotate(608deg) translateX(72px) rotate(-608deg); }
}
.globe-orbit-dot:nth-child(1) { animation:orbitA 22s linear infinite; }
.globe-orbit-dot:nth-child(2) { animation:orbitB 30s linear infinite; opacity:0.4; background:rgba(85,127,178,0.5); width:4px; height:4px; margin:-2px 0 0 -2px; }
.globe-orbit-dot:nth-child(3) { animation:orbitC 17s linear infinite; opacity:0.35; width:4px; height:4px; margin:-2px 0 0 -2px; }

/* ── GLOBE SECTION — SIGNAL INTERFACE ── */
#g-globe { position:relative; overflow:visible; }
/* Subtle grid overlay on globe section */
.globe-grid-overlay {
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(62,106,166,0.055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(62,106,166,0.055) 1px, transparent 1px);
  background-size:40px 40px;
  pointer-events:none;
  z-index:10;
}
/* Pulsing location nodes */
.map-node {
  position:absolute;
  width:6px; height:6px;
  background:rgba(95,168,220,0.85);
  border-radius:50%;
  transform:translate(-50%,-50%);
  pointer-events:none;
  z-index:11;
}
.map-node::after {
  content:'';
  position:absolute;
  top:-5px; left:-5px; right:-5px; bottom:-5px;
  border-radius:50%;
  border:1px solid rgba(95,168,220,0.5);
  animation:mapPulse 2.5s ease-in-out infinite;
}
.map-node:nth-child(2n)::after { animation-delay:-1.2s; }
.map-node:nth-child(3n)::after { animation-delay:-0.5s; }
@keyframes mapPulse {
  0%   { transform:scale(1); opacity:0.7; }
  50%  { transform:scale(2.2); opacity:0.1; }
  100% { transform:scale(1); opacity:0.7; }
}
/* SVG connection lines overlay */
.globe-map-svg {
  position:absolute;
  inset:0;
  width:100%; height:100%;
  pointer-events:none;
  z-index:9;
  overflow:visible;
}

/* ── PANEL DEPTH + HOVER GLOW ── */
.t7-panel {
  transition: box-shadow 0.3s ease;
  box-shadow:
    inset 2px 2px 0 rgba(255,255,255,0.4),
    inset -1px -1px 0 rgba(0,0,0,0.15),
    3px 3px 0 rgba(0,0,0,0.2),
    0 4px 18px rgba(0,0,0,0.10),
    0 1px 4px rgba(0,0,0,0.07)!important;
}
.t7-panel:hover {
  box-shadow:
    inset 2px 2px 0 rgba(255,255,255,0.4),
    inset -1px -1px 0 rgba(0,0,0,0.15),
    3px 3px 0 rgba(0,0,0,0.2),
    0 6px 22px rgba(0,0,0,0.13),
    0 0 14px rgba(120,180,220,0.22)!important;
}
/* Video panel fixed — keep its own shadow */
#panel-video,#panel-video:hover { box-shadow:0 4px 12px rgba(0,0,0,0.15)!important; }

/* ── BUTTON MICRO-INTERACTIONS ── */
button,.btn {
  transition:transform 0.15s ease, box-shadow 0.15s ease!important;
}
button:hover,.btn:hover {
  transform:translateY(-1px)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.45), 0 3px 8px rgba(0,0,0,0.18)!important;
}
button:active,.btn:active {
  transform:translateY(1px)!important;
}
/* Nav strip — no translate, just color/bg transition */
#g-signal .hstrip {
  transition:background 0.15s ease, color 0.15s ease!important;
}

/* ── VISUAL HIERARCHY — side panel hover (no parallax on side) ── */
#panel-side {
  transition: box-shadow 0.3s ease, transform 0.2s ease;
}
#panel-side:hover {
  transform: translateY(-2px);
  box-shadow:
    inset 2px 2px 0 rgba(255,255,255,0.4),
    inset -1px -1px 0 rgba(0,0,0,0.15),
    3px 3px 0 rgba(0,0,0,0.2),
    0 8px 24px rgba(0,0,0,0.13),
    0 0 14px rgba(120,180,220,0.22)!important;
}
/* Signal + Log cluster — visually connected, no gap between them */
#sig-status-section {
  border-bottom: 1px solid rgba(85,127,178,0.15)!important;
}
#tx-log-section {
  border-top: none!important;
}
/* Signal ACTIVE text pulse */
@keyframes sigPulse {
  0%,100% { opacity:1; }
  50%      { opacity:0.6; }
}
#sigStatus { animation: sigPulse 2.2s ease-in-out infinite; }

/* Video panel secondary opacity */
#panel-video { opacity:0.95; }

/* ── SIGNAL STATUS + LOG PANELS ── */
.signal-status {
  padding:8px 10px 10px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px 6px;
}
.ss-row {
  display:flex;flex-direction:column;gap:2px;
}
.ss-label {
  font-family:'Orbitron',sans-serif;
  font-size:6px;font-weight:600;
  letter-spacing:0.24em;text-transform:uppercase;
  color:rgba(62,106,166,0.65);
}
.ss-val {
  font-family:'Orbitron',sans-serif;
  font-size:9px;font-weight:600;
  letter-spacing:0.1em;
  color:#2F4F6F;
}
.ss-active { color:#3A6EC0!important; }
.ss-unit {
  font-size:6px;color:rgba(62,106,166,0.55);
  letter-spacing:0.1em;font-family:'Orbitron',sans-serif;
}
/* Log body */
.log-body {
  height:138px;
  overflow-y:auto;
  padding:5px 8px 6px;
  font-family:'Courier New',Courier,monospace;
  font-size:9px;
  color:#3A5F85;
  line-height:1.65;
  letter-spacing:0.04em;
}
.log-body::-webkit-scrollbar{width:3px;}
.log-body::-webkit-scrollbar-thumb{background:#82ACD7;}
.log-entry {
  margin-bottom:2px;
  animation:logIn 0.25s ease both;
}
@keyframes logIn {
  from { opacity:0; transform:translateX(-5px); }
  to   { opacity:1; transform:translateX(0); }
}
.log-ts {
  color:rgba(62,106,166,0.45);
  margin-right:4px;
  font-size:8px;
}
/* Bottom bar clock */
.bb-clock {
  font-family:'Orbitron',sans-serif;
  font-size:11px;font-weight:500;
  letter-spacing:0.16em;
  color:#3E6AA6;
  text-shadow:0 1px 0 rgba(255,255,255,0.5);
  padding:0 18px;
  flex-shrink:0;
  white-space:nowrap;
  border-left:1px solid rgba(85,127,178,0.35);
}

/* ══════════════════════════════════
   MOBILE — 768px and below
══════════════════════════════════ */
@media(max-width:768px){

  /* ── BODY ── */
  body{
    padding-bottom:56px!important;
  }

  /* ── LAYOUT: vertical stack with 16px edge padding ── */
  #content{
    flex-direction:column!important;
    gap:16px!important;
    padding:0 0 16px!important;
    align-items:stretch!important;
  }

  /* ── HEADER: mobile — flat bar, full width, no die-cut ── */
  #header{
    width:100%!important;
    height:36px!important;
    padding:0 12px!important;
    min-height:0!important;
    clip-path:none!important;
  }
  /* Logo: back to flex flow on mobile */
  #logo-txt{
    position:relative!important;
    top:auto!important;
    left:auto!important;
    font-size:12px!important;
    letter-spacing:0.2em!important;
    z-index:auto!important;
  }
  #header-sub{ display:none!important; }
  .hdr-stat{ display:none!important; }

  /* ── BANNER: mobile full-width, below 36px header ── */
  #banner{ width:100%!important; top:36px!important; }

  /* ── SIDE PANEL: reset to in-flow on mobile ── */
  #panel-side{
    position:relative!important;
    top:auto!important;
    right:auto!important;
    width:100%!important;
    height:auto!important;
    overflow:visible!important;
    padding-top:0!important;
    border-left:none!important;
    z-index:auto!important;
  }

  /* ── CONTENT WRAP: reset on mobile ── */
  #content-wrap{
    display:block!important;
    margin-right:0!important;
    margin-left:0!important;
    padding:0!important;
    margin-top:70px!important;
  }

  /* ── CONTENT: 70px clears header+banner with gap ── */
  #content{
    margin-top:70px!important;
    padding:12px 12px 0!important;
  }

  /* ── BANNER: slim ── */
  #banner{ padding:1px 0!important; }
  #ban-in{ padding:0 12px!important; gap:4px!important; flex-wrap:nowrap!important; }
  /* Hide countdown on very small screens */
  @media(max-width:480px){ #ban-in > *:not(#live-clock){ display:none!important; } }

  /* ── MAIN PANEL: primary focus ── */
  #panel-main{
    width:100%!important;
    max-width:100%!important;
    flex:none!important;
    order:1;
  }

  /* Padding inside main panel body */
  #panel-main .t7-body{
    padding:0!important;
  }

  /* ── GLOBE / HERO: reduce height on mobile ── */
  #g-signal #hero-img{
    height:160px!important;
  }
  #wg-cv{ height:160px!important; }
  /* Hero title: readable size */
  #g-signal #hero-title{
    font-size:22px!important;
    letter-spacing:0.2em!important;
  }
  #g-signal #hero-sub{
    font-size:8px!important;
    letter-spacing:0.12em!important;
  }

  /* ── NAV STRIP: full-width tap targets ── */
  #g-signal #hero-strip{
    display:flex!important;
    width:100%!important;
  }
  #g-signal .hstrip{
    flex:1!important;
    padding:12px 4px!important;
    font-size:7px!important;
    min-height:40px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    touch-action:manipulation!important;
  }

  /* ── MUSIC / ABOUT TEXT: readable ── */
  .t-name{ font-size:9px!important; }
  .t-num{ font-size:7px!important; }
  .track{ min-height:40px!important; }
  .t-play{ width:32px!important; }
  #g-about p,#g-about div,#g-about span{
    font-size:13px!important;
    line-height:1.7!important;
  }

  /* ── MAP PANEL: keep visible but compact ── */
  #g-globe{
    position:relative!important;
    transform:none!important;
  }
  #globe-canvas{
    height:160px!important;
    width:100%!important;
  }
  /* Signal overlay canvas matches */
  #g-globe canvas:last-of-type{ height:160px!important; }
  /* Map nodes stay visible */
  .map-node{ width:7px!important; height:7px!important; }
  .globe-grid-overlay{ background-size:32px 32px!important; }

  /* ── VIDEO PANEL: in-flow block, not floating ── */
  #panel-video{
    position:relative!important;
    bottom:auto!important;
    right:auto!important;
    left:auto!important;
    top:auto!important;
    transform:none!important;
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    order:2;
    z-index:1!important;
  }
  .video-panel video{
    width:100%!important;
    height:auto!important;
    max-height:200px!important;
    object-fit:cover!important;
  }

  /* ── SIDE PANEL (system stack): full width ── */
  #panel-side{
    width:100%!important;
    flex:none!important;
    order:3;
    opacity:1!important;
  }

  /* Signal status: 2-column grid on mobile */
  .signal-status{
    grid-template-columns:1fr 1fr!important;
    gap:10px 8px!important;
    padding:10px 12px 12px!important;
  }
  .ss-val{ font-size:11px!important; }
  .ss-label{ font-size:7px!important; }

  /* Log body: capped height */
  .log-body{
    height:120px!important;
    font-size:9px!important;
    padding:6px 10px!important;
  }

  /* ── BUTTONS: larger tap targets ── */
  button,.btn,#enter-btn{
    padding:10px 14px!important;
    font-size:9px!important;
    min-height:40px!important;
    min-width:60px!important;
  }

  /* ── DISABLE PARALLAX: no jitter on touch ── */
  #panel-main,#panel-side,#g-globe{
    transform:none!important;
    will-change:auto!important;
  }
  #g-signal #hero-img{
    transform:none!important;
  }
  #bg{
    transform:none!important;
    will-change:auto!important;
  }

  /* ── BOTTOM BAR: simplified single row ── */
  .bottom-bar{
    height:44px!important;
    min-height:44px!important;
    padding:0 12px!important;
    flex-wrap:nowrap!important;
    overflow:hidden!important;
    gap:0!important;
  }
  /* Show only status + clock on mobile; hide middle cells */
  .bb-cell{ display:none!important; }
  #bb-status{
    flex:1 1 auto!important;
    padding:0 8px!important;
    border-right:none!important;
    border-bottom:none!important;
  }
  #bb-status-txt{ font-size:7px!important; }
  #bb-ticker{ display:none!important; }
  .bb-clock{
    flex:0 0 auto!important;
    border-left:1px solid rgba(85,127,178,0.25)!important;
    padding:0 10px!important;
    font-size:9px!important;
  }

  /* ── MISC CLEANUP ── */
  #float-accent{ display:none!important; }
  #sec-vp{ min-height:auto!important; }
  /* Orbit dots: reduce size on mobile */
  .globe-orbit-dot{ width:4px!important; height:4px!important; }
  /* Side panel hover: no lift on touch */
  #panel-side{ transform:none!important; transition:none!important; }
  /* Panel hover glow: reduce on mobile */
  .t7-panel:hover{ box-shadow:none!important; }
  /* Reduce animation load: simplify pulse */
  @keyframes mapPulse{ 0%,100%{opacity:0.7;} 50%{opacity:0.2;} }
}

/* Medium screens: tighten side column */
@media(max-width:900px) and (min-width:769px){
  #content{ gap:14px!important; padding:10px!important; }
  #panel-side{ flex:0 0 200px!important; width:200px!important; }
}

/* ══════════════════════════════════
   DESKTOP — THEORY7 DIE-CUT LAYOUT (>= 769px)
   Full-width header with angled bottom-right clip-path.
   Logo stamped with page bg = die-cut illusion.
   Banner offset left to expose cut edge.
   Content centered, panels in-flow.
══════════════════════════════════ */
@media(min-width:769px){

  /* ── HEADER: clean flat bar, no die-cut ── */
  #header{
    position:fixed!important;
    top:0!important;
    left:0!important;
    width:100%!important;
    height:38px!important;
    padding:0 24px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    background:#AFCBE3!important;
    clip-path:none!important;
    overflow:visible!important;
    border:none!important;
    border-bottom:1px solid rgba(85,127,178,0.35)!important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,0.45),0 2px 6px rgba(0,0,0,0.08)!important;
    z-index:200!important;
  }
  #header::before{ display:none!important; }
  #header::after{ display:none!important; }

  /* ── LOGO: top-left corner of header ── */
  #logo-txt{
    position:relative!important;
    left:auto!important;
    top:auto!important;
    font-size:16px!important;
    letter-spacing:0.35em!important;
    background:none!important;
    padding:0!important;
    z-index:201!important;
    text-shadow:0 1px 0 rgba(255,255,255,0.6)!important;
    color:#3E6AA6!important;
    flex-shrink:0!important;
  }

  /* ── BANNER: full-width below header ── */
  #banner{
    position:fixed!important;
    top:38px!important;
    left:0!important;
    width:100%!important;
    height:auto!important;
    z-index:199!important;
  }

  /* ── CONTENT WRAP: neutral passthrough ── */
  #content-wrap{
    display:block!important;
    width:100%!important;
    margin:0!important;
    padding:0!important;
  }

  /* ── CONTENT: centered, standard two-column flex ── */
  #content{
    max-width:1080px!important;
    margin:0 auto!important;
    margin-top:110px!important;
    display:flex!important;
    flex-direction:row!important;
    gap:24px!important;
    padding:16px 24px!important;
    justify-content:center!important;
    align-items:flex-start!important;
    transform:none!important;
    zoom:1.1;
  }

  /* ── MAIN PANEL: constrained, centered flex child ── */
  #panel-main{
    flex:0 1 640px!important;
    max-width:640px!important;
    min-width:0!important;
  }

  /* ── SIDE PANEL: in-flow, fixed width, restore panel background ── */
  #panel-side{
    flex:0 0 220px!important;
    width:220px!important;
    position:relative!important;
    height:auto!important;
    overflow:visible!important;
    padding-top:0!important;
    align-self:flex-start!important;
    transform:none!important;
    transition:box-shadow 0.3s ease!important;
  }
  #panel-side:hover{
    transform:none!important;
  }

  /* ── VIDEO PANEL: fixed bottom-right, out of flex flow ── */
  #panel-video{
    position:fixed!important;
    bottom:100px!important;
    right:120px!important;
    top:auto!important;
    left:auto!important;
    width:260px!important;
    max-width:260px!important;
    transform:none!important;
    margin:0!important;
    z-index:150!important;
    flex:none!important;
  }
}

/* ── TEXT CONTRAST FIXES ── */
/* Nav strip buttons */
#g-signal .hstrip{color:#2F4F6F!important;}
#g-signal .hstrip:hover{color:#1F3A56!important;background:rgba(255,255,255,0.25)!important;}

/* About section — was light teal from original dark theme */
#g-about,#g-about p,#g-about div,#g-about span,#g-about li{color:#2F4F6F!important;}

/* Header logo link + status items */
#logo-a{color:#2F4F6F!important;}
.hdr-stat,#hdr-stat,#header .hdr-stat{color:#4A6A85!important;}
#header *{color:#2F4F6F;}
#header .hdr-stat *{color:#4A6A85!important;}

/* Pop-up / player overlay text */
#pop-titlebar,#pop-titlebar *{color:#2F4F6F!important;}
#pop-title-txt{color:#2F4F6F!important;}
#pop-title-icon{color:#2F4F6F!important;}
#pop-title-btns,#pop-title-btns *{color:#4A6A85!important;}
#pop-icon{color:#2F4F6F!important;}
#pop-track-name{color:#2F4F6F!important;}
#pop-note{color:#4A6A85!important;}
#pop-prog-txt{color:#4A6A85!important;}
#pop-body *{color:#2F4F6F;}
#pop-body .pprog-txt,#pop-body [class*="note"],#pop-body [class*="sub"]{color:#4A6A85!important;}

/* Footer link */
#fr a{color:#2F4F6F!important;}
#fr,#fr *{color:#4A6A85!important;}
#fr a:hover{color:#1F3A56!important;}
