:root{
  --color-primary:#C0C0C0;--color-secondary:#A8B2C1;--color-accent:#D4D8E2;
  --color-dark:#0A0E1A;--color-card:#0D1327;
  --color-text:#FFFFFF;--color-text-light:#D4D8E2;--color-text-muted:#B0BAC9;
  --glow-sm:0 0 8px rgba(192,192,192,.18);--glow-md:0 0 20px rgba(192,192,192,.22);--glow-lg:0 0 40px rgba(192,192,192,.14);
  --border:1px solid rgba(192,192,192,.15);--transition:all 0.3s ease;
  --font-main:'Orbitron',sans-serif;--font-mono:'Share Tech Mono',monospace;
  --silver-gradient:linear-gradient(135deg,#D4D8E2 0%,#A8B2C1 40%,#C0C0C0 60%,#D4D8E2 100%);
  --silver-border:linear-gradient(135deg,rgba(212,216,226,.5) 0%,rgba(168,178,193,.2) 50%,rgba(192,192,192,.4) 100%);
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font-main);background:var(--color-dark);color:var(--color-primary);display:flex;flex-direction:column;min-height:100vh;overflow-x:hidden;touch-action:manipulation;}
body::before{content:'';position:fixed;inset:0;background-image:linear-gradient(rgba(192,192,192,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(192,192,192,.025) 1px,transparent 1px);background-size:60px 60px;pointer-events:none;z-index:0;}
body::after{content:'';position:fixed;inset:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(192,192,192,.008) 2px,rgba(192,192,192,.008) 4px);pointer-events:none;z-index:0;animation:scanMove 8s linear infinite;}
@keyframes scanMove{0%{background-position:0 0}100%{background-position:0 100px}}
#particles-js{position:fixed;width:100%;height:100%;z-index:0;opacity:.4;pointer-events:none;}

/* SPLASH */
#splash{position:fixed;inset:0;background:var(--color-dark);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999;transition:opacity .6s ease,visibility .6s ease;}
#splash.hidden{opacity:0;visibility:hidden;pointer-events:none;}
.splash-logo{font-size:clamp(1.4rem,6vw,3.5rem);font-weight:900;letter-spacing:clamp(0rem,.1em,.2em);color:var(--color-primary);text-shadow:0 0 30px rgba(192,192,192,.35),0 0 60px rgba(212,216,226,.2);animation:splashPulse 1.2s ease-in-out infinite alternate;margin-bottom:2rem;text-align:center;padding:0 16px;word-break:break-word;}
.splash-bar-track{width:280px;height:3px;background:rgba(192,192,192,.12);border-radius:2px;overflow:hidden;}
.splash-bar-fill{height:100%;width:0%;background:var(--silver-gradient);border-radius:2px;transition:width .05s linear;box-shadow:0 0 10px rgba(192,192,192,.35);}
.splash-text{margin-top:1rem;font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-muted);letter-spacing:.15em;}
.splash-version{position:absolute;bottom:24px;font-family:var(--font-mono);font-size:.65rem;color:rgba(192,192,192,.2);letter-spacing:.2em;}
@keyframes splashPulse{from{text-shadow:0 0 20px rgba(192,192,192,.4)}to{text-shadow:0 0 50px rgba(192,192,192,.6),0 0 80px rgba(212,216,226,.3)}}

/* NAV */
nav{background:rgba(10,14,26,.9);padding:.8rem 1.5rem;position:sticky;top:0;z-index:100;backdrop-filter:blur(12px);border-bottom:var(--border);display:flex;justify-content:center;}
.nav-content{display:flex;align-items:center;width:100%;max-width:1200px;justify-content:space-between;}
.nav-logo{font-weight:900;font-size:1.1rem;letter-spacing:.15em;background:var(--silver-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;cursor:pointer;transition:var(--transition);filter:drop-shadow(0 0 6px rgba(192,192,192,.25));}
.nav-logo:hover{filter:drop-shadow(0 0 12px rgba(192,192,192,.45));}
.nav-links{display:flex;gap:1.5rem;align-items:center;}
nav a{color:var(--color-text-muted);text-decoration:none;font-weight:500;font-size:.85rem;letter-spacing:.08em;padding:.4rem 0;position:relative;transition:var(--transition);}
nav a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--silver-gradient);transition:var(--transition);box-shadow:0 0 5px rgba(192,192,192,.2);}
nav a:hover{color:var(--color-text-light);}nav a:hover::after{width:100%;}
.hamburger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:4px;}
.hamburger span{display:block;width:22px;height:2px;background:var(--color-primary);transition:var(--transition);border-radius:1px;}
.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px);}
.hamburger.open span:nth-child(2){opacity:0;}
.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px);}
.mobile-menu{display:none;flex-direction:column;background:rgba(10,14,26,.97);border-bottom:var(--border);padding:1rem 1.5rem;gap:.8rem;position:sticky;top:56px;z-index:99;}
.mobile-menu.open{display:flex;}
.mobile-menu a{color:var(--color-text-muted);text-decoration:none;font-size:.9rem;letter-spacing:.08em;padding:.5rem 0;border-bottom:1px solid rgba(192,192,192,.05);transition:var(--transition);}
.mobile-menu a:hover{color:var(--color-text-light);padding-left:.5rem;}
.nav-right{display:flex;align-items:center;gap:10px;}

/* NOTIFICATION BELL */
.notif-btn{position:relative;width:34px;height:34px;background:rgba(192,192,192,.05);border-radius:50%;border:1px solid rgba(192,192,192,.25);cursor:pointer;display:none;align-items:center;justify-content:center;transition:var(--transition);color:var(--color-primary);font-size:13px;flex-shrink:0;}
.notif-btn.show{display:flex;}
.notif-btn:hover{border-color:var(--color-primary);box-shadow:var(--glow-sm);transform:scale(1.08);}
.notif-badge{position:absolute;top:-3px;right:-3px;background:#f55;color:#fff;border-radius:50%;width:16px;height:16px;font-size:.58rem;font-family:var(--font-mono);display:none;align-items:center;justify-content:center;font-weight:700;border:1px solid var(--color-dark);}
.notif-badge.show{display:flex;}

/* PROFILE */
.profile-container{position:relative;}
.profile-button img{width:100%;height:100%;border-radius:50%;display:none;object-fit:cover;object-position:center;position:absolute;top:0;left:0;}
.profile-button{width:34px;height:34px;background:rgba(192,192,192,.05);border-radius:50%;border:1px solid rgba(192,192,192,.25);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);overflow:hidden;position:relative;}
.profile-button i{color:var(--color-primary);font-size:14px;}
.profile-button:hover{border-color:var(--color-primary);box-shadow:var(--glow-sm);transform:scale(1.08);}
.dropdown-menu{display:none;position:absolute;top:42px;right:0;flex-direction:column;background:rgba(10,16,30,.98);border-radius:8px;box-shadow:0 8px 32px rgba(0,0,0,.6),var(--glow-sm);overflow:hidden;z-index:999;backdrop-filter:blur(8px);border:var(--border);min-width:160px;}
.dropdown-menu.open{display:flex;}
.dropdown-menu a{padding:10px 16px;color:var(--color-text-muted);text-decoration:none;font-weight:500;transition:var(--transition);display:flex;align-items:center;gap:10px;font-size:.8rem;letter-spacing:.05em;border-bottom:1px solid rgba(192,192,192,.05);}
.dropdown-menu a:last-child{border-bottom:none;}
.dropdown-menu a:hover{color:var(--color-text-light);background:rgba(192,192,192,.06);padding-left:20px;}

/* HERO */
.hero{flex-grow:1;display:flex;align-items:center;justify-content:center;text-align:center;flex-direction:column;padding:80px 20px 40px;position:relative;z-index:1;min-height:70vh;}
.hero-eyebrow{font-family:var(--font-mono);font-size:.8rem;letter-spacing:.3em;color:var(--color-text-muted);margin-bottom:1.2rem;animation:fadeInUp .8s ease forwards;opacity:0;animation-delay:.2s;}
.hero h1{font-weight:900;font-size:clamp(1.6rem,7vw,5rem);text-transform:uppercase;letter-spacing:clamp(0rem,.1em,.15em);margin:0 0 .5rem;line-height:1.1;animation:fadeInUp .8s ease forwards;opacity:0;animation-delay:.4s;position:relative;word-break:break-word;overflow-wrap:break-word;max-width:100%;padding:0 8px;}
.hero-title-glow{position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(192,192,192,.06) 0%,transparent 70%);pointer-events:none;}
.hero-sub{font-family:var(--font-mono);font-weight:400;font-size:clamp(.8rem,2.5vw,1rem);max-width:600px;margin:.8rem auto 0;color:var(--color-text-muted);animation:fadeInUp .8s ease forwards;opacity:0;animation-delay:.6s;line-height:1.8;}
.hero-cta{display:flex;gap:1rem;margin-top:2.5rem;flex-wrap:wrap;justify-content:center;animation:fadeInUp .8s ease forwards;opacity:0;animation-delay:.8s;}
.btn-primary{background:transparent;border:1px solid rgba(192,192,192,.5);color:var(--color-text-light);padding:12px 28px;border-radius:4px;font-family:var(--font-main);font-weight:700;font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;text-decoration:none;transition:var(--transition);position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:8px;}
.btn-primary::before{content:'';position:absolute;inset:0;background:var(--silver-gradient);transform:scaleX(0);transform-origin:left;transition:transform .3s ease;z-index:-1;}
.btn-primary:hover{color:#0A0E1A;border-color:transparent;box-shadow:0 0 18px rgba(192,192,192,.25);}.btn-primary:hover::before{transform:scaleX(1);}
.btn-secondary{background:transparent;border:1px solid rgba(192,192,192,.2);color:var(--color-text-muted);padding:12px 28px;border-radius:4px;font-family:var(--font-main);font-weight:500;font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;cursor:pointer;text-decoration:none;transition:var(--transition);display:inline-flex;align-items:center;gap:8px;}
.btn-secondary:hover{border-color:rgba(192,192,192,.5);color:var(--color-text-light);}
.cursor-blink{animation:blink .8s step-end infinite;}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}

/* TICKER */
.ticker-wrapper{background:rgba(11,17,32,.9);color:var(--color-text-muted);overflow:hidden;white-space:nowrap;width:100%;padding:8px 0;font-family:var(--font-mono);font-size:.75rem;letter-spacing:.1em;border-top:var(--border);border-bottom:var(--border);position:relative;z-index:1;}
.ticker-wrapper::before,.ticker-wrapper::after{content:'';position:absolute;top:0;width:80px;height:100%;z-index:2;}
.ticker-wrapper::before{left:0;background:linear-gradient(90deg,rgba(10,14,26,1),transparent);}
.ticker-wrapper::after{right:0;background:linear-gradient(-90deg,rgba(10,14,26,1),transparent);}
.ticker-label{display:inline-block;background:var(--silver-gradient);color:#0A0E1A;padding:0 10px;font-weight:700;margin-right:20px;font-size:.7rem;letter-spacing:.1em;}
.ticker-content{display:inline-block;padding-left:100%;animation:scrollTicker 22s linear infinite;cursor:pointer;}
.ticker-content:hover{animation-play-state:paused;}
.ticker-dot{color:var(--color-secondary);margin:0 16px;}

/* STATS */
.stats-bar{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:20px;
  padding:30px 20px 24px;
  max-width:1360px;
  margin:0 auto;
  position:relative;
  z-index:1;
}
.stat-item{
  padding:24px 22px;
  text-align:left;
  border:1px solid rgba(192,192,192,.12);
  border-top:1px solid rgba(212,216,226,.22);
  border-radius:8px;
  transition:var(--transition);
  cursor:default;
  background:linear-gradient(180deg,rgba(13,19,39,.9) 0%,rgba(10,15,26,.9) 100%);
  box-shadow:0 12px 28px rgba(0,0,0,.25);
}
.stat-item:hover{background:linear-gradient(180deg,rgba(16,24,48,.94) 0%,rgba(10,15,26,.94) 100%);border-color:rgba(192,192,192,.2);}
.stat-number{font-size:clamp(1.8rem,4vw,2.5rem);font-weight:900;background:var(--silver-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;filter:drop-shadow(0 0 6px rgba(192,192,192,.2));}
.stat-label{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.15em;color:var(--color-text-muted);margin-top:10px;text-transform:uppercase;}
.stat-note{font-family:var(--font-mono);font-size:.72rem;line-height:1.6;color:rgba(192,192,192,.5);margin-top:10px;}

/* GUEST CTA */
.guest-cta-section{padding:40px 20px 48px;max-width:1360px;margin:0 auto;width:100%;box-sizing:border-box;}
.guest-cta-inner{border:1px solid rgba(192,192,192,.14);border-top:1px solid rgba(212,216,226,.28);border-radius:8px;padding:40px 36px;background:linear-gradient(180deg,rgba(13,19,39,.95) 0%,rgba(10,15,26,.95) 100%);text-align:center;}
.guest-cta-inner .panel-kicker{margin-bottom:12px;}
.guest-cta-inner h2{font-family:var(--font-headings);font-size:clamp(1.2rem,3vw,1.6rem);color:var(--color-text-light);margin:0 0 10px;letter-spacing:.04em;}
.guest-cta-sub{font-family:var(--font-mono);font-size:.78rem;color:var(--color-text-muted);margin:0 0 28px;line-height:1.6;}
.guest-cta-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}

/* DASHBOARD */
.dashboard-shell{
  display:grid;
  grid-template-columns:minmax(240px,280px) minmax(0,1fr) minmax(240px,280px);
  grid-template-areas:'left center right';
  gap:20px;
  padding:0 20px 60px;
  max-width:1360px;
  margin:0 auto;
  position:relative;
  z-index:1;
  width:100%;
  align-items:start;
}
.dashboard-column{display:flex;flex-direction:column;gap:20px;min-width:0;}
.dashboard-column-left{grid-area:left;}
.dashboard-center{grid-area:center;}
.dashboard-column-right{grid-area:right;}
.bubble{
  background:linear-gradient(180deg,rgba(13,19,39,.98) 0%,rgba(10,15,26,.98) 100%);
  padding:32px;
  color:var(--color-text);
  transition:var(--transition);
  border:1px solid rgba(192,192,192,.12);
  border-top:1px solid rgba(212,216,226,.24);
  border-radius:8px;
  position:relative;
  overflow:hidden;
  box-shadow:0 18px 40px rgba(0,0,0,.35);
}
.bubble::before{content:'';position:absolute;top:0;left:0;width:2px;height:0;background:var(--silver-gradient);transition:height .4s ease;box-shadow:0 0 8px rgba(192,192,192,.2);}
.bubble:hover::before{height:100%;}
.bubble:hover{background:linear-gradient(180deg,rgba(16,24,48,.98) 0%,rgba(10,15,26,.98) 100%);box-shadow:0 20px 48px rgba(0,0,0,.42),inset 0 0 30px rgba(192,192,192,.02);}
.bubble h2{font-size:1rem;margin:0 0 18px;background:var(--silver-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:.16em;text-transform:uppercase;font-weight:700;display:flex;align-items:center;gap:10px;}
.bubble h2 .section-icon{width:28px;height:28px;background:rgba(192,192,192,.07);border:1px solid rgba(192,192,192,.18);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:.75rem;flex-shrink:0;}
.bubble ul{list-style:none;padding:0;margin:0;}
.bubble li{margin-bottom:12px;padding-left:1.4rem;position:relative;font-family:var(--font-mono);font-size:.85rem;line-height:1.7;color:var(--color-text-muted);}
.bubble li::before{content:'▸';position:absolute;left:0;color:var(--color-secondary);font-size:.7rem;top:.15rem;}
.bubble li strong{color:var(--color-text-light);}
.panel-compact{padding:24px;}
.panel-kicker,.preview-kicker{
  margin:0 0 12px;
  font-family:var(--font-mono);
  font-size:.62rem;
  letter-spacing:.18em;
  color:rgba(192,192,192,.42);
  text-transform:uppercase;
}
.panel-copy,.command-copy,.preview-meta,.snapshot-note{
  font-family:var(--font-mono);
  font-size:.78rem;
  line-height:1.75;
  color:var(--color-text-muted);
  margin:0;
}
.signal-list{margin-top:18px;border-top:1px solid rgba(192,192,192,.08);}
.signal-row{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:16px;
  padding:12px 0;
  border-bottom:1px solid rgba(192,192,192,.08);
}
.signal-row:last-child{border-bottom:none;padding-bottom:0;}
.signal-label{
  flex-shrink:0;
  font-family:var(--font-mono);
  font-size:.65rem;
  letter-spacing:.12em;
  color:rgba(192,192,192,.42);
  text-transform:uppercase;
}
.signal-value{
  font-family:var(--font-mono);
  font-size:.76rem;
  line-height:1.65;
  color:var(--color-text-light);
  text-align:right;
}
.command-board{padding:28px 30px;}
.command-board::after{
  content:'';
  position:absolute;
  top:-70px;
  right:-60px;
  width:220px;
  height:220px;
  background:radial-gradient(circle,rgba(192,192,192,.08) 0%,transparent 68%);
  pointer-events:none;
}
.command-board-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:20px;
}
.command-board-copy{max-width:640px;position:relative;z-index:1;}
.command-access{
  flex-shrink:0;
  padding:7px 12px;
  border-radius:999px;
  border:1px solid rgba(192,192,192,.18);
  background:rgba(192,192,192,.04);
  color:var(--color-text-light);
  font-family:var(--font-mono);
  font-size:.64rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.command-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  margin-top:24px;
  border-top:1px solid rgba(192,192,192,.08);
  border-bottom:1px solid rgba(192,192,192,.08);
}
.command-strip-item{padding:18px 8px;}
.command-strip-item:not(:last-child){border-right:1px solid rgba(192,192,192,.08);}
.command-strip-label{
  display:block;
  font-family:var(--font-mono);
  font-size:.64rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(192,192,192,.38);
  margin-bottom:8px;
}
.command-strip-value{
  display:block;
  font-size:1.1rem;
  font-weight:700;
  color:var(--color-text-light);
  letter-spacing:.08em;
}
#commandStatusValue{color:#dce1ea;}
.command-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px;position:relative;z-index:1;}
.command-actions .btn-primary,
.command-actions .btn-secondary{justify-content:center;}
.command-preview-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:18px;
  margin-top:28px;
  padding-top:22px;
  border-top:1px solid rgba(192,192,192,.08);
}
.command-preview-head h3{
  margin:0;
  font-size:1rem;
  letter-spacing:.08em;
  color:var(--color-text-light);
  text-transform:uppercase;
}
.command-open-link{
  flex-shrink:0;
  background:none;
  border:1px solid rgba(192,192,192,.16);
  color:var(--color-text-muted);
  padding:9px 14px;
  border-radius:999px;
  font-family:var(--font-mono);
  font-size:.66rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  cursor:pointer;
  transition:var(--transition);
}
.command-open-link:hover{border-color:rgba(192,192,192,.36);color:var(--color-text-light);background:rgba(192,192,192,.05);}
.command-tabs{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:18px;
  padding-bottom:12px;
  border-bottom:1px solid rgba(192,192,192,.08);
}
.command-tab{
  background:none;
  border:1px solid rgba(192,192,192,.12);
  color:var(--color-text-muted);
  padding:8px 14px;
  border-radius:999px;
  font-family:var(--font-mono);
  font-size:.68rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  cursor:pointer;
  transition:var(--transition);
}
.command-tab:hover{border-color:rgba(192,192,192,.32);color:var(--color-text-light);}
.command-tab.active{border-color:rgba(192,192,192,.28);background:rgba(192,192,192,.08);color:var(--color-text-light);}
.command-preview-list{display:flex;flex-direction:column;gap:0;min-height:360px;padding-top:6px;}
.preview-row{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:14px 0;
  border-bottom:1px solid rgba(192,192,192,.08);
}
.preview-row:last-child{border-bottom:none;}
.preview-row-button{
  width:100%;
  text-align:left;
  background:none;
  border:none;
  color:inherit;
  padding:14px 0;
  cursor:pointer;
  transition:var(--transition);
}
.preview-row-button:hover{transform:translateX(4px);}
.preview-row-button:focus-visible{
  outline:1px solid rgba(192,192,192,.35);
  outline-offset:4px;
  border-radius:6px;
}
.preview-row-icon{
  width:32px;
  height:32px;
  border-radius:6px;
  border:1px solid rgba(192,192,192,.12);
  background:rgba(192,192,192,.05);
  color:var(--color-primary);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:.78rem;
  flex-shrink:0;
}
.preview-row-body{flex:1;min-width:0;}
.preview-row-arrow{
  color:rgba(192,192,192,.32);
  font-size:.72rem;
  padding-top:8px;
  flex-shrink:0;
  transition:var(--transition);
}
.preview-row-button:hover .preview-row-arrow{color:var(--color-text-light);transform:translateX(2px);}
.preview-row-title{
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  font-size:.8rem;
  font-weight:700;
  color:var(--color-text-light);
  letter-spacing:.05em;
}
.preview-row-text{
  margin-top:5px;
  font-family:var(--font-mono);
  font-size:.74rem;
  line-height:1.65;
  color:var(--color-text-muted);
}
.preview-row-meta{
  margin-top:7px;
  font-family:var(--font-mono);
  font-size:.63rem;
  color:rgba(192,192,192,.34);
  letter-spacing:.08em;
  text-transform:uppercase;
}
.preview-state{
  display:inline-flex;
  align-items:center;
  gap:5px;
  padding:2px 8px;
  border-radius:999px;
  border:1px solid rgba(192,192,192,.14);
  background:rgba(192,192,192,.04);
  font-family:var(--font-mono);
  font-size:.58rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--color-text-muted);
}
.preview-locked{
  padding:28px 0;
  text-align:center;
  font-family:var(--font-mono);
  font-size:.76rem;
  line-height:1.8;
  color:var(--color-text-muted);
}
.preview-locked strong{color:var(--color-text-light);}
.snapshot-grid{
  margin-top:14px;
  border-top:1px solid rgba(192,192,192,.08);
  border-bottom:1px solid rgba(192,192,192,.08);
}
.snapshot-metric{
  width:100%;
  text-align:left;
  background:none;
  border:none;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:8px;
  padding:12px 0;
  border-bottom:1px solid rgba(192,192,192,.08);
  cursor:pointer;
  transition:var(--transition);
}
.snapshot-metric:last-child{border-bottom:none;}
.snapshot-metric:hover{transform:translateX(4px);}
.snapshot-label{
  font-family:var(--font-mono);
  font-size:.68rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(192,192,192,.42);
}
.snapshot-value{
  font-size:1rem;
  font-weight:700;
  color:var(--color-text-light);
  letter-spacing:.06em;
}
.snapshot-detail{
  font-family:var(--font-mono);
  font-size:.72rem;
  line-height:1.6;
  color:var(--color-text-muted);
}
.snapshot-stream{margin-top:14px;padding-top:14px;border-top:1px solid rgba(192,192,192,.08);}
.snapshot-stream-label{
  display:block;
  font-family:var(--font-mono);
  font-size:.64rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(192,192,192,.38);
  margin-bottom:8px;
}
.snapshot-note{min-height:72px;}

/* DISCORD BTN */
.discord-button{display:inline-flex;align-items:center;gap:10px;margin-top:1.2rem;background:transparent;color:var(--color-text-light);padding:10px 22px;border-radius:4px;font-family:var(--font-main);font-weight:700;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;border:1px solid rgba(192,192,192,.4);box-shadow:var(--glow-sm);transition:var(--transition);position:relative;overflow:hidden;}
.discord-button::before{content:'';position:absolute;inset:0;background:var(--silver-gradient);transform:scaleX(0);transform-origin:left;transition:transform .3s ease;z-index:-1;}
.discord-button:hover{color:#0A0E1A;border-color:transparent;}.discord-button:hover::before{transform:scaleX(1);}

/* ACTIVE MEMBERS PANEL */
.active-members-list{display:flex;flex-direction:column;gap:8px;margin-top:8px;max-height:280px;overflow-y:auto;}
.active-members-list::-webkit-scrollbar{width:3px;}
.active-members-list::-webkit-scrollbar-thumb{background:rgba(192,192,192,.15);border-radius:2px;}
.active-member-row{display:flex;align-items:center;gap:10px;padding:8px 12px;background:rgba(192,192,192,.02);border:1px solid rgba(192,192,192,.07);border-radius:4px;cursor:pointer;transition:var(--transition);}
.active-member-row:hover{background:rgba(192,192,192,.06);border-color:rgba(192,192,192,.18);transform:translateX(4px);}
.active-dot{width:7px;height:7px;border-radius:50%;background:#4CAF50;box-shadow:0 0 6px #4CAF50;flex-shrink:0;animation:pulseDot 2s ease-in-out infinite;}
@keyframes pulseDot{0%,100%{opacity:1}50%{opacity:.5}}
.active-member-av{width:28px;height:28px;border-radius:50%;background:rgba(192,192,192,.08);border:1px solid rgba(192,192,192,.18);display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;color:var(--color-primary);flex-shrink:0;overflow:hidden;}
.active-member-av img{width:100%;height:100%;object-fit:cover;}
.active-member-name{font-family:var(--font-mono);font-size:.78rem;color:var(--color-text-light);flex:1;}
.active-member-rank{font-family:var(--font-mono);font-size:.62rem;color:var(--color-text-muted);}
.active-count{font-family:var(--font-mono);font-size:.7rem;color:var(--color-text-muted);margin-bottom:10px;letter-spacing:.08em;}
.active-count span{color:#4CAF50;}

/* SOCIALS */
.social-links{display:flex;flex-direction:column;gap:10px;margin-top:8px;}
.social-link{display:flex;align-items:center;gap:14px;padding:12px 16px;border:1px solid rgba(192,192,192,.1);border-radius:4px;text-decoration:none;color:var(--color-text-muted);font-size:.8rem;letter-spacing:.08em;transition:var(--transition);background:rgba(192,192,192,.02);}
.social-link:hover{border-color:rgba(192,192,192,.35);color:var(--color-text-light);background:rgba(192,192,192,.05);transform:translateX(4px);box-shadow:var(--glow-sm);}
.social-link.disabled{opacity:.35;pointer-events:none;}
.social-icon{width:32px;height:32px;background:rgba(192,192,192,.06);border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:.9rem;flex-shrink:0;color:var(--color-primary);}
.social-soon{margin-left:auto;font-family:var(--font-mono);font-size:.65rem;background:rgba(192,192,192,.06);border:1px solid rgba(192,192,192,.14);padding:2px 8px;border-radius:2px;color:var(--color-text-muted);letter-spacing:.1em;}

/* FEATURED */
.featured-card{padding:0;margin-top:4px;position:relative;overflow:hidden;border-radius:6px;transition:var(--transition);}
.featured-card::after{content:'';position:absolute;top:-18px;right:-12px;width:72px;height:72px;background:radial-gradient(circle at top right,rgba(192,192,192,.08),transparent);}
.featured-name{font-size:1rem;font-weight:700;color:var(--color-text-light);letter-spacing:.08em;margin:0 0 6px;}
.featured-desc{font-family:var(--font-mono);font-size:.8rem;color:var(--color-text-muted);line-height:1.6;margin:0 0 12px;}
.achievements{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px;}
.achievement-badge{font-family:var(--font-mono);background:rgba(192,192,192,.05);color:var(--color-text-muted);padding:3px 10px;border-radius:2px;font-size:.7rem;letter-spacing:.08em;border:1px solid rgba(192,192,192,.12);transition:var(--transition);}
.achievement-badge:hover{background:rgba(192,192,192,.1);color:var(--color-text-light);border-color:rgba(192,192,192,.3);}
.featured-card.is-interactive{cursor:pointer;padding:10px 12px 12px;border:1px solid rgba(192,192,192,.08);background:rgba(192,192,192,.02);}
.featured-card.is-interactive:hover{border-color:rgba(192,192,192,.24);background:rgba(192,192,192,.04);transform:translateY(-2px);}

/* JOIN */
.join-steps{display:flex;flex-direction:column;gap:0;margin-top:8px;}
.join-step{display:flex;align-items:flex-start;gap:14px;padding:14px 0;border-bottom:1px solid rgba(192,192,192,.08);transition:var(--transition);}
.join-step:last-child{border-bottom:none;padding-bottom:0;}
.join-step:hover{border-color:rgba(192,192,192,.18);}
.step-num{width:28px;height:28px;background:rgba(192,192,192,.07);border:1px solid rgba(192,192,192,.22);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;color:var(--color-text-light);flex-shrink:0;}
.step-text{font-family:var(--font-mono);font-size:.8rem;color:var(--color-text-muted);line-height:1.6;}
.step-text a{color:var(--color-text-light);text-decoration:underline;}

/* MODALS */
.modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.85);z-index:1000;justify-content:center;align-items:center;backdrop-filter:blur(6px);}
.modal.active{display:flex;}
.modal-container{background:rgba(10,15,26,.99);padding:30px;border-radius:6px;width:90%;max-width:420px;box-shadow:0 24px 64px rgba(0,0,0,.7),var(--glow-sm);border:var(--border);border-top:1px solid rgba(212,216,226,.2);position:relative;animation:modalSlideIn .25s ease forwards;max-height:90vh;overflow-y:auto;}
@keyframes modalSlideIn{from{opacity:0;transform:translateY(-12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
.close-btn{position:absolute;top:14px;right:14px;color:var(--color-text-muted);font-size:1.2rem;cursor:pointer;transition:var(--transition);background:none;border:none;}
.close-btn:hover{color:var(--color-text-light);transform:rotate(90deg);}
.modal h2{font-size:.9rem;letter-spacing:.2em;text-transform:uppercase;background:var(--silver-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 20px;}
.login-form{display:flex;flex-direction:column;gap:14px;}
.input-group{display:flex;flex-direction:column;gap:5px;}
.input-group label{color:var(--color-text-muted);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;font-family:var(--font-mono);}
.input-group input{padding:10px 12px;border-radius:3px;border:1px solid rgba(192,192,192,.18);background:rgba(0,0,0,.4);color:var(--color-text);font-family:var(--font-mono);font-size:.85rem;transition:var(--transition);}
.input-group input:focus{outline:none;border-color:rgba(192,192,192,.5);box-shadow:0 0 0 2px rgba(192,192,192,.08);}
.error-message{color:#ff4444;text-align:center;margin-top:10px;font-size:.75rem;font-family:var(--font-mono);display:none;padding:8px;background:rgba(255,68,68,.05);border:1px solid rgba(255,68,68,.2);border-radius:3px;}
.toggle-form{text-align:center;margin-top:12px;font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-muted);}
#toggleForm{color:var(--color-text-light);cursor:pointer;text-decoration:underline;}
.auth-divider{display:flex;align-items:center;gap:10px;margin:14px 0 0;font-family:var(--font-mono);font-size:.65rem;color:rgba(192,192,192,.22);letter-spacing:.12em;}
.auth-divider::before,.auth-divider::after{content:'';flex:1;height:1px;background:rgba(192,192,192,.1);}
.social-login{display:flex;justify-content:center;gap:12px;margin-top:12px;}
.social-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:9px 18px;border-radius:4px;cursor:pointer;transition:var(--transition);border:1px solid rgba(192,192,192,.18);color:var(--color-text-muted);background:rgba(0,0,0,.3);font-family:var(--font-mono);font-size:.75rem;letter-spacing:.05em;flex:1;}
.social-btn:hover{border-color:rgba(192,192,192,.4);color:var(--color-text-light);background:rgba(192,192,192,.06);transform:translateY(-1px);}
.social-btn i{font-size:.9rem;}

/* MEMBERS GRID */
#searchUsers{width:100%;padding:10px 12px;margin:14px 0;border-radius:3px;border:1px solid rgba(192,192,192,.18);background:rgba(0,0,0,.4);color:var(--color-text);font-family:var(--font-mono);font-size:.85rem;transition:var(--transition);}
#searchUsers:focus{outline:none;border-color:rgba(192,192,192,.45);}
#searchUsers::placeholder{color:var(--color-text-muted);}
.friends-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:16px;max-height:420px;overflow-y:auto;padding-right:4px;}
.friends-grid::-webkit-scrollbar{width:4px;}
.friends-grid::-webkit-scrollbar-thumb{background:rgba(192,192,192,.15);border-radius:2px;}
.friend-card{background:rgba(13,19,39,.85);border-radius:6px;overflow:hidden;transition:var(--transition);border:var(--border);border-top:1px solid rgba(192,192,192,.12);cursor:pointer;display:flex;flex-direction:column;}
.friend-card:hover{transform:translateY(-3px);box-shadow:var(--glow-sm),0 8px 24px rgba(0,0,0,.4);border-color:rgba(192,192,192,.3);}
.friend-avatar-wrap{width:100%;aspect-ratio:1/1;overflow:hidden;background:rgba(192,192,192,.03);display:flex;align-items:center;justify-content:center;}
.friend-avatar{width:100%;height:100%;object-fit:cover;object-position:center;display:block;}
.friend-avatar-placeholder{width:56px;height:56px;border-radius:50%;background:rgba(192,192,192,.08);border:1px solid rgba(192,192,192,.2);display:flex;align-items:center;justify-content:center;font-size:1.4rem;font-weight:700;color:var(--color-primary);}
.friend-info{padding:12px;}
.friend-name{font-size:.82rem;margin:0 0 4px;color:var(--color-text-light);font-weight:700;letter-spacing:.05em;}
.friend-bio{font-size:.72rem;font-family:var(--font-mono);color:var(--color-text-muted);margin:0 0 8px;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.friend-footer{display:flex;align-items:center;justify-content:space-between;gap:6px;flex-wrap:wrap;}
.friend-status{display:inline-block;padding:2px 8px;border-radius:2px;font-size:.62rem;font-family:var(--font-mono);letter-spacing:.05em;}
.status-online{background:rgba(76,175,80,.15);color:#4CAF50;border:1px solid rgba(76,175,80,.3);}
.status-offline{background:rgba(244,67,54,.08);color:#f44336;border:1px solid rgba(244,67,54,.2);}
.status-away{background:rgba(255,152,0,.1);color:#ff9800;border:1px solid rgba(255,152,0,.2);}
.friend-rank{font-family:var(--font-mono);font-size:.62rem;color:var(--color-text-muted);letter-spacing:.05em;}

/* VIEW PROFILE */
.view-profile-avatar-wrap{width:90px;height:90px;border-radius:50%;overflow:hidden;border:2px solid rgba(192,192,192,.3);flex-shrink:0;background:rgba(192,192,192,.05);display:flex;align-items:center;justify-content:center;}
.view-profile-avatar-wrap img{width:100%;height:100%;object-fit:cover;object-position:center;}
.view-profile-avatar-placeholder{font-size:2rem;font-weight:700;color:var(--color-primary);}
.view-profile-header{display:flex;align-items:center;gap:16px;margin-bottom:18px;}
.view-profile-info{flex:1;}
.view-profile-name{font-size:1rem;font-weight:700;color:var(--color-text-light);letter-spacing:.08em;margin:0 0 4px;}
.view-profile-rank{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-muted);margin:0 0 6px;}
.view-profile-bio{font-family:var(--font-mono);font-size:.8rem;color:var(--color-text-muted);line-height:1.7;border-top:1px solid rgba(192,192,192,.1);padding-top:12px;margin-top:4px;}
.profile-action-row{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap;}
.btn-sm{padding:7px 14px;font-size:.7rem;letter-spacing:.1em;border-radius:3px;font-family:var(--font-main);font-weight:700;cursor:pointer;transition:var(--transition);border:1px solid rgba(192,192,192,.4);background:transparent;color:var(--color-text-light);display:inline-flex;align-items:center;gap:6px;}
.btn-sm:hover{background:var(--silver-gradient);color:#0A0E1A;border-color:transparent;}
.btn-sm.secondary{border-color:rgba(192,192,192,.2);color:var(--color-text-muted);}
.btn-sm.secondary:hover{border-color:rgba(192,192,192,.4);color:var(--color-text-light);background:transparent;}
.btn-sm.danger{border-color:rgba(255,68,68,.4);color:#f55;}
.btn-sm.danger:hover{background:rgba(255,68,68,.12);color:#f55;}
.btn-sm:disabled{opacity:.45;cursor:not-allowed;pointer-events:none;}

/* MY PROFILE */
.edit-avatar-wrap{position:relative;width:80px;height:80px;border-radius:50%;overflow:hidden;border:2px solid rgba(192,192,192,.28);cursor:pointer;flex-shrink:0;background:rgba(192,192,192,.05);display:flex;align-items:center;justify-content:center;}
.edit-avatar-wrap img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;}
.edit-avatar-placeholder{font-size:1.6rem;font-weight:700;color:var(--color-primary);}
.edit-avatar-overlay{position:absolute;inset:0;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s;font-size:.6rem;letter-spacing:.08em;color:#fff;font-family:var(--font-mono);text-align:center;}
.edit-avatar-wrap:hover .edit-avatar-overlay{opacity:1;}
.edit-profile-header{display:flex;align-items:center;gap:16px;margin-bottom:20px;}
.edit-profile-name-wrap{flex:1;}
.edit-profile-name-wrap p{margin:0 0 4px;font-size:.75rem;font-family:var(--font-mono);color:var(--color-text-muted);}
.edit-profile-name-wrap strong{color:var(--color-text-light);font-size:.95rem;letter-spacing:.06em;}
textarea.input-field{width:100%;padding:10px 12px;border-radius:3px;border:1px solid rgba(192,192,192,.18);background:rgba(0,0,0,.4);color:var(--color-text);font-family:var(--font-mono);font-size:.82rem;transition:var(--transition);resize:vertical;min-height:80px;line-height:1.6;}
textarea.input-field:focus{outline:none;border-color:rgba(192,192,192,.45);box-shadow:0 0 0 2px rgba(192,192,192,.08);}
input.input-field{width:100%;padding:10px 12px;border-radius:3px;border:1px solid rgba(192,192,192,.18);background:rgba(0,0,0,.4);color:var(--color-text);font-family:var(--font-mono);font-size:.82rem;transition:var(--transition);}
input.input-field:focus{outline:none;border-color:rgba(192,192,192,.45);box-shadow:0 0 0 2px rgba(192,192,192,.08);}
input.input-field::placeholder,textarea.input-field::placeholder{color:rgba(176,186,201,.3);}
.field-label{font-family:var(--font-mono);font-size:.68rem;color:var(--color-text-muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:5px;display:block;}
.field-group{margin-bottom:14px;}
.photo-hint{font-family:var(--font-mono);font-size:.65rem;color:var(--color-text-muted);margin-top:6px;line-height:1.5;}
.photo-hint a{color:var(--color-text-light);text-decoration:underline;}
.photo-hint a:hover{text-decoration:none;}
.success-msg{color:#4CAF50;font-family:var(--font-mono);font-size:.75rem;text-align:center;padding:8px;background:rgba(76,175,80,.06);border:1px solid rgba(76,175,80,.2);border-radius:3px;display:none;margin-top:8px;}
.friends-list-section{margin-top:16px;border-top:1px solid rgba(192,192,192,.1);padding-top:14px;}
.friends-list-title{font-size:.7rem;letter-spacing:.18em;color:var(--color-text-muted);font-family:var(--font-mono);margin:0 0 10px;text-transform:uppercase;}
.mini-friend-row{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid rgba(192,192,192,.05);cursor:pointer;transition:var(--transition);}
.mini-friend-row:last-child{border-bottom:none;}
.mini-friend-row:hover{padding-left:4px;}
.mini-avatar{width:30px;height:30px;border-radius:50%;overflow:hidden;border:1px solid rgba(192,192,192,.18);background:rgba(192,192,192,.05);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:var(--color-primary);}
.mini-avatar img{width:100%;height:100%;object-fit:cover;object-position:center;}
.mini-friend-name{font-size:.78rem;color:var(--color-text-light);font-family:var(--font-mono);flex:1;}
.mini-action{font-size:.62rem;cursor:pointer;padding:2px 7px;border-radius:2px;font-family:var(--font-mono);transition:var(--transition);background:none;}
.mini-msg-btn{color:rgba(192,192,192,.5);border:1px solid rgba(192,192,192,.2);}
.mini-msg-btn:hover{color:var(--color-text-light);border-color:rgba(192,192,192,.4);background:rgba(192,192,192,.07);}
.mini-unfriend{color:rgba(255,68,68,.6);border:1px solid rgba(255,68,68,.2);}
.mini-unfriend:hover{color:#f55;border-color:#f55;background:rgba(255,68,68,.08);}

/* NOTIFICATIONS */
.notif-list{display:flex;flex-direction:column;gap:10px;margin-top:8px;}
.notif-item{display:flex;align-items:flex-start;gap:12px;padding:12px;background:rgba(192,192,192,.02);border:1px solid rgba(192,192,192,.08);border-radius:4px;}
.notif-av{width:36px;height:36px;border-radius:50%;background:rgba(192,192,192,.08);border:1px solid rgba(192,192,192,.18);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:var(--color-primary);flex-shrink:0;overflow:hidden;}
.notif-av img{width:100%;height:100%;object-fit:cover;}
.notif-info{flex:1;}
.notif-text{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-muted);line-height:1.5;}
.notif-text strong{color:var(--color-text-light);}
.notif-actions{display:flex;gap:6px;margin-top:8px;}
.notif-empty{font-family:var(--font-mono);font-size:.78rem;color:var(--color-text-muted);text-align:center;padding:28px 0;}

/* MESSAGING */
#msgModal{align-items:flex-end;}
#msgModal .modal-container{
  max-width:480px;width:100%;padding:0;
  display:flex;flex-direction:column;
  height:72vh;max-height:640px;
  overflow:hidden;
  border-radius:12px 12px 0 0;
  margin:0;
}
.msg-header{
  padding:12px 16px;
  border-bottom:var(--border);
  display:flex;align-items:center;gap:10px;
  flex-shrink:0;
  background:rgba(10,14,26,.98);
}
.msg-header-back{
  width:28px;height:28px;
  display:flex;align-items:center;justify-content:center;
  background:none;border:none;
  color:var(--color-text-muted);font-size:.9rem;
  cursor:pointer;flex-shrink:0;
  transition:var(--transition);
  border-radius:50%;
}
.msg-header-back:hover{color:var(--color-primary);}
.msg-header-av{
  width:32px;height:32px;border-radius:50%;
  background:rgba(192,192,192,.08);border:1px solid rgba(192,192,192,.22);
  display:flex;align-items:center;justify-content:center;
  font-size:.7rem;font-weight:700;color:var(--color-primary);
  overflow:hidden;flex-shrink:0;
}
.msg-header-av img{width:100%;height:100%;object-fit:cover;}
.msg-header-info{flex:1;min-width:0;}
.msg-header-name{
  font-size:.82rem;font-weight:700;
  color:var(--color-primary);letter-spacing:.05em;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.msg-header-status{
  font-family:var(--font-mono);font-size:.6rem;
  color:var(--color-text-muted);
  display:flex;align-items:center;gap:4px;
}
.msg-header-status::before{
  content:'';width:5px;height:5px;border-radius:50%;
  background:var(--color-text-muted);flex-shrink:0;
}
.msg-header-status.online::before{background:#4CAF50;box-shadow:0 0 4px #4CAF50;}
.msg-body{
  flex:1;overflow-y:auto;
  padding:12px 14px;
  display:flex;flex-direction:column;gap:6px;
  background:rgba(8,12,22,.97);
}
.msg-body::-webkit-scrollbar{width:2px;}
.msg-body::-webkit-scrollbar-thumb{background:rgba(192,192,192,.12);border-radius:2px;}
/* Bubble grouping — tighten gap between same-sender messages */
.msg-bubble+.msg-bubble.mine,
.msg-bubble+.msg-bubble.theirs{margin-top:1px;}
.msg-bubble{
  max-width:72%;padding:7px 11px 5px;
  border-radius:12px;
  font-family:var(--font-mono);font-size:.77rem;line-height:1.55;
  word-break:break-word;position:relative;
}
.msg-bubble.mine{
  align-self:flex-end;
  background:rgba(192,192,192,.1);
  border:1px solid rgba(192,192,192,.2);
  color:var(--color-text);
  border-bottom-right-radius:3px;
}
.msg-bubble.theirs{
  align-self:flex-start;
  background:rgba(13,19,39,.9);
  border:1px solid rgba(192,192,192,.07);
  color:var(--color-text-muted);
  border-bottom-left-radius:3px;
}
.msg-time{
  font-size:.56rem;color:rgba(192,192,192,.2);
  margin-top:2px;display:block;text-align:right;
}
.msg-bubble.theirs .msg-time{text-align:left;}
.msg-date-div{
  text-align:center;font-family:var(--font-mono);
  font-size:.58rem;color:rgba(192,192,192,.2);
  letter-spacing:.1em;padding:6px 0;
  display:flex;align-items:center;gap:8px;
}
.msg-date-div::before,.msg-date-div::after{
  content:'';flex:1;height:1px;
  background:rgba(192,192,192,.07);
}
.msg-footer{
  padding:8px 12px;
  padding-bottom:max(8px, env(safe-area-inset-bottom));
  border-top:var(--border);
  display:flex;align-items:center;gap:8px;
  flex-shrink:0;
  background:rgba(10,14,26,.98);
}
.msg-input{
  flex:1;padding:9px 14px;
  border-radius:20px;
  border:1px solid rgba(192,192,192,.18);
  background:rgba(0,0,0,.5);
  color:var(--color-text);
  font-family:var(--font-mono);font-size:.8rem;
  transition:var(--transition);
  appearance:none;
  -webkit-appearance:none;
}
.msg-input:focus{outline:none;border-color:rgba(192,192,192,.45);background:rgba(0,0,0,.7);}
.msg-input::placeholder{color:rgba(176,186,201,.3);}
.msg-send{
  width:36px;height:36px;
  border-radius:50%;
  border:none;
  background:var(--silver-gradient);
  color:#0A0E1A;
  font-size:.85rem;
  cursor:pointer;transition:var(--transition);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.msg-send:hover{filter:brightness(1.15);transform:scale(1.08);}
.msg-send:active{transform:scale(.95);}
/* Hide the text label on send button — icon only */
.msg-send .send-label{display:none;}

/* SPINNER */
.loading-spinner{display:flex;align-items:center;justify-content:center;padding:30px;grid-column:1/-1;}
.loading-spinner::after{content:'';width:26px;height:26px;border:2px solid rgba(192,192,192,.12);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;}
@keyframes spin{to{transform:rotate(360deg)}}

/* FOOTER */
footer{background:transparent;padding:32px 20px 24px;text-align:center;color:var(--color-text-muted);border-top:1px solid rgba(192,192,192,.08);position:relative;z-index:1;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.08em;}
.footer-copy{margin-top:10px;opacity:.5;font-size:.65rem;letter-spacing:.12em;}

/* TOAST */
#nexusToast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(8px);background:rgba(10,15,26,.98);border:1px solid rgba(192,192,192,.35);color:var(--color-text-light);padding:10px 22px;border-radius:4px;font-family:var(--font-mono);font-size:.78rem;letter-spacing:.08em;z-index:9000;box-shadow:0 0 20px rgba(192,192,192,.15),0 8px 24px rgba(0,0,0,.5);transition:opacity .3s ease,transform .3s ease;pointer-events:none;opacity:0;white-space:nowrap;}
#nexusToast.show{opacity:1;transform:translateX(-50%) translateY(0);}

@keyframes fadeInUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@keyframes scrollTicker{0%{transform:translateX(0%)}100%{transform:translateX(-100%)}}

@media(max-width:980px){
  .stats-bar{grid-template-columns:1fr;}
}

@media(max-width:1100px){
  .dashboard-shell{
    grid-template-columns:1fr;
    grid-template-areas:
      'center'
      'left'
      'right';
  }
  .dashboard-column-right{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px;
  }
  #join{grid-column:1/-1;}
}

@media(max-width:768px){
  /* Nav */
  .nav-links{display:none;}.hamburger{display:flex;}
  /* Hero */
  .hero{padding:60px 16px 30px;min-height:55vh;}
  .hero-sub{font-size:.85rem;}
  .hero-cta{flex-wrap:wrap;gap:.6rem;}
  /* Stats */
  .stats-bar{padding:24px 16px 20px;gap:14px;}
  .stat-item{padding:18px 16px;}
  /* Dashboard */
  .dashboard-shell{padding:0 16px 40px;gap:16px;}
  .dashboard-column-right{display:flex;flex-direction:column;gap:16px;}
  .bubble{padding:24px 20px;}
  .panel-compact,.command-board{padding:20px 16px;}
  /* Command board */
  .command-board-header,.command-preview-head{flex-direction:column;align-items:flex-start;gap:10px;}
  .command-strip{grid-template-columns:1fr;}
  .command-strip-item{padding:14px 0;}
  .command-strip-item:not(:last-child){border-right:none;border-bottom:1px solid rgba(192,192,192,.08);}
  .command-actions{flex-direction:column;}
  .command-actions .btn-primary,
  .command-actions .btn-secondary{width:100%;justify-content:center;}
  .command-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;gap:6px;padding-bottom:4px;}
  .command-tab{flex-shrink:0;}
  .command-preview-list{min-height:0;}
  /* Misc panels */
  .signal-row{flex-direction:column;gap:6px;}
  .signal-value{text-align:left;}
  /* Corp Hub modal — fixed header, scrollable body (overrides moved after base styles) */
  .log-filter-row,.mission-cat-filter{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px;}
  .log-filter-btn,.mission-cat-btn{flex-shrink:0;}
  #engagementModal{align-items:flex-end;}
  #engagementModal .modal-container{
    width:100%;max-width:100%;
    height:92vh;max-height:92vh;
    border-radius:16px 16px 0 0;
    margin:0;
    padding:16px 16px 0;
    display:flex;flex-direction:column;
    overflow:hidden;
  }
  .hub-modal-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:24px;}
  /* Admin panel — sidebar becomes horizontal tab strip */
  .admin-shell{flex-direction:column;gap:0;min-height:0;}
  .admin-sidebar{
    flex:none;flex-direction:row;flex-wrap:nowrap;
    overflow-x:auto;-webkit-overflow-scrolling:touch;
    border-right:none;border-bottom:var(--border);
    padding:8px 0;gap:4px;
  }
  .admin-sidebar>div:first-child{display:none;}
  .admin-sidebar-group{display:contents;}
  .admin-sidebar-label{display:none;}
  .admin-tab{
    flex-shrink:0;border-left:none;border-radius:4px;
    border-bottom:2px solid transparent;white-space:nowrap;
  }
  .admin-tab.active{border-left-color:transparent;border-bottom-color:var(--color-primary);}
  .admin-content{padding-top:14px;}
  /* Friends */
  .friends-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));}
  /* DM modal */
  #msgModal{align-items:flex-end !important;}
  #msgModal .modal-container{height:88vh;max-height:88vh;border-radius:14px 14px 0 0;margin:0;width:100%;max-width:100%;}
  #msgModal .close-btn{display:none;}
  .msg-bubble{max-width:85%;}
  .msg-header{padding:10px 14px;}
  /* Corp chat */
  #corpChatPanel{width:100%;right:0;left:0;bottom:0;border-radius:16px 16px 0 0;max-height:70vh;}
  /* Guest CTA */
  .guest-cta-inner{padding:28px 20px;}
  .guest-cta-actions{flex-direction:column;align-items:stretch;}
  .guest-cta-actions .btn-primary,
  .guest-cta-actions .btn-secondary{width:100%;justify-content:center;}
  /* Heatmap */
  .heatmap-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .heatmap-grid{min-width:280px;}
  /* Profile view */
  .vp-grid{grid-template-columns:1fr !important;}
  .profile-hero{flex-direction:column;align-items:flex-start;gap:14px;}
  /* Admin panel */
  .admin-tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .admin-tab{flex-shrink:0;}
}

/* ── RANK BADGE COLORS ── */
.rank-badge-founder{background:var(--silver-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 6px rgba(212,216,226,.5));}
.rank-badge-admin{color:#D4D8E2;text-shadow:0 0 5px rgba(212,216,226,.25);}
.rank-badge-coadmin{color:#B8BDC9;}
.rank-badge-dev{color:#9AA2B2;}
.rank-badge-mod{color:#7A8499;}
.rank-badge-member{color:#6A7080;}
.rank-badge-beta{color:#9AA2B2;}
.rank-badge-unaffiliated{color:#555;font-style:italic;}
.rank-badge-guest{color:#888;font-style:italic;}

.guest-hidden{display:none !important;}
/* Locked/read-only input look for guests */
.input-locked{opacity:.35;pointer-events:none;cursor:not-allowed;user-select:none;}
.edit-avatar-wrap.locked{pointer-events:none;cursor:default;}
.edit-avatar-wrap.locked .edit-avatar-overlay{display:none;}

/* ── NOTIFICATION TABS ── */
/* Notification tabs — pill style */
.notif-tabs{display:flex;gap:6px;margin-bottom:14px;padding:4px;background:rgba(0,0,0,.35);border:1px solid rgba(192,192,192,.08);border-radius:6px;}
.notif-tab{flex:1;padding:8px 10px;text-align:center;font-family:var(--font-mono);font-size:.65rem;letter-spacing:.1em;color:var(--color-text-muted);cursor:pointer;transition:all .2s ease;background:none;border:1px solid transparent;border-radius:4px;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:4px;}
.notif-tab.active{color:#0A0E1A;background:linear-gradient(135deg,#D4D8E2,#A8B2C1);border-color:rgba(255,255,255,.3);box-shadow:0 0 12px rgba(192,192,192,.25);font-weight:700;}
.notif-tab.active .notif-tab-badge{background:rgba(10,14,26,.35);color:#fff;}
.notif-tab:hover:not(.active){color:var(--color-text-light);background:rgba(192,192,192,.04);}

/* ── ANNOUNCEMENT ITEMS ── */
.ann-item{padding:12px 14px;background:rgba(192,192,192,.02);border:1px solid rgba(192,192,192,.08);border-left:2px solid rgba(192,192,192,.35);border-radius:4px;margin-bottom:8px;transition:var(--transition);}
.ann-item.unread{background:rgba(192,192,192,.05);border-color:rgba(192,192,192,.18);}
.ann-item-title{font-size:.8rem;font-weight:700;color:var(--color-text-light);letter-spacing:.06em;margin-bottom:4px;}
.ann-item-body{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-muted);line-height:1.6;}
.ann-item-meta{font-family:var(--font-mono);font-size:.62rem;color:rgba(192,192,192,.28);margin-top:6px;display:flex;justify-content:space-between;align-items:center;}
.ann-unread-dot{width:7px;height:7px;border-radius:50%;background:var(--color-primary);box-shadow:var(--glow-sm);flex-shrink:0;}

/* ── MSG NOTIFICATION TOAST ── */
.msg-notif-toast{
  position:fixed;top:70px;right:16px;
  background:rgba(10,15,26,.98);
  border:1px solid rgba(192,192,192,.25);
  border-top:1px solid rgba(212,216,226,.3);
  border-radius:8px;
  padding:10px 14px;
  display:flex;align-items:center;gap:10px;
  z-index:8000;
  box-shadow:0 8px 32px rgba(0,0,0,.6),var(--glow-sm);
  cursor:pointer;
  transform:translateX(calc(100% + 20px));
  transition:transform .35s cubic-bezier(.34,1.56,.64,1);
  max-width:260px;
  min-width:200px;
}
.msg-notif-toast.show{transform:translateX(0);}
.msg-notif-av{width:32px;height:32px;border-radius:50%;background:rgba(192,192,192,.08);border:1px solid rgba(192,192,192,.2);display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;color:var(--color-primary);overflow:hidden;flex-shrink:0;}
.msg-notif-av img{width:100%;height:100%;object-fit:cover;}
.msg-notif-info{flex:1;min-width:0;}
.msg-notif-name{font-size:.72rem;font-weight:700;color:var(--color-text-light);letter-spacing:.04em;}
.msg-notif-preview{font-family:var(--font-mono);font-size:.68rem;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:1px;}

/* ── ADMIN PANEL ── */
#adminModal .modal-container{max-width:680px;}
/* Admin Panel — sidebar + content shell */
.admin-shell{display:flex;gap:18px;margin-top:14px;min-height:480px;}
.admin-sidebar{flex:0 0 200px;display:flex;flex-direction:column;gap:14px;border-right:var(--border);padding-right:14px;}
.admin-sidebar-group{display:flex;flex-direction:column;gap:2px;}
.admin-sidebar-label{font-family:var(--font-mono);font-size:.55rem;letter-spacing:.22em;text-transform:uppercase;color:var(--color-text-muted);padding:0 8px 4px;opacity:.55;}
.admin-tab{display:flex;align-items:center;gap:10px;padding:9px 12px;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;color:var(--color-text-muted);cursor:pointer;transition:all .15s ease;border:1px solid transparent;border-left:2px solid transparent;background:none;text-align:left;border-radius:0 3px 3px 0;}
.admin-tab i{width:14px;text-align:center;font-size:.78rem;flex-shrink:0;}
.admin-tab span{flex:1;}
.admin-tab:hover{color:var(--color-text-light);background:rgba(192,192,192,.04);border-left-color:rgba(192,192,192,.3);}
.admin-tab.active{color:var(--color-text-light);background:rgba(192,192,192,.07);border-left-color:var(--color-primary);box-shadow:inset 0 0 0 1px rgba(192,192,192,.06);}
.admin-content{flex:1;min-width:0;}
.admin-panel-section{display:none;}
.admin-panel-section.active{display:block;animation:adminFade .25s ease;}
@keyframes adminFade{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:none;}}
.admin-user-row{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid rgba(192,192,192,.05);}
.admin-user-row:last-child{border-bottom:none;}
.admin-user-av{width:30px;height:30px;border-radius:50%;background:rgba(192,192,192,.08);border:1px solid rgba(192,192,192,.15);display:flex;align-items:center;justify-content:center;font-size:.68rem;font-weight:700;color:var(--color-primary);overflow:hidden;flex-shrink:0;}
.admin-user-av img{width:100%;height:100%;object-fit:cover;}
.admin-user-name{font-family:var(--font-mono);font-size:.78rem;color:var(--color-text-light);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.admin-rank-select{background:rgba(0,0,0,.4);border:1px solid rgba(192,192,192,.2);color:var(--color-text);font-family:var(--font-mono);font-size:.7rem;padding:4px 8px;border-radius:3px;cursor:pointer;transition:var(--transition);}
.admin-rank-select:focus{outline:none;border-color:rgba(192,192,192,.45);}
.admin-save-rank{padding:4px 10px;font-size:.65rem;letter-spacing:.08em;border-radius:3px;border:1px solid rgba(192,192,192,.4);background:transparent;color:var(--color-text-light);font-family:var(--font-mono);cursor:pointer;transition:var(--transition);white-space:nowrap;}
.admin-save-rank:hover{background:var(--silver-gradient);color:#0A0E1A;border-color:transparent;}
.ann-compose{display:flex;flex-direction:column;gap:10px;}
.ann-compose input,.ann-compose textarea{width:100%;padding:9px 12px;border-radius:3px;border:1px solid rgba(192,192,192,.18);background:rgba(0,0,0,.4);color:var(--color-text);font-family:var(--font-mono);font-size:.8rem;transition:var(--transition);}
.ann-compose input:focus,.ann-compose textarea:focus{outline:none;border-color:rgba(192,192,192,.45);}
.ann-compose textarea{min-height:80px;resize:vertical;line-height:1.6;}
.ann-compose input::placeholder,.ann-compose textarea::placeholder{color:rgba(176,186,201,.3);}
.ann-history-item{padding:10px 12px;background:rgba(192,192,192,.02);border:1px solid rgba(192,192,192,.07);border-radius:4px;margin-bottom:6px;}
.ann-history-title{font-size:.75rem;font-weight:700;color:var(--color-text-light);margin-bottom:2px;}
.ann-history-body{font-family:var(--font-mono);font-size:.7rem;color:var(--color-text-muted);}
.ann-history-meta{font-family:var(--font-mono);font-size:.6rem;color:rgba(192,192,192,.22);margin-top:4px;}
.admin-section-title{font-family:var(--font-mono);font-size:.68rem;color:var(--color-text-muted);letter-spacing:.15em;text-transform:uppercase;margin:0 0 10px;}


/* ─── STATUS INDICATOR ──────────────────────────────── */
.status-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;display:inline-block;border:1px solid rgba(0,0,0,.3);}
.status-dot.online{background:#4CAF50;box-shadow:0 0 5px #4CAF50;}
.status-dot.idle{background:#ff9800;box-shadow:0 0 5px #ff9800;}
.status-dot.dnd{background:#f44336;box-shadow:0 0 5px #f44336;}
.status-dot.invisible{background:#666;}
.status-dot.offline{background:#555;}
.status-picker{position:absolute;top:44px;right:0;background:rgba(10,15,26,.99);border:var(--border);border-top:1px solid rgba(192,192,192,.2);border-radius:8px;box-shadow:0 8px 32px rgba(0,0,0,.6),var(--glow-sm);z-index:1001;min-width:200px;overflow:hidden;display:none;}
.status-picker.open{display:block;}
.status-pick-item{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;transition:var(--transition);font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-muted);}
.status-pick-item:hover{background:rgba(192,192,192,.05);color:var(--color-text-light);}
.status-pick-item .status-dot{width:10px;height:10px;}
.custom-status-input{width:100%;padding:8px 12px;border:none;border-top:var(--border);background:rgba(0,0,0,.4);color:var(--color-text);font-family:var(--font-mono);font-size:.72rem;}
.custom-status-input:focus{outline:none;}
.custom-status-input::placeholder{color:rgba(176,186,201,.3);}
.nav-status-wrap{position:relative;}

/* ─── BADGES ────────────────────────────────────────── */
.badge-row{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px;}
.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:3px;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.06em;border:1px solid;font-weight:700;}
.badge-founding{background:rgba(255,215,0,.08);color:#ffd700;border-color:rgba(255,215,0,.3);}
.badge-beta{background:rgba(192,192,192,.07);color:#C0C0C0;border-color:rgba(192,192,192,.28);}
.badge-veteran{background:rgba(168,178,193,.08);color:#A8B2C1;border-color:rgba(168,178,193,.3);}
.badge-social{background:rgba(76,175,80,.08);color:#4CAF50;border-color:rgba(76,175,80,.3);}
.badge-top{background:rgba(255,107,53,.08);color:#ff6b35;border-color:rgba(255,107,53,.3);}
.badge-firstlogin{background:rgba(58,127,160,.08);color:#3a7fa0;border-color:rgba(58,127,160,.3);}
.badge-mission{background:rgba(0,180,160,.08);color:#00b4a0;border-color:rgba(0,180,160,.3);}

/* ─── CORP LOG ───────────────────────────────────────── */
.corp-log-feed{display:flex;flex-direction:column;gap:6px;max-height:440px;overflow-y:auto;padding-right:4px;}
.corp-log-feed::-webkit-scrollbar{width:3px;}
.corp-log-feed::-webkit-scrollbar-thumb{background:rgba(192,192,192,.12);border-radius:2px;}
.log-item{padding:12px 14px;background:rgba(192,192,192,.02);border:1px solid rgba(192,192,192,.08);border-left:2px solid rgba(192,192,192,.25);border-radius:6px;transition:var(--transition);}
.log-item:hover{background:rgba(192,192,192,.05);border-color:rgba(192,192,192,.16);transform:translateY(-1px);}
.log-item-main{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-muted);line-height:1.5;}
.log-item-main strong{color:var(--color-text-light);}
.log-item-meta{font-family:var(--font-mono);font-size:.6rem;color:rgba(192,192,192,.22);margin-top:3px;}
.log-item-detail{font-family:var(--font-mono);font-size:.68rem;color:rgba(192,192,192,.28);margin-top:3px;border-top:1px solid rgba(192,192,192,.05);padding-top:3px;}
.log-filter-row{display:flex;gap:6px;margin-bottom:12px;flex-wrap:wrap;}
.log-filter-btn{padding:4px 10px;font-family:var(--font-mono);font-size:.65rem;border:1px solid rgba(192,192,192,.14);background:transparent;color:var(--color-text-muted);border-radius:3px;cursor:pointer;transition:var(--transition);}
.log-filter-btn.active,.log-filter-btn:hover{border-color:rgba(192,192,192,.4);color:var(--color-text-light);background:rgba(192,192,192,.05);}

/* ─── GROUP CHAT ─────────────────────────────────────── */
.corp-chat-btn{position:fixed;bottom:24px;right:24px;height:44px;padding:0 18px;border-radius:22px;background:rgba(10,15,26,.96);color:var(--color-text-light);border:1px solid rgba(192,192,192,.3);font-size:.75rem;font-family:var(--font-main);font-weight:700;letter-spacing:.08em;cursor:pointer;z-index:500;box-shadow:0 4px 24px rgba(0,0,0,.6),0 0 12px rgba(192,192,192,.1);transition:var(--transition);display:none;align-items:center;justify-content:center;gap:8px;backdrop-filter:blur(10px);}
.corp-chat-btn.show{display:flex;}
.corp-chat-btn:hover{border-color:rgba(192,192,192,.5);box-shadow:0 4px 28px rgba(0,0,0,.7),var(--glow-sm);transform:translateY(-2px);}
.corp-chat-btn .chat-icon-dot{width:8px;height:8px;border-radius:50%;background:#4CAF50;box-shadow:0 0 5px #4CAF50;flex-shrink:0;}
.corp-chat-btn .chat-unread{background:#f55;color:#fff;border-radius:10px;min-width:18px;height:18px;font-size:.58rem;font-family:var(--font-mono);display:none;align-items:center;justify-content:center;font-weight:700;padding:0 4px;}
.corp-chat-btn .chat-unread.show{display:flex;}
#corpChatPanel{position:fixed;bottom:88px;right:24px;width:320px;height:420px;background:rgba(10,15,26,.99);border:var(--border);border-top:1px solid rgba(192,192,192,.18);border-radius:12px;box-shadow:0 16px 48px rgba(0,0,0,.7),var(--glow-sm);z-index:500;display:none;flex-direction:column;overflow:hidden;transform:scale(.95) translateY(10px);opacity:0;transition:transform .25s ease,opacity .25s ease;}
#corpChatPanel.open{display:flex;transform:scale(1) translateY(0);opacity:1;}
.corp-chat-header{padding:12px 16px;border-bottom:var(--border);display:flex;align-items:center;gap:8px;background:rgba(10,14,26,.95);}
.corp-chat-title{font-size:.8rem;font-weight:700;color:var(--color-text-light);letter-spacing:.08em;flex:1;}
.corp-chat-online{font-family:var(--font-mono);font-size:.62rem;color:#4CAF50;}
.corp-chat-close{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:.85rem;padding:2px 4px;transition:var(--transition);}
.corp-chat-close:hover{color:var(--color-text-light);}
.corp-chat-body{flex:1;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:5px;}
.corp-chat-body::-webkit-scrollbar{width:2px;}
.corp-chat-body::-webkit-scrollbar-thumb{background:rgba(192,192,192,.1);}
.corp-msg{display:flex;flex-direction:column;max-width:88%;}
.corp-msg.mine{align-self:flex-end;}
.corp-msg.theirs{align-self:flex-start;}
.corp-msg-name{font-family:var(--font-mono);font-size:.58rem;color:rgba(192,192,192,.38);margin-bottom:2px;padding-left:2px;}
.corp-msg.mine .corp-msg-name{text-align:right;padding-right:2px;}
.corp-msg-bubble{padding:6px 10px;border-radius:10px;font-family:var(--font-mono);font-size:.75rem;line-height:1.5;word-break:break-word;}
.corp-msg.mine .corp-msg-bubble{background:rgba(192,192,192,.09);border:1px solid rgba(192,192,192,.18);color:var(--color-text);border-bottom-right-radius:2px;}
.corp-msg.theirs .corp-msg-bubble{background:rgba(13,19,39,.85);border:1px solid rgba(192,192,192,.06);color:var(--color-text-muted);border-bottom-left-radius:2px;}
.corp-msg-time{font-family:var(--font-mono);font-size:.55rem;color:rgba(192,192,192,.18);margin-top:2px;padding:0 2px;}
.corp-msg.mine .corp-msg-time{text-align:right;}
.corp-chat-footer{padding:8px 10px;border-top:var(--border);display:flex;gap:6px;}
.corp-chat-input{flex:1;padding:7px 12px;border-radius:16px;border:1px solid rgba(192,192,192,.18);background:rgba(0,0,0,.5);color:var(--color-text);font-family:var(--font-mono);font-size:.75rem;transition:var(--transition);}
.corp-chat-input:focus{outline:none;border-color:rgba(192,192,192,.4);}
.corp-chat-input::placeholder{color:rgba(176,186,201,.3);}
.corp-chat-send{width:32px;height:32px;border-radius:50%;border:none;background:var(--silver-gradient);color:#0A0E1A;font-size:.75rem;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:var(--transition);}
.corp-chat-send:hover{filter:brightness(1.12);transform:scale(1.08);}
.corp-date-sep{text-align:center;font-family:var(--font-mono);font-size:.58rem;color:rgba(192,192,192,.15);padding:4px 0;}
@media(max-width:480px){#corpChatPanel{width:calc(100vw - 32px);right:16px;bottom:80px;}}

/* ─── MISSIONS ───────────────────────────────────────── */
.mission-card{background:rgba(192,192,192,.02);border:1px solid rgba(192,192,192,.1);border-top:1px solid rgba(212,216,226,.18);border-radius:8px;padding:16px 18px;margin-bottom:10px;transition:var(--transition);}
.mission-card:hover{border-color:rgba(192,192,192,.22);background:rgba(192,192,192,.04);transform:translateY(-2px);}
.mission-header{display:flex;align-items:flex-start;gap:10px;margin-bottom:8px;}
.mission-icon{width:32px;height:32px;border-radius:6px;background:rgba(192,192,192,.07);border:1px solid rgba(192,192,192,.15);display:flex;align-items:center;justify-content:center;font-size:.85rem;color:var(--color-primary);flex-shrink:0;}
.mission-info{flex:1;}
.mission-title{font-size:.82rem;font-weight:700;color:var(--color-text-light);letter-spacing:.05em;margin-bottom:3px;}
.mission-desc{font-family:var(--font-mono);font-size:.72rem;color:var(--color-text-muted);line-height:1.5;}
.mission-footer{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap;}
.mission-pts{font-family:var(--font-mono);font-size:.65rem;color:var(--color-text-light);background:rgba(192,192,192,.06);border:1px solid rgba(192,192,192,.18);padding:2px 8px;border-radius:2px;}
.mission-status{font-family:var(--font-mono);font-size:.65rem;padding:2px 8px;border-radius:2px;}
.mission-status.pending{background:rgba(255,152,0,.1);color:#ff9800;border:1px solid rgba(255,152,0,.2);}
.mission-status.completed{background:rgba(76,175,80,.1);color:#4CAF50;border:1px solid rgba(76,175,80,.2);}
.mission-status.rejected{background:rgba(244,67,54,.08);color:#f44336;border:1px solid rgba(244,67,54,.2);}
.mission-status.open{background:rgba(192,192,192,.06);color:var(--color-text-light);border:1px solid rgba(192,192,192,.18);}
.key-input-row{display:flex;gap:6px;margin-top:8px;}
.key-input{flex:1;padding:7px 10px;border-radius:3px;border:1px solid rgba(192,192,192,.18);background:rgba(0,0,0,.4);color:var(--color-text);font-family:var(--font-mono);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;}
.key-input:focus{outline:none;border-color:rgba(192,192,192,.45);}
.key-input::placeholder{color:rgba(176,186,201,.3);text-transform:none;}
.key-submit{padding:7px 12px;border-radius:3px;border:1px solid rgba(192,192,192,.4);background:transparent;color:var(--color-text-light);font-family:var(--font-mono);font-size:.7rem;cursor:pointer;transition:var(--transition);white-space:nowrap;}
.key-submit:hover{background:var(--silver-gradient);color:#0A0E1A;border-color:transparent;}

/* ─── LEADERBOARD ────────────────────────────────────── */
.lb-row{display:flex;align-items:center;gap:10px;padding:11px 14px;background:rgba(192,192,192,.02);border:1px solid rgba(192,192,192,.08);border-radius:6px;margin-bottom:8px;transition:var(--transition);}
.lb-row:hover{background:rgba(192,192,192,.05);border-color:rgba(192,192,192,.16);transform:translateY(-1px);}
.lb-rank{width:24px;text-align:center;font-family:var(--font-mono);font-size:.72rem;font-weight:700;flex-shrink:0;}
.lb-rank.gold{color:#ffd700;text-shadow:0 0 6px rgba(255,215,0,.5);}
.lb-rank.silver{color:#c0c0c0;}
.lb-rank.bronze{color:#cd7f32;}
.lb-rank.other{color:var(--color-text-muted);}
.lb-av{width:28px;height:28px;border-radius:50%;background:rgba(192,192,192,.08);border:1px solid rgba(192,192,192,.18);display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:700;color:var(--color-primary);overflow:hidden;flex-shrink:0;}
.lb-av img{width:100%;height:100%;object-fit:cover;}
.lb-name{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-light);flex:1;}
.lb-pts{font-family:var(--font-mono);font-size:.7rem;color:var(--color-text-light);font-weight:700;}
.lb-you{font-family:var(--font-mono);font-size:.6rem;color:rgba(192,192,192,.38);margin-left:4px;}

/* ─── CALENDAR ───────────────────────────────────────── */
.event-card{padding:14px 16px;background:rgba(192,192,192,.02);border:1px solid rgba(192,192,192,.08);border-left:2px solid rgba(192,192,192,.35);border-radius:6px;margin-bottom:10px;cursor:default;transition:var(--transition);}
.event-card:hover{background:rgba(192,192,192,.04);transform:translateY(-1px);}
.event-title{font-size:.8rem;font-weight:700;color:var(--color-text-light);letter-spacing:.05em;margin-bottom:4px;}
.event-desc{font-family:var(--font-mono);font-size:.72rem;color:var(--color-text-muted);line-height:1.5;margin-bottom:6px;}
.event-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.event-date{font-family:var(--font-mono);font-size:.65rem;color:rgba(192,192,192,.45);display:flex;align-items:center;gap:4px;}
.event-rsvp-row{display:flex;gap:6px;margin-top:8px;}
.rsvp-btn{padding:4px 12px;font-family:var(--font-mono);font-size:.65rem;border-radius:3px;cursor:pointer;transition:var(--transition);border:1px solid;}
.rsvp-btn.yes{border-color:rgba(76,175,80,.3);color:#4CAF50;background:rgba(76,175,80,.06);}
.rsvp-btn.yes.active,.rsvp-btn.yes:hover{background:rgba(76,175,80,.15);border-color:#4CAF50;}
.rsvp-btn.no{border-color:rgba(244,67,54,.2);color:#f44336;background:rgba(244,67,54,.04);}
.rsvp-btn.no.active,.rsvp-btn.no:hover{background:rgba(244,67,54,.1);border-color:#f44336;}
.rsvp-count{font-family:var(--font-mono);font-size:.62rem;color:rgba(192,192,192,.28);}

/* ─── INTEL BOARD ────────────────────────────────────── */
.intel-post{padding:14px 16px;background:rgba(192,192,192,.02);border:1px solid rgba(192,192,192,.08);border-radius:6px;margin-bottom:10px;transition:var(--transition);}
.intel-post:hover{background:rgba(192,192,192,.04);transform:translateY(-1px);}
.intel-post-title{font-size:.78rem;font-weight:700;color:var(--color-text-light);letter-spacing:.05em;margin-bottom:4px;}
.intel-post-body{font-family:var(--font-mono);font-size:.73rem;color:var(--color-text-muted);line-height:1.6;}
.intel-post-meta{font-family:var(--font-mono);font-size:.62rem;color:rgba(192,192,192,.22);margin-top:5px;display:flex;justify-content:space-between;}
.intel-tag{display:inline-block;padding:1px 7px;border-radius:2px;font-family:var(--font-mono);font-size:.6rem;border:1px solid rgba(192,192,192,.14);color:var(--color-text-muted);margin-right:4px;background:rgba(192,192,192,.04);}

/* ─── POLLS ──────────────────────────────────────────── */
.poll-card{padding:16px 18px;background:rgba(192,192,192,.02);border:1px solid rgba(192,192,192,.1);border-radius:8px;margin-bottom:10px;transition:var(--transition);}
.poll-card:hover{border-color:rgba(192,192,192,.18);background:rgba(192,192,192,.04);}
.poll-question{font-size:.82rem;font-weight:700;color:var(--color-text-light);letter-spacing:.04em;margin-bottom:12px;}
.poll-option{margin-bottom:8px;}
.poll-option-btn{width:100%;text-align:left;padding:8px 12px;border-radius:4px;border:1px solid rgba(192,192,192,.14);background:rgba(0,0,0,.3);color:var(--color-text-muted);font-family:var(--font-mono);font-size:.75rem;cursor:pointer;transition:var(--transition);position:relative;overflow:hidden;}
.poll-option-btn:hover:not(:disabled){border-color:rgba(192,192,192,.38);color:var(--color-text-light);background:rgba(192,192,192,.05);}
.poll-option-btn.voted{border-color:rgba(192,192,192,.38);color:var(--color-text-light);}
.poll-option-btn:disabled{cursor:default;}
.poll-bar{position:absolute;top:0;left:0;height:100%;background:rgba(192,192,192,.07);transition:width .5s ease;z-index:0;}
.poll-opt-text{position:relative;z-index:1;display:flex;justify-content:space-between;}
.poll-meta{font-family:var(--font-mono);font-size:.62rem;color:rgba(192,192,192,.28);margin-top:8px;}

/* ─── ENGAGEMENT HUB TABS ────────────────────────────── */
.hub-modal-top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;padding-right:28px;}
.hub-viewer-rank{
  flex-shrink:0;
  padding:6px 12px;
  border-radius:999px;
  border:1px solid rgba(192,192,192,.16);
  background:rgba(192,192,192,.04);
  color:var(--color-text-light);
  font-family:var(--font-mono);
  font-size:.64rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.hub-hero-zone{
  display:flex;
  flex-direction:column;
  gap:0;
  padding:12px 0 14px;
  border-top:1px solid rgba(192,192,192,.08);
  border-bottom:1px solid rgba(192,192,192,.08);
  margin-bottom:14px;
}
/* Mobile-first: stats always visible, text hidden until wide enough */
.hub-hero{display:none;}
.hub-quick-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
  width:100%;
}
/* Desktop: side-by-side — text on left, 2×2 stat grid on right */
@media(min-width:600px){
  .hub-hero-zone{flex-direction:row;align-items:flex-start;gap:18px;padding:18px 0 20px;margin-bottom:18px;}
  .hub-hero{display:block;flex:1 1 0;min-width:0;}
  .hub-quick-grid{flex:0 0 220px;width:220px;grid-template-columns:repeat(2,minmax(0,1fr));}
}
.hub-hero-kicker{
  margin:0 0 8px;
  font-family:var(--font-mono);
  font-size:.64rem;
  letter-spacing:.16em;
  color:rgba(192,192,192,.42);
  text-transform:uppercase;
}
.hub-hero-copy h3{
  margin:0;
  font-size:1.02rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--color-text-light);
}
.hub-hero-copy p:last-child{
  margin:10px 0 0;
  font-family:var(--font-mono);
  font-size:.78rem;
  line-height:1.75;
  color:var(--color-text-muted);
}
.hub-quick-stat{
  padding:12px 14px;
  border-radius:8px;
  border:1px solid rgba(192,192,192,.1);
  background:rgba(192,192,192,.03);
}
.hub-quick-label{
  display:block;
  font-family:var(--font-mono);
  font-size:.62rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(192,192,192,.38);
  margin-bottom:8px;
}
.hub-quick-value{
  display:block;
  font-size:1rem;
  letter-spacing:.06em;
  color:var(--color-text-light);
}
.hub-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;overflow-x:auto;flex-shrink:0;padding-bottom:2px;}
.hub-tabs::-webkit-scrollbar{display:none;}
.hub-tab{
  flex-shrink:0;
  padding:10px 16px;
  font-family:var(--font-mono);
  font-size:.65rem;
  letter-spacing:.12em;
  color:var(--color-text-muted);
  cursor:pointer;
  border:1px solid rgba(192,192,192,.14);
  border-radius:999px;
  background:rgba(0,0,0,.25);
  transition:all .2s ease;
  white-space:nowrap;
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.hub-tab i{font-size:.68rem;opacity:.7;}
.hub-tab.active{color:#0A0E1A;border-color:rgba(255,255,255,.4);background:linear-gradient(135deg,#D4D8E2,#A8B2C1);box-shadow:0 0 14px rgba(192,192,192,.3);font-weight:700;}
.hub-tab.active i{opacity:1;}
.hub-tab:hover:not(.active){color:var(--color-text-light);border-color:rgba(192,192,192,.32);background:rgba(192,192,192,.05);transform:translateY(-1px);}
.hub-section-bar{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:18px;
  padding:0 0 14px;
  border-bottom:1px solid rgba(192,192,192,.08);
  margin-bottom:16px;
}
.hub-section-label{
  display:block;
  font-family:var(--font-mono);
  font-size:.68rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(192,192,192,.42);
  margin-bottom:8px;
}
.hub-section-note{
  margin:0;
  font-family:var(--font-mono);
  font-size:.75rem;
  line-height:1.7;
  color:var(--color-text-muted);
}
.hub-section-count{
  flex-shrink:0;
  min-width:56px;
  text-align:center;
  padding:10px 12px;
  border-radius:10px;
  border:1px solid rgba(192,192,192,.12);
  background:rgba(192,192,192,.04);
  font-size:1.1rem;
  font-weight:700;
  color:var(--color-text-light);
}
.hub-section{display:none;}
.hub-section.active{display:block;}
#engagementModal .modal-container{
  max-width:980px;
  min-height:640px;
  width:min(95vw,980px);
  padding:28px;
  background:linear-gradient(180deg,rgba(10,15,26,.995) 0%,rgba(8,12,22,.995) 100%);
}
.hub-empty{font-family:var(--font-mono);font-size:.78rem;color:var(--color-text-muted);text-align:center;padding:30px 0;}
.hub-scroll{max-height:440px;overflow-y:auto;padding-right:4px;}
.hub-scroll::-webkit-scrollbar{width:3px;}
.hub-scroll::-webkit-scrollbar-thumb{background:rgba(192,192,192,.12);border-radius:2px;}


/* ── ENHANCED PROFILE MODAL ──────────────────────────── */
.profile-modal-hero{
  position:relative;
  background:linear-gradient(135deg,rgba(192,192,192,.05) 0%,rgba(13,19,39,.85) 100%);
  border-radius:6px;border:var(--border);border-top:1px solid rgba(212,216,226,.2);
  padding:20px;margin-bottom:16px;
  overflow:hidden;
}
.profile-modal-hero::before{
  content:'';position:absolute;top:0;right:0;width:120px;height:120px;
  background:radial-gradient(circle at top right,rgba(192,192,192,.08),transparent 70%);
  pointer-events:none;
}
.profile-hero-top{display:flex;align-items:flex-start;gap:16px;margin-bottom:12px;}
.profile-hero-av{
  width:72px;height:72px;border-radius:50%;
  border:2px solid rgba(192,192,192,.35);
  background:rgba(192,192,192,.07);
  display:flex;align-items:center;justify-content:center;
  font-size:1.6rem;font-weight:700;color:var(--color-primary);
  overflow:hidden;flex-shrink:0;
  box-shadow:0 0 14px rgba(192,192,192,.15);
}
.profile-hero-av img{width:100%;height:100%;object-fit:cover;}
.profile-hero-info{flex:1;min-width:0;}
.profile-hero-name{font-size:1rem;font-weight:900;color:var(--color-text-light);letter-spacing:.07em;margin-bottom:3px;display:flex;align-items:center;gap:8px;}
.profile-hero-rank{font-size:.72rem;margin-bottom:5px;display:flex;align-items:center;gap:6px;}
.profile-hero-status{display:flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:.68rem;color:var(--color-text-muted);}
.profile-activity-pill{
  display:inline-flex;align-items:center;gap:5px;
  background:rgba(192,192,192,.04);border:1px solid rgba(192,192,192,.12);
  border-radius:12px;padding:3px 10px;
  font-family:var(--font-mono);font-size:.68rem;color:var(--color-text-muted);
  margin-top:5px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.profile-bio-section{
  background:rgba(0,0,0,.2);border-radius:4px;border:1px solid rgba(192,192,192,.06);
  padding:10px 12px;margin-bottom:12px;
}
.profile-section-label{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.15em;color:rgba(192,192,192,.32);text-transform:uppercase;margin-bottom:5px;}
.profile-bio-text{font-family:var(--font-mono);font-size:.78rem;color:var(--color-text-muted);line-height:1.7;}
.profile-stats-row{display:flex;gap:0;border-top:1px solid rgba(192,192,192,.08);padding-top:10px;margin-top:2px;}
.profile-stat{flex:1;text-align:center;padding:6px 4px;}
.profile-stat-num{font-size:.9rem;font-weight:900;color:var(--color-text-light);line-height:1;}
.profile-stat-lbl{font-family:var(--font-mono);font-size:.58rem;color:rgba(192,192,192,.28);letter-spacing:.08em;margin-top:2px;}

/* My Profile enhanced tabs */
.profile-edit-tabs{display:flex;gap:0;border-bottom:var(--border);margin-bottom:16px;}
.profile-edit-tab{flex:1;padding:8px 0;text-align:center;font-family:var(--font-mono);font-size:.65rem;letter-spacing:.1em;color:var(--color-text-muted);cursor:pointer;border-bottom:2px solid transparent;background:none;border-top:none;border-left:none;border-right:none;transition:var(--transition);}
.profile-edit-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary);}
.profile-tab-section{display:none;}
.profile-tab-section.active{display:block;}

/* Enhanced connections list */
.connection-card{display:flex;align-items:center;gap:10px;padding:8px 10px;background:rgba(192,192,192,.02);border:1px solid rgba(192,192,192,.08);border-radius:6px;transition:var(--transition);cursor:pointer;}
.connection-card:hover{background:rgba(192,192,192,.05);border-color:rgba(192,192,192,.22);transform:translateX(3px);}
.connection-av{width:36px;height:36px;border-radius:50%;background:rgba(192,192,192,.07);border:1px solid rgba(192,192,192,.2);display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;color:var(--color-primary);overflow:hidden;flex-shrink:0;position:relative;}
.connection-av img{width:100%;height:100%;object-fit:cover;}
.connection-av-dot{position:absolute;bottom:0;right:0;width:9px;height:9px;border-radius:50%;border:1.5px solid var(--color-card);}
.connection-info{flex:1;min-width:0;}
.connection-name{font-size:.78rem;font-weight:700;color:var(--color-text-light);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.connection-rank{font-family:var(--font-mono);font-size:.62rem;}
.connection-activity{font-family:var(--font-mono);font-size:.6rem;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.connection-actions{display:flex;gap:4px;flex-shrink:0;}

/* Member directory enhanced */
.directory-stats{display:flex;gap:12px;margin-bottom:12px;padding:10px 12px;background:rgba(192,192,192,.02);border:var(--border);border-radius:4px;}
.dir-stat{font-family:var(--font-mono);font-size:.68rem;color:var(--color-text-muted);}
.dir-stat strong{color:var(--color-primary);}
.dir-filter-row{display:flex;gap:6px;margin-bottom:10px;flex-wrap:wrap;}
.dir-filter{padding:4px 10px;font-family:var(--font-mono);font-size:.65rem;border:1px solid rgba(192,192,192,.15);background:transparent;color:var(--color-text-muted);border-radius:3px;cursor:pointer;transition:var(--transition);}
.dir-filter.active,.dir-filter:hover{border-color:rgba(192,192,192,.4);color:var(--color-text-light);}

.notif-tab-badge{display:inline-block;background:#f55;color:#fff;border-radius:8px;font-size:.55rem;padding:0 5px;margin-left:4px;font-family:var(--font-mono);font-weight:700;vertical-align:middle;min-width:14px;text-align:center;line-height:16px;}

/* Enhanced admin panel */
.admin-header-row{display:flex;align-items:center;gap:10px;margin-bottom:6px;}
.admin-search{width:100%;padding:8px 12px;border-radius:3px;border:1px solid rgba(192,192,192,.18);background:rgba(0,0,0,.3);color:var(--color-text);font-family:var(--font-mono);font-size:.78rem;margin-bottom:10px;transition:var(--transition);}
.admin-search:focus{outline:none;border-color:rgba(192,192,192,.45);}
.admin-search::placeholder{color:rgba(176,186,201,.3);}
.admin-stat-row{display:flex;gap:10px;margin-bottom:12px;flex-wrap:wrap;}
.admin-stat-chip{background:rgba(192,192,192,.03);border:1px solid rgba(192,192,192,.1);border-radius:4px;padding:6px 12px;font-family:var(--font-mono);font-size:.65rem;color:var(--color-text-muted);}
.admin-stat-chip strong{color:var(--color-text-light);}


/* ── REPORT & BLOCK ───────────────────────────── */
.profile-danger-row{display:flex;gap:6px;margin-top:10px;padding-top:10px;border-top:1px solid rgba(192,192,192,.07);}
.btn-report{padding:5px 10px;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.06em;border-radius:3px;border:1px solid rgba(255,152,0,.3);background:rgba(255,152,0,.05);color:#ff9800;cursor:pointer;transition:var(--transition);display:flex;align-items:center;gap:5px;}
.btn-report:hover{background:rgba(255,152,0,.12);border-color:#ff9800;}
.btn-block{padding:5px 10px;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.06em;border-radius:3px;border:1px solid rgba(244,67,54,.25);background:rgba(244,67,54,.04);color:#f44336;cursor:pointer;transition:var(--transition);display:flex;align-items:center;gap:5px;}
.btn-block:hover{background:rgba(244,67,54,.1);border-color:#f44336;}
.btn-unblock{padding:5px 10px;font-family:var(--font-mono);font-size:.62rem;border-radius:3px;border:1px solid rgba(76,175,80,.3);background:rgba(76,175,80,.05);color:#4CAF50;cursor:pointer;transition:var(--transition);display:flex;align-items:center;gap:5px;}
.btn-unblock:hover{background:rgba(76,175,80,.12);border-color:#4CAF50;}

/* Report modal */
#reportModal .modal-container{max-width:400px;}
.report-reason-list{display:flex;flex-direction:column;gap:6px;margin:12px 0;}
.report-reason-btn{padding:9px 14px;border:1px solid rgba(192,192,192,.1);background:rgba(192,192,192,.02);color:var(--color-text-muted);font-family:var(--font-mono);font-size:.75rem;border-radius:4px;cursor:pointer;text-align:left;transition:var(--transition);}
.report-reason-btn:hover,.report-reason-btn.selected{border-color:rgba(255,152,0,.4);background:rgba(255,152,0,.06);color:#ff9800;}
.report-extra{width:100%;padding:8px 12px;border-radius:3px;border:1px solid rgba(192,192,192,.15);background:rgba(0,0,0,.4);color:var(--color-text);font-family:var(--font-mono);font-size:.75rem;resize:vertical;min-height:56px;margin-top:6px;transition:var(--transition);}
.report-extra:focus{outline:none;border-color:rgba(255,152,0,.4);}
.report-extra::placeholder{color:rgba(176,186,201,.3);}

/* Blocked profile overlay */
.blocked-overlay{padding:24px;text-align:center;}
.blocked-overlay-icon{font-size:2rem;color:rgba(244,67,54,.5);margin-bottom:10px;}
.blocked-overlay-title{font-size:.85rem;font-weight:700;color:var(--color-text-muted);letter-spacing:.08em;margin-bottom:6px;}
.blocked-overlay-msg{font-family:var(--font-mono);font-size:.75rem;color:rgba(74,143,168,.6);line-height:1.6;}

/* Admin reports panel */
.report-card{padding:12px 14px;background:rgba(255,152,0,.03);border:1px solid rgba(255,152,0,.1);border-left:3px solid #ff9800;border-radius:4px;margin-bottom:8px;}
.report-card-header{display:flex;align-items:center;gap:8px;margin-bottom:5px;}
.report-card-reason{font-size:.78rem;font-weight:700;color:#ff9800;letter-spacing:.04em;}
.report-card-meta{font-family:var(--font-mono);font-size:.65rem;color:rgba(192,192,192,.4);}
.report-card-detail{font-family:var(--font-mono);font-size:.72rem;color:var(--color-text-muted);margin-top:4px;line-height:1.5;}
.report-card-actions{display:flex;gap:6px;margin-top:8px;}
.report-dismiss-btn{padding:3px 10px;font-family:var(--font-mono);font-size:.62rem;border:1px solid rgba(192,192,192,.14);background:transparent;color:var(--color-text-muted);border-radius:3px;cursor:pointer;transition:var(--transition);}
.report-dismiss-btn:hover{border-color:rgba(192,192,192,.4);color:var(--color-text-light);}

/* Enhanced mark all read button */
.notif-header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:10px;}
.notif-header-row h2{margin:0;display:flex;align-items:center;gap:8px;}
.mark-all-read-btn{display:flex;align-items:center;gap:5px;padding:5px 12px;font-family:var(--font-mono);font-size:.62rem;letter-spacing:.06em;border:1px solid rgba(192,192,192,.18);background:rgba(192,192,192,.04);color:var(--color-text-muted);border-radius:20px;cursor:pointer;transition:var(--transition);white-space:nowrap;}
.mark-all-read-btn:hover{border-color:rgba(192,192,192,.4);color:var(--color-text-light);background:rgba(192,192,192,.08);}
.mark-all-read-btn i{font-size:.6rem;}


/* ── BAN SYSTEM ───────────────────────────────────── */
.ban-user-row{display:flex;align-items:center;gap:8px;padding:7px 0;border-bottom:1px solid rgba(192,192,192,.05);}
.ban-user-row:last-child{border-bottom:none;}
.ban-name{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-light);flex:1;}
.ban-rank-label{font-family:var(--font-mono);font-size:.62rem;margin-right:4px;}
.btn-ban{padding:3px 10px;font-family:var(--font-mono);font-size:.62rem;border:1px solid rgba(244,67,54,.3);background:rgba(244,67,54,.05);color:#f44336;border-radius:3px;cursor:pointer;transition:var(--transition);}
.btn-ban:hover{background:rgba(244,67,54,.12);border-color:#f44336;}
.btn-unban-admin{padding:3px 10px;font-family:var(--font-mono);font-size:.62rem;border:1px solid rgba(76,175,80,.3);background:rgba(76,175,80,.05);color:#4CAF50;border-radius:3px;cursor:pointer;transition:var(--transition);}
.btn-unban-admin:hover{background:rgba(76,175,80,.12);border-color:#4CAF50;}
.banned-overlay{position:fixed;inset:0;background:rgba(0,0,0,.97);z-index:99999;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;}
.banned-overlay-icon{font-size:3rem;color:#f44336;}
.banned-overlay-title{font-size:1.2rem;font-weight:900;color:#f44336;letter-spacing:.12em;}
.banned-overlay-msg{font-family:var(--font-mono);font-size:.82rem;color:rgba(255,255,255,.5);text-align:center;max-width:360px;line-height:1.7;}
.banned-reason-box{font-family:var(--font-mono);font-size:.78rem;color:rgba(244,67,54,.6);border:1px solid rgba(244,67,54,.2);background:rgba(244,67,54,.04);padding:8px 14px;border-radius:4px;max-width:360px;text-align:center;}

/* FORGOT PASSWORD LINK */
.forgot-link{text-align:right;margin-top:-6px;}
#forgotLink{font-family:var(--font-mono);font-size:.68rem;color:var(--color-text-muted);cursor:pointer;letter-spacing:.06em;text-decoration:underline;transition:var(--transition);}
#forgotLink:hover{color:var(--color-primary);}
/* GUEST badge on anon users */
.guest-tag{font-family:var(--font-mono);font-size:.58rem;background:rgba(255,107,53,.1);border:1px solid rgba(255,107,53,.25);color:#ff6b35;padding:1px 6px;border-radius:2px;letter-spacing:.08em;margin-left:4px;vertical-align:middle;}

@media(max-width:480px){
  .hero h1{font-size:2rem;}
  .btn-primary,.btn-secondary{padding:10px 16px;font-size:.68rem;}
  .preview-row{gap:10px;}
  .preview-row-button{padding:12px 0;}
  .preview-row-icon{width:28px;height:28px;font-size:.72rem;}
  .snapshot-metric{align-items:flex-start;flex-direction:column;gap:6px;}
  .hub-section-count{min-width:0;width:100%;}
  .modal-container{padding:18px 14px;}
  .notif-tabs{gap:4px;}
  .notif-tab{font-size:.58rem;padding:7px 8px;}
  .corp-chat-btn{right:16px;bottom:16px;}
}

/* =====================================================
   CORPORATION HUB — MOBILE OVERRIDES
   Must live after base hub styles to win the cascade.
   ===================================================== */
@media(max-width:768px){
  /* Bottom-sheet modal */
  .hub-modal-top{
    flex-direction:row;align-items:center;flex-wrap:wrap;
    gap:6px;margin-bottom:10px;
  }
  .hub-viewer-rank{font-size:.6rem;padding:3px 8px;}

  /* Stat strip tighter on mobile */
  .hub-quick-stat{padding:9px 6px;text-align:center;border-radius:6px;}
  .hub-quick-label{font-size:.52rem;letter-spacing:.08em;margin-bottom:4px;}
  .hub-quick-value{font-size:.85rem;}

  /* Hero zone bottom spacing — prevent stats hugging the tabs */
  .hub-hero-zone{margin-bottom:18px;padding-bottom:16px;}

  /* Tabs — horizontal scroll strip with breathing room */
  .hub-tabs{
    flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;
    gap:5px;padding-bottom:6px;margin-bottom:14px;
    mask-image:linear-gradient(to right,black 85%,transparent 100%);
    -webkit-mask-image:linear-gradient(to right,black 85%,transparent 100%);
    scrollbar-width:none;
  }
  .hub-tabs::-webkit-scrollbar{display:none;}
  .hub-tab{
    flex-shrink:0;padding:7px 11px;font-size:.58rem;
    gap:4px;
  }
  .hub-tab i{font-size:.6rem;}

  /* Section bar */
  .hub-section-bar{
    flex-direction:column;align-items:flex-start;gap:3px;
    margin-bottom:10px;
  }
  .hub-section-label{font-size:.72rem;}
  .hub-section-note{font-size:.62rem;line-height:1.45;}
  .hub-section-count{font-size:.9rem;min-width:28px;}

  /* SCROLL FIX: kill inner scroll containers so the outer hub-modal-body
     handles all vertical scrolling. Nested scroll areas break touch on iOS/Android. */
  .hub-scroll,
  .corp-log-feed{
    max-height:none !important;
    overflow:visible !important;
    padding-right:0;
  }
  /* Make the modal body the single scroll surface */
  .hub-modal-body{
    flex:1 1 auto;min-height:0;
    overflow-y:auto;-webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    padding-bottom:32px;
  }
}

@media(max-width:480px){
  /* Tabs: icon + abbreviated label */
  .hub-tab .hub-tab-text{display:none;}
  .hub-tab{padding:8px 10px;gap:0;}
  .hub-tab i{font-size:.72rem;opacity:.85;}
  .hub-tab.active i{opacity:1;}
  /* Wider modal padding room */
  #engagementModal .modal-container{padding:14px 12px 0;}
}

/* Deep-link flash highlight when a homepage preview row deep-links into the Corp Hub */
.deep-link-flash{
  animation:deepLinkFlash 2.2s ease-out;
  position:relative;
  z-index:1;
}
@keyframes deepLinkFlash{
  0%{box-shadow:0 0 0 0 rgba(192,192,192,.55), inset 0 0 0 1px rgba(192,192,192,.55);}
  35%{box-shadow:0 0 22px 4px rgba(192,192,192,.35), inset 0 0 0 1px rgba(192,192,192,.6);}
  100%{box-shadow:0 0 0 0 rgba(192,192,192,0), inset 0 0 0 1px rgba(192,192,192,0);}
}

/* Daily Check-In Streak panel */
#streak-panel .streak-display{display:flex;align-items:center;gap:14px;padding:10px 0 14px;}
#streak-panel .streak-flame{position:relative;width:64px;height:64px;border-radius:50%;background:radial-gradient(circle at 50% 70%, rgba(192,192,192,.18), rgba(192,192,192,.04) 70%);display:flex;align-items:center;justify-content:center;border:1px solid rgba(192,192,192,.28);}
#streak-panel .streak-flame i{position:absolute;top:8px;color:var(--color-primary);font-size:1.1rem;filter:drop-shadow(0 0 6px rgba(192,192,192,.5));opacity:.9;}
#streak-panel .streak-flame .streak-current{position:relative;font-family:var(--font-mono);font-size:1.7rem;color:var(--color-text);text-shadow:0 0 8px rgba(192,192,192,.4);margin-top:8px;}
#streak-panel .streak-meta{flex:1;display:flex;flex-direction:column;gap:2px;}
#streak-panel .streak-label{font-family:var(--font-mono);font-size:.62rem;color:var(--color-text-muted);letter-spacing:.18em;text-transform:uppercase;}
#streak-panel .streak-sublabel{font-family:var(--font-mono);font-size:.72rem;color:var(--color-text);line-height:1.5;}
#streak-panel .streak-best{font-family:var(--font-mono);font-size:.62rem;color:var(--color-text-muted);margin-top:4px;}
#streak-panel .streak-btn{font-size:.72rem;padding:9px;}
#streak-panel .streak-btn.streak-done{background:rgba(192,192,192,.06);border-color:rgba(192,192,192,.22);color:var(--color-primary);cursor:default;}
#streak-panel .streak-hint{font-family:var(--font-mono);font-size:.62rem;color:var(--color-text-muted);margin-top:8px;line-height:1.55;opacity:.7;}

/* Weekly mission drop ribbon */
.mission-card{position:relative;}
.mission-card.mission-fresh{border-color:rgba(192,192,192,.45);box-shadow:0 0 0 1px rgba(192,192,192,.1), inset 0 0 24px rgba(192,192,192,.04);}
.mission-new-ribbon{position:absolute;top:-1px;right:-1px;background:linear-gradient(135deg,#E8EBF0,#A8B2C1);color:#0A0E1A;font-family:var(--font-mono);font-size:.55rem;font-weight:700;letter-spacing:.16em;padding:4px 10px;border-radius:0 0 0 6px;box-shadow:0 2px 8px rgba(192,192,192,.35);}
.mission-new-ribbon i{font-size:.55rem;margin-right:3px;}

/* Accent color picker (profile edit) */
.accent-picker{display:flex;flex-wrap:wrap;gap:8px;padding:6px 0;}
.accent-swatch{width:32px;height:32px;border-radius:50%;border:2px solid rgba(192,192,192,.18);cursor:pointer;padding:0;transition:transform .15s ease, border-color .15s ease, box-shadow .2s ease;}
.accent-swatch:hover{transform:scale(1.12);border-color:rgba(192,192,192,.45);}
.accent-swatch.selected{border-color:#fff;box-shadow:0 0 0 2px rgba(0,0,0,.6), 0 0 12px rgba(255,255,255,.35);transform:scale(1.08);}

/* Operator title (one-line codename under name) */
.operator-title{font-family:var(--font-mono);font-size:.62rem;color:var(--color-text-muted);letter-spacing:.18em;text-transform:uppercase;margin-top:2px;opacity:.75;}
.profile-hero-info .operator-title{margin-top:1px;margin-bottom:3px;}
.friend-info .operator-title{margin-top:0;margin-bottom:4px;font-size:.58rem;}

/* Connection notes (private) */
.connection-note-row{display:flex;align-items:center;margin-top:5px;}
.connection-note-input{flex:1;background:transparent;border:none;border-bottom:1px dashed rgba(192,192,192,.18);color:var(--color-text);font-family:var(--font-mono);font-size:.65rem;padding:3px 0;outline:none;transition:border-color .2s ease;}
.connection-note-input:focus{border-bottom-color:rgba(192,192,192,.55);}
.connection-note-input::placeholder{color:rgba(192,192,192,.25);}
.connection-note-input.saved{border-bottom-color:rgba(76,175,80,.6);}

/* Mission category filter chips & badges */
.mission-cat-filter{display:flex;flex-wrap:wrap;gap:6px;padding:0 0 12px;margin-bottom:8px;border-bottom:var(--border);}
.mission-cat-btn{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;padding:5px 10px;border:1px solid rgba(192,192,192,.18);background:transparent;color:var(--color-text-muted);border-radius:3px;cursor:pointer;transition:all .15s ease;}
.mission-cat-btn:hover{border-color:rgba(192,192,192,.4);color:var(--color-text);}
.mission-cat-btn.active{background:rgba(192,192,192,.08);border-color:rgba(192,192,192,.55);color:var(--color-text);}
.mission-cat-badge{display:inline-block;font-family:var(--font-mono);font-size:.55rem;letter-spacing:.18em;text-transform:uppercase;padding:2px 7px;border-radius:2px;margin-left:6px;vertical-align:middle;border:1px solid rgba(192,192,192,.25);}
.mission-cat-recon{color:#3FCFFF;border-color:rgba(63,207,255,.4);}
.mission-cat-combat{color:#FF3B5C;border-color:rgba(255,59,92,.4);}
.mission-cat-support{color:#3FE08C;border-color:rgba(63,224,140,.4);}
.mission-cat-intel{color:#9B5CFF;border-color:rgba(155,92,255,.4);}
.mission-cat-logistics{color:#E8EBF0;border-color:rgba(232,235,240,.4);}
.mission-cat-other{color:rgba(192,192,192,.7);}

/* Op History timeline */
.op-history-list{display:flex;flex-direction:column;gap:8px;padding:4px 0;}
.op-history-item{display:flex;align-items:flex-start;gap:10px;padding:8px 10px;background:rgba(192,192,192,.03);border:1px solid rgba(192,192,192,.08);border-radius:3px;}
.op-history-item .op-dot{width:8px;height:8px;border-radius:50%;background:var(--color-primary);margin-top:6px;flex-shrink:0;box-shadow:0 0 6px rgba(192,192,192,.5);}
.op-history-item .op-body{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;}
.op-history-item strong{font-family:var(--font-mono);font-size:.78rem;color:var(--color-text);}
.op-history-item .op-meta{font-family:var(--font-mono);font-size:.62rem;color:var(--color-text-muted);}

/* "Last seen" pill in directory cards */
.friend-lastseen{font-family:var(--font-mono);font-size:.55rem;color:var(--color-text-muted);letter-spacing:.06em;margin-left:auto;opacity:.7;}

/* Hub tab "what's new" badges */
.hub-tab{position:relative;}
.hub-tab-badge{display:none;position:absolute;top:-4px;right:-4px;min-width:16px;height:16px;padding:0 5px;background:#FF3B5C;color:#fff;font-family:var(--font-mono);font-size:.55rem;font-weight:700;border-radius:8px;border:1px solid rgba(0,0,0,.5);align-items:center;justify-content:center;line-height:1;box-shadow:0 0 6px rgba(255,59,92,.4);}
.hub-tab-badge.show{display:inline-flex;}

/* Typing indicator */
.msg-typing{display:flex;align-items:center;gap:8px;padding:6px 16px;font-family:var(--font-mono);font-size:.65rem;color:var(--color-text-muted);background:rgba(0,0,0,.3);border-top:1px solid rgba(192,192,192,.06);}
.msg-typing-dots{display:inline-flex;gap:3px;}
.msg-typing-dots span{width:5px;height:5px;border-radius:50%;background:var(--color-primary);opacity:.4;animation:typingPulse 1.2s ease-in-out infinite;}
.msg-typing-dots span:nth-child(2){animation-delay:.2s;}
.msg-typing-dots span:nth-child(3){animation-delay:.4s;}
@keyframes typingPulse{0%,80%,100%{opacity:.25;transform:scale(.8);}40%{opacity:1;transform:scale(1.1);}}

/* Notification filter chips (Unread/All) */
.notif-filter-row{display:flex;gap:6px;padding:8px 0;margin-bottom:6px;border-bottom:var(--border);}
.notif-filter-btn{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;padding:5px 12px;border:1px solid rgba(192,192,192,.18);background:transparent;color:var(--color-text-muted);border-radius:3px;cursor:pointer;transition:all .15s ease;}
.notif-filter-btn:hover{border-color:rgba(192,192,192,.4);color:var(--color-text);}
.notif-filter-btn.active{background:rgba(192,192,192,.08);border-color:rgba(192,192,192,.55);color:var(--color-text);}

/* Global search */
.search-section{margin-bottom:14px;}
.search-section-label{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-muted);padding:6px 0;border-bottom:var(--border);margin-bottom:6px;}
.search-result{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:8px 10px;background:rgba(192,192,192,.02);border:1px solid rgba(192,192,192,.08);border-radius:3px;color:var(--color-text);cursor:pointer;margin-bottom:4px;transition:all .15s ease;}
.search-result:hover{background:rgba(192,192,192,.06);border-color:rgba(192,192,192,.2);}
.search-result-icon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(192,192,192,.06);color:var(--color-primary);font-size:.7rem;flex-shrink:0;}
.search-result-body{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;overflow:hidden;}
.search-result-body strong{font-family:var(--font-mono);font-size:.78rem;}
.search-result-body span{font-family:var(--font-mono);font-size:.65rem;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.search-btn{margin-right:6px;}

/* Squads */
.squad-mine{padding:10px 12px;background:rgba(192,192,192,.04);border:1px solid rgba(192,192,192,.18);border-radius:3px;font-family:var(--font-mono);font-size:.75rem;color:var(--color-text);}
.squad-mine-name{color:var(--color-primary);margin-left:6px;}
.squad-leader-pill{margin-left:8px;font-size:.55rem;letter-spacing:.18em;padding:2px 6px;background:rgba(192,192,192,.08);border:1px solid rgba(192,192,192,.35);color:var(--color-primary);border-radius:2px;}
.squad-card{padding:14px;border:1px solid rgba(192,192,192,.12);background:rgba(192,192,192,.02);border-radius:3px;margin-bottom:10px;position:relative;}
.squad-header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:10px;}
.squad-info{flex:1;min-width:0;}
.squad-name{font-family:var(--font-headings);font-size:1rem;color:var(--color-text);letter-spacing:.05em;}
.squad-tag{font-family:var(--font-mono);font-size:.7rem;color:var(--color-primary);margin-right:4px;}
.squad-leader{font-family:var(--font-mono);font-size:.62rem;color:var(--color-text-muted);margin-top:3px;}
.squad-total{text-align:right;display:flex;flex-direction:column;align-items:flex-end;}
.squad-total strong{font-family:var(--font-mono);font-size:1.2rem;color:var(--color-primary);text-shadow:0 0 6px rgba(192,192,192,.35);line-height:1;}
.squad-total span{font-family:var(--font-mono);font-size:.55rem;color:var(--color-text-muted);letter-spacing:.18em;text-transform:uppercase;}
.squad-members{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px;}
.squad-member-av{width:32px;height:32px;border-radius:50%;overflow:hidden;border:1px solid rgba(192,192,192,.25);background:rgba(0,0,0,.3);display:flex;align-items:center;justify-content:center;font-size:.55rem;color:var(--color-text-muted);}
.squad-meta{font-family:var(--font-mono);font-size:.62rem;color:var(--color-text-muted);margin-bottom:8px;}
.squad-actions{display:flex;gap:6px;}
.squad-actions .btn-sm{font-size:.62rem;padding:5px 9px;}

/* ──────────────────────────────────────────────
 * Operator Terminal
 * ────────────────────────────────────────────── */
#operatorTerminal{
  position:fixed;top:0;left:0;right:0;
  background:linear-gradient(180deg, rgba(5,7,15,.98), rgba(8,12,22,.95));
  border-bottom:1px solid rgba(192,192,192,.18);
  box-shadow:0 8px 30px rgba(0,0,0,.5), 0 0 0 1px rgba(192,192,192,.04);
  font-family:var(--font-mono);
  color:var(--color-text);
  z-index:9000;
  transform:translateY(-105%);
  transition:transform .28s cubic-bezier(.4,.6,.2,1);
  display:flex;flex-direction:column;
  max-height:60vh;
}
#operatorTerminal.open{transform:translateY(0);}
.terminal-bar{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;border-bottom:1px solid rgba(192,192,192,.08);background:rgba(0,0,0,.4);}
.terminal-bar-left{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;}
.terminal-prompt-tag{font-size:.62rem;letter-spacing:.22em;color:var(--color-primary);text-shadow:0 0 8px rgba(192,192,192,.4);}
.terminal-hint{font-size:.6rem;color:var(--color-text-muted);opacity:.7;}
.terminal-hint kbd{background:rgba(192,192,192,.1);border:1px solid rgba(192,192,192,.2);border-radius:2px;padding:1px 5px;font-size:.55rem;}
.terminal-close{background:none;border:none;color:var(--color-text-muted);font-size:1.2rem;cursor:pointer;padding:0 4px;line-height:1;}
.terminal-close:hover{color:#f55;}
.terminal-output{flex:1;overflow-y:auto;padding:14px 16px;font-size:.78rem;line-height:1.55;}
.terminal-output::-webkit-scrollbar{width:6px;}
.terminal-output::-webkit-scrollbar-thumb{background:rgba(192,192,192,.18);border-radius:3px;}
.terminal-line{margin-bottom:6px;animation:termFadeIn .15s ease-out;}
@keyframes termFadeIn{from{opacity:0;transform:translateY(-2px);}to{opacity:1;transform:none;}}
.terminal-line.t-info{color:#E8EBF0;}
.terminal-line.t-err{color:#FF6E6E;}
.terminal-line .t-prompt{color:var(--color-primary);}
.terminal-line .t-cmd{color:var(--color-text-light);font-weight:700;}
.terminal-line .t-key{color:var(--color-primary);font-weight:700;}
.terminal-line .t-dim{color:var(--color-text-muted);opacity:.65;}
.t-err{color:#FF6E6E;}
.terminal-input-row{display:flex;align-items:center;gap:8px;padding:10px 16px;border-top:1px solid rgba(192,192,192,.1);background:rgba(0,0,0,.5);}
.terminal-prompt{color:var(--color-primary);font-weight:700;text-shadow:0 0 6px rgba(192,192,192,.4);}
#terminalInput{flex:1;background:none;border:none;color:var(--color-text);font-family:var(--font-mono);font-size:.85rem;outline:none;caret-color:var(--color-primary);}
#terminalInput::placeholder{color:var(--color-text-muted);opacity:.4;}

/* Floating launcher button (bottom-right) */

/* ── Live News Ticker ── */
.news-ticker{
  position:relative;
  display:flex;align-items:center;gap:0;
  background:linear-gradient(90deg, rgba(20,24,38,.9), rgba(8,12,22,.85));
  border-bottom:1px solid rgba(192,192,192,.1);
  height:30px;overflow:hidden;
  font-family:var(--font-mono);font-size:.7rem;
  z-index:80;
}
.news-ticker-label{
  flex-shrink:0;
  background:linear-gradient(135deg,#D4D8E2,#A8B2C1);
  color:#0A0E1A;font-weight:700;letter-spacing:.18em;
  padding:0 14px;height:100%;display:flex;align-items:center;gap:6px;
  font-size:.6rem;
  box-shadow:0 0 14px rgba(192,192,192,.3);
}
.news-ticker-label i{font-size:.65rem;animation:tickerPulse 1.6s ease-in-out infinite;}
@keyframes tickerPulse{0%,100%{opacity:.5;}50%{opacity:1;}}
.news-ticker-track{
  display:inline-flex;align-items:center;gap:0;flex-shrink:0;
  white-space:nowrap;
  animation:tickerScroll 90s linear infinite;
  padding-left:24px;
  color:var(--color-text);
}
.news-ticker:hover .news-ticker-track{animation-play-state:paused;}
.news-ticker-item{padding:0 14px;flex-shrink:0;}
.news-ticker-item i{margin-right:5px;color:var(--color-primary);opacity:.8;}
.news-ticker-item strong{color:var(--color-primary);}
.news-ticker-sep{color:rgba(192,192,192,.3);font-size:.55rem;flex-shrink:0;}
@keyframes tickerScroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}

/* ── Operations Briefing Modal ── */
.briefing-container{max-width:600px;background:linear-gradient(180deg, rgba(8,11,20,.98), rgba(15,18,30,.96));border:1px solid rgba(192,192,192,.2);box-shadow:0 0 60px rgba(192,192,192,.1), 0 12px 40px rgba(0,0,0,.7);}
.briefing-header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px dashed rgba(192,192,192,.25);padding:0 0 12px;margin-bottom:16px;}
.briefing-tag{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.28em;color:var(--color-primary);text-shadow:0 0 8px rgba(192,192,192,.35);}
.briefing-status{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.18em;padding:4px 10px;border-radius:2px;border:1px solid rgba(192,192,192,.3);}
.briefing-status-open{color:#D4D8E2;border-color:rgba(212,216,226,.45);background:rgba(212,216,226,.05);box-shadow:0 0 10px rgba(192,192,192,.15);}
.briefing-status-pending{color:var(--color-primary);border-color:rgba(192,192,192,.4);background:rgba(192,192,192,.06);}
.briefing-status-rejected{color:#A8B2C1;border-color:rgba(168,178,193,.4);background:rgba(168,178,193,.05);}
.briefing-status-done{color:#E8EBF0;border-color:rgba(232,235,240,.4);background:rgba(232,235,240,.06);}
.briefing-objective{margin-bottom:18px;}
.briefing-objective h2{font-family:var(--font-headings);font-size:1.7rem;letter-spacing:.05em;color:var(--color-text-light);margin:4px 0 6px;line-height:1.15;}
.briefing-cat{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.18em;padding:3px 8px;border-radius:2px;border:1px solid rgba(192,192,192,.25);text-transform:uppercase;}
.briefing-label{display:block;font-family:var(--font-mono);font-size:.55rem;letter-spacing:.22em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:6px;opacity:.7;}
.briefing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:18px;}
.briefing-stat{background:rgba(192,192,192,.04);border:1px solid rgba(192,192,192,.1);padding:10px;text-align:center;border-radius:3px;}
.briefing-stat span{display:block;font-family:var(--font-mono);font-size:.55rem;letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:4px;}
.briefing-stat strong{font-family:var(--font-mono);font-size:.85rem;color:var(--color-text-light);}
.briefing-section{margin-bottom:18px;padding:14px;background:rgba(0,0,0,.3);border-left:2px solid var(--color-primary);border-radius:0 3px 3px 0;}
.briefing-desc{font-family:var(--font-mono);font-size:.78rem;line-height:1.65;color:var(--color-text);margin:0;}
.briefing-key-section{padding:14px;background:rgba(192,192,192,.04);border:1px dashed rgba(192,192,192,.25);border-radius:3px;}
.briefing-hint{font-family:var(--font-mono);font-size:.65rem;color:var(--color-text-muted);margin:6px 0 10px;line-height:1.5;}
.briefing-hint strong{color:var(--color-text-light);}
.briefing-key-row{display:flex;gap:8px;}
.briefing-key-input{flex:1;background:rgba(0,0,0,.5);border:1px solid rgba(192,192,192,.3);color:var(--color-text-light);font-family:var(--font-mono);font-size:.85rem;letter-spacing:.18em;text-transform:uppercase;padding:10px 14px;outline:none;border-radius:2px;transition:all .2s ease;}
.briefing-key-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(192,192,192,.18);}
.briefing-feedback{margin-top:10px;font-family:var(--font-mono);font-size:.7rem;min-height:1em;}
.briefing-feedback.ok{color:#D4D8E2;}
.briefing-feedback.err{color:#A8B2C1;}

/* ── XP / Level Bars ── */
.level-bar-wrap{margin-top:8px;}
.level-bar-head{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:.6rem;letter-spacing:.16em;color:var(--color-text-muted);margin-bottom:4px;}
.level-bar-name{color:var(--color-primary);text-shadow:0 0 6px rgba(192,192,192,.35);font-weight:700;}
.level-bar-track{height:5px;background:rgba(0,0,0,.5);border-radius:3px;overflow:hidden;border:1px solid rgba(192,192,192,.08);}
.level-bar-fill{height:100%;background:linear-gradient(90deg, rgba(168,178,193,.5), #C0C0C0, #FFFFFF);box-shadow:0 0 8px rgba(192,192,192,.35);transition:width .4s ease;border-radius:3px;}
/* Compact level pill (used in featured member, etc.) */
.level-pill{display:inline-flex;align-items:center;gap:6px;margin-top:6px;padding:3px 8px;background:rgba(0,0,0,.4);border:1px solid rgba(192,192,192,.22);border-radius:999px;}
.level-pill-num{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.12em;color:var(--color-primary);font-weight:700;}
.level-pill-bar{flex:1;min-width:40px;height:3px;background:rgba(255,255,255,.08);border-radius:2px;overflow:hidden;}
.level-pill-fill{height:100%;background:linear-gradient(90deg, rgba(168,178,193,.6), #FFFFFF);}

/* ── Activity Heatmap ── */
.heatmap-grid{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:14px;gap:3px;padding:6px 0;}
.hm-cell{background:rgba(192,192,192,.04);border:1px solid rgba(192,192,192,.06);border-radius:2px;}
.hm-l1{background:rgba(192,192,192,.18);border-color:rgba(192,192,192,.25);}
.hm-l2{background:rgba(192,192,192,.32);border-color:rgba(192,192,192,.4);}
.hm-l3{background:rgba(212,216,226,.55);border-color:rgba(212,216,226,.7);box-shadow:0 0 4px rgba(192,192,192,.3);}
.hm-l4{background:linear-gradient(135deg,#E8EBF0,#FFFFFF);border-color:rgba(255,255,255,.6);box-shadow:0 0 8px rgba(192,192,192,.45);}
.heatmap-legend{display:flex;align-items:center;gap:4px;margin-top:8px;font-family:var(--font-mono);font-size:.55rem;color:var(--color-text-muted);}
.heatmap-legend .hm-cell{width:11px;height:11px;}

/* ── Profile Banner ── */
.profile-modal-hero{position:relative;}
.profile-modal-hero.has-banner{padding-top:90px;background:var(--banner) center/cover no-repeat;background-color:rgba(8,12,22,.9);background-blend-mode:overlay;border-radius:3px;overflow:hidden;}
.profile-banner-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg, rgba(8,12,22,.55), rgba(8,12,22,.92));pointer-events:none;border-radius:3px;}
.profile-modal-hero.has-banner .profile-hero-top{position:relative;z-index:2;}
.profile-modal-hero.has-banner .profile-stats-row{position:relative;z-index:2;}

/* ── Calendar Grid View ── */
.cal-shell{margin-bottom:14px;}
.cal-header{display:flex;align-items:center;justify-content:space-between;padding:8px 0 12px;border-bottom:var(--border);margin-bottom:10px;}
.cal-title{font-family:var(--font-headings);font-size:1.1rem;letter-spacing:.05em;color:var(--color-text-light);}
.cal-nav{background:rgba(192,192,192,.05);border:1px solid rgba(192,192,192,.18);color:var(--color-text);width:30px;height:30px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:.7rem;transition:all .15s ease;}
.cal-nav:hover{background:rgba(192,192,192,.12);color:#fff;}
.cal-dow{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;font-family:var(--font-mono);font-size:.55rem;letter-spacing:.18em;text-transform:uppercase;color:var(--color-text-muted);text-align:center;padding-bottom:6px;}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;}
.cal-cell{aspect-ratio:1/1;background:rgba(192,192,192,.03);border:1px solid rgba(192,192,192,.08);border-radius:3px;padding:6px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:3px;color:var(--color-text);font-family:var(--font-mono);cursor:pointer;transition:all .15s ease;position:relative;}
.cal-cell.empty{background:none;border:none;cursor:default;}
.cal-cell.empty:hover{transform:none;}
.cal-cell:not(.empty):hover{background:rgba(192,192,192,.07);border-color:rgba(192,192,192,.25);transform:translateY(-1px);}
.cal-cell.today{border-color:var(--color-primary);box-shadow:0 0 0 1px rgba(192,192,192,.25);}
.cal-cell.today .cal-day-num{color:var(--color-primary);}
.cal-cell.selected{background:rgba(192,192,192,.1);border-color:var(--color-primary);box-shadow:0 0 12px rgba(192,192,192,.3);}
.cal-cell.has-events{background:rgba(192,192,192,.05);}
.cal-day-num{font-size:.75rem;font-weight:700;}
.cal-dot{width:4px;height:4px;border-radius:50%;background:var(--color-primary);margin-top:auto;}
.cal-cell.has-events .cal-dot{background:var(--color-primary);box-shadow:0 0 4px rgba(192,192,192,.6);}
.cal-more{position:absolute;bottom:3px;right:5px;font-size:.5rem;color:var(--color-text-muted);}
.cal-detail{margin-top:14px;padding:14px;background:rgba(0,0,0,.3);border:1px solid rgba(192,192,192,.08);border-radius:3px;}
.cal-detail-head{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--font-mono);padding-bottom:8px;margin-bottom:8px;border-bottom:1px solid rgba(192,192,192,.08);}
.cal-detail-head strong{color:var(--color-text-light);font-size:.85rem;}
.cal-detail-head span{font-size:.65rem;color:var(--color-text-muted);letter-spacing:.12em;}
.cal-empty{font-family:var(--font-mono);font-size:.7rem;color:var(--color-text-muted);text-align:center;padding:14px 0;}
.event-card.past{opacity:.55;}

/* ── Reactions Bar ── */

/* ── Mini-Markdown rendering ── */
.md-code{background:rgba(0,0,0,.4);border:1px solid rgba(192,192,192,.18);padding:1px 6px;border-radius:2px;font-family:var(--font-mono);font-size:.78em;color:var(--color-text-light);}
.md-link{color:var(--color-primary);text-decoration:underline;text-underline-offset:2px;}
.md-link:hover{color:#fff;}

/* ── Ambient audio toggle ── */

/* ── Lore / Classified overlay ── */
#loreOverlay{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:9500;display:none;align-items:center;justify-content:center;padding:30px;animation:loreReveal .35s ease;}
#loreOverlay.show{display:flex;}
@keyframes loreReveal{from{opacity:0;}to{opacity:1;}}
.lore-frame{max-width:560px;background:linear-gradient(180deg,rgba(20,8,8,.95),rgba(8,4,4,.98));border:1px solid rgba(255,59,92,.4);box-shadow:0 0 60px rgba(255,59,92,.2), inset 0 0 30px rgba(255,59,92,.05);padding:32px;font-family:var(--font-mono);color:#fff;position:relative;}
.lore-frame::before{content:'';position:absolute;top:8px;left:8px;right:8px;bottom:8px;border:1px dashed rgba(255,59,92,.25);pointer-events:none;}
.lore-stamp{font-size:.62rem;letter-spacing:.3em;color:#FF3B5C;text-shadow:0 0 12px rgba(255,59,92,.4);margin-bottom:12px;animation:loreStampFlicker 3s ease-in-out infinite;}
@keyframes loreStampFlicker{0%,90%,100%{opacity:1;}93%,97%{opacity:.4;}}
.lore-title{font-family:var(--font-headings);font-size:2rem;letter-spacing:.18em;color:#FF3B5C;text-shadow:0 0 16px rgba(255,59,92,.3);margin:0 0 16px;}
.lore-body{font-size:.85rem;line-height:1.7;color:rgba(255,255,255,.85);margin-bottom:18px;}
.lore-body code{background:rgba(255,255,255,.08);padding:1px 6px;color:#FFD700;}
.lore-sig{font-size:.7rem;color:rgba(255,59,92,.7);text-align:right;margin-bottom:18px;letter-spacing:.2em;}

/* ── Onboarding Tour ── */
#tourOverlay{position:fixed;inset:0;background:rgba(0,0,0,.78);z-index:9300;display:none;align-items:flex-end;justify-content:center;padding:20px;animation:tourFadeIn .25s ease;}
#tourOverlay.show{display:flex;}
@keyframes tourFadeIn{from{opacity:0;}to{opacity:1;}}
.tour-card{max-width:480px;width:100%;background:linear-gradient(180deg,rgba(15,18,30,.98),rgba(8,11,20,.98));border:1px solid rgba(192,192,192,.35);box-shadow:0 0 40px rgba(192,192,192,.18);padding:22px;border-radius:6px;font-family:var(--font-mono);color:var(--color-text);margin-bottom:60px;}
.tour-step-num{font-size:.6rem;letter-spacing:.22em;color:var(--color-primary);margin-bottom:8px;}
.tour-card h3{font-family:var(--font-headings);font-size:1.1rem;color:var(--color-text-light);margin:0 0 8px;letter-spacing:.05em;}
.tour-card p{font-size:.78rem;line-height:1.6;color:var(--color-text);margin-bottom:14px;}
.tour-actions{display:flex;justify-content:flex-end;gap:8px;}
.tour-spotlight{position:relative;z-index:9301;outline:2px solid var(--color-primary);outline-offset:6px;border-radius:4px;box-shadow:0 0 0 9999px rgba(0,0,0,.55), 0 0 30px rgba(192,192,192,.5);animation:tourPulse 1.6s ease-in-out infinite;}
@keyframes tourPulse{0%,100%{outline-color:var(--color-primary);}50%{outline-color:#FFFFFF;}}

/* ── Banner upload box (profile edit) ── */
.banner-upload{position:relative;width:100%;aspect-ratio:3/1;border:1px dashed rgba(192,192,192,.2);background:rgba(192,192,192,.03);border-radius:3px;cursor:pointer;overflow:hidden;display:flex;align-items:center;justify-content:center;transition:all .2s ease;}
.banner-upload:hover{border-color:rgba(192,192,192,.45);background:rgba(192,192,192,.05);}
.banner-upload img{width:100%;height:100%;object-fit:cover;}
.banner-upload-cta{display:flex;flex-direction:column;align-items:center;gap:4px;font-family:var(--font-mono);font-size:.72rem;color:var(--color-text-muted);text-align:center;padding:14px;}
.banner-upload-cta i{font-size:1.3rem;opacity:.5;}
.banner-upload-cta small{font-size:.55rem;letter-spacing:.12em;opacity:.6;}
.banner-clear{position:absolute;top:6px;right:6px;background:rgba(0,0,0,.6);border:1px solid rgba(255,110,110,.4);color:#ff8888;width:24px;height:24px;border-radius:50%;cursor:pointer;font-size:1rem;line-height:1;padding:0;}
.banner-clear:hover{background:rgba(255,110,110,.2);color:#fff;}
.net-currency { color: var(--color-text-light) !important; font-weight: 700; }

/* ── TERMINAL SKINS (Black Market) ── */
#operatorTerminal.term-skin-crimson { --color-primary: #ff3131; border-color: rgba(255, 49, 49, 0.4); }
#operatorTerminal.term-skin-crimson .terminal-prompt-tag { color: #ff3131; }
#operatorTerminal.term-skin-crimson .terminal-input-row input { color: #ff3131; }

#operatorTerminal.term-skin-emerald { --color-primary: #3fe08c; border-color: rgba(63, 224, 140, 0.4); }
#operatorTerminal.term-skin-emerald .terminal-prompt-tag { color: #3fe08c; }
#operatorTerminal.term-skin-emerald .terminal-input-row input { color: #3fe08c; }

#operatorTerminal.term-skin-gold { --color-primary: #ffd700; border-color: rgba(255, 215, 0, 0.4); }
#operatorTerminal.term-skin-gold .terminal-prompt-tag { color: #ffd700; }
#operatorTerminal.term-skin-gold .terminal-input-row input { color: #ffd700; }

/* ── HACKING MINIGAME ── */
.hacking-overlay { position: absolute; inset: 0; background: rgba(8, 12, 22, 0.98); z-index: 100; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 24px; text-align: center; font-family: var(--font-mono); border-radius: 6px; }
.hacking-terminal { width: 100%; max-width: 440px; height: 160px; background: rgba(0, 0, 0, 0.7); border: 1px solid var(--color-primary); border-radius: 4px; padding: 12px; overflow: hidden; margin-bottom: 20px; position: relative; text-align: left; }
.hacking-code-line { font-size: 0.65rem; color: var(--color-primary); opacity: 0.8; white-space: nowrap; margin-bottom: 2px; }
.hacking-target-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 20px 0; width: 200px; }
.hacking-target { width: 42px; height: 42px; border: 1px solid rgba(192, 192, 192, 0.2); background: rgba(192, 192, 192, 0.03); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.1s ease; color: var(--color-text-muted); font-weight: 700; font-size: 1rem; }
.hacking-target:hover { background: rgba(192, 192, 192, 0.08); border-color: rgba(192, 192, 192, 0.4); }
.hacking-target.active { border-color: var(--color-primary); color: var(--color-primary); box-shadow: 0 0 12px var(--color-primary); transform: scale(1.05); }
.hacking-target.success { background: var(--color-primary); color: #000; border-color: var(--color-primary); box-shadow: 0 0 15px var(--color-primary); }
.hacking-target.fail { border-color: #ff3131; color: #ff3131; animation: shake 0.3s ease; }
.hacking-progress-bar { width: 200px; height: 4px; background: rgba(192, 192, 192, 0.1); border-radius: 2px; margin-top: 10px; position: relative; overflow: hidden; }
.hacking-progress-fill { position: absolute; top: 0; left: 0; height: 100%; background: var(--color-primary); width: 0%; transition: width 0.3s ease; }
@keyframes shake { 0%, 100% { transform: translateX(0); } 25% { transform: translateX(-4px); } 75% { transform: translateX(4px); } }

/* ── THREAT LEVELS ── */
.threat-banner { position: fixed; top: 60px; left: 0; right: 0; height: 30px; background: linear-gradient(90deg, rgba(180,50,50,.88), rgba(120,35,35,.88)); color: #fff; z-index: 900; display: flex; align-items: center; justify-content: center; font-family: var(--font-mono); font-size: 0.66rem; font-weight: 700; letter-spacing: 0.2em; border-bottom: 1px solid rgba(255,255,255,.12); box-shadow: 0 2px 10px rgba(0,0,0,.35); }
.threat-inner { display: flex; align-items: center; gap: 10px; }



body.threat-red .btn-primary { border-color: rgba(180,50,50,.4); }

body.threat-red .bubble { border-color: rgba(180, 50, 50, 0.18); }
body.threat-red .news-ticker-label { background: linear-gradient(135deg, rgba(180,50,50,.95), rgba(120,35,35,.95)); }

.threat-opt.active { border-color: var(--color-primary); box-shadow: 0 0 15px var(--color-primary); }

/* ── TERMINAL FLOATING BUTTON ── */
/* ── HIGH-CLEARANCE GLITCH EFFECT ── */
@keyframes glitch-anim {
  0% { transform: translate(0) }
  20% { transform: translate(-2px, 2px) }
  40% { transform: translate(-2px, -2px) }
  60% { transform: translate(2px, 2px) }
  80% { transform: translate(2px, -2px) }
  100% { transform: translate(0) }
}
body.glitching {
  animation: glitch-anim 0.2s cubic-bezier(.25, .46, .45, .94) both infinite;
}
body.glitching::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(244,67,54,0.1);
  mix-blend-mode: overlay;
  pointer-events: none;
}


/* ── Black Market ── */

/* ── Ops Map Frame ── */
#hubOpsmap{padding:0;}
.opsmap-frame{position:relative;width:100%;height:460px;background:rgba(0,0,0,.5);border:var(--border);border-radius:6px;overflow:hidden;}
#opsMapCanvas{width:100%;height:100%;display:block;}
.opsmap-overlay{position:absolute;top:14px;left:14px;right:14px;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none;}
.opsmap-tag{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.28em;color:var(--color-primary);text-shadow:0 0 8px rgba(192,192,192,.4);background:rgba(0,0,0,.6);padding:5px 10px;border:1px solid rgba(192,192,192,.18);border-radius:2px;}
.opsmap-stat-row{display:flex;gap:8px;}
.opsmap-stat{background:rgba(0,0,0,.65);border:1px solid rgba(192,192,192,.15);padding:5px 10px;text-align:center;font-family:var(--font-mono);min-width:62px;}
.opsmap-stat span{display:block;font-size:.5rem;letter-spacing:.2em;color:var(--color-text-muted);margin-bottom:2px;}
.opsmap-stat strong{font-size:.78rem;color:var(--color-text-light);letter-spacing:.08em;}
.opsmap-corner{position:absolute;width:14px;height:14px;border-color:var(--color-primary);}
.opsmap-corner.tl{top:6px;left:6px;border-top:2px solid;border-left:2px solid;}
.opsmap-corner.tr{top:6px;right:6px;border-top:2px solid;border-right:2px solid;}
.opsmap-corner.bl{bottom:6px;left:6px;border-bottom:2px solid;border-left:2px solid;}
.opsmap-corner.br{bottom:6px;right:6px;border-bottom:2px solid;border-right:2px solid;}

/* ──────────────────────────────────────────────
 * PUBLIC LANDING (visible to logged-out visitors)
 * ────────────────────────────────────────────── */
.public-landing{max-width:1200px;margin:30px auto 60px;padding:0 24px;}
.pl-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:14px;}
.pl-grid-2col{grid-template-columns:1fr 1fr;}
.pl-card{background:linear-gradient(180deg,rgba(15,18,30,.85),rgba(8,11,20,.85));border:var(--border);border-radius:5px;padding:16px 18px;}
.pl-card-wide{grid-column:span 1;}
.pl-card h3{font-family:var(--font-headings);font-size:1rem;color:var(--color-text-light);margin:6px 0 4px;letter-spacing:.04em;}
.pl-card .pl-meta{font-family:var(--font-mono);font-size:.62rem;color:var(--color-text-muted);margin-bottom:10px;letter-spacing:.05em;}
.pl-card .pl-body{font-family:var(--font-mono);font-size:.72rem;color:var(--color-text);line-height:1.55;margin:0;}
.pl-big-stat{font-family:var(--font-mono);font-size:2.4rem;font-weight:700;color:var(--color-text-light);text-shadow:0 0 12px rgba(192,192,192,.35);line-height:1;margin:8px 0 4px;}
.pl-stat-label{font-family:var(--font-mono);font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:10px;}
.pl-spotlight{display:flex;align-items:center;gap:12px;margin:6px 0 8px;}
.pl-spotlight-av{width:46px;height:46px;border-radius:50%;overflow:hidden;background:rgba(192,192,192,.05);border:1px solid rgba(192,192,192,.2);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:.85rem;color:var(--color-primary);flex-shrink:0;}
.pl-spotlight-av img{width:100%;height:100%;object-fit:cover;}
.pl-spotlight-name{font-family:var(--font-headings);font-size:.95rem;color:var(--color-text-light);}
.pl-spotlight-rank{font-family:var(--font-mono);font-size:.65rem;color:var(--color-text-muted);margin-top:2px;}
.pl-leaderboard,.pl-squad-list{list-style:none;padding:0;margin:8px 0 0;display:flex;flex-direction:column;gap:6px;counter-reset:none;}
.pl-leaderboard li,.pl-squad-list li{display:flex;align-items:center;gap:10px;padding:8px 10px;background:rgba(192,192,192,.03);border:1px solid rgba(192,192,192,.08);border-radius:3px;font-family:var(--font-mono);font-size:.75rem;}
.pl-leaderboard li.pl-empty,.pl-squad-list li.pl-empty{justify-content:center;color:var(--color-text-muted);font-size:.7rem;padding:14px;}
.pl-rank{font-weight:700;color:var(--color-primary);width:32px;flex-shrink:0;font-size:.78rem;}
.pl-name{flex:1;color:var(--color-text);}
.pl-net{color:var(--color-text-muted);font-size:.65rem;letter-spacing:.1em;}
.pl-cta-banner{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 28px;background:linear-gradient(135deg,rgba(192,192,192,.07),rgba(192,192,192,.02));border:1px solid rgba(192,192,192,.25);border-radius:6px;margin-top:14px;flex-wrap:wrap;}
.pl-cta-banner h3{font-family:var(--font-headings);font-size:1.4rem;color:var(--color-text-light);letter-spacing:.05em;margin:6px 0 4px;}
.pl-cta-sub{font-family:var(--font-mono);font-size:.7rem;color:var(--color-text-muted);margin:0;}
.pl-cta-banner .btn-primary{flex-shrink:0;}
@media(max-width:760px){
  .pl-grid,.pl-grid-2col{grid-template-columns:1fr;}
  .pl-cta-banner{flex-direction:column;align-items:flex-start;}
}

/* ──────────────────────────────────────────────
 * STATIC PAGES (privacy, terms, roadmap)
 * ────────────────────────────────────────────── */
body.static-page{background:#0A0E1A;color:var(--color-text);font-family:var(--font-main);}
.static-nav{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;padding:14px 28px;background:rgba(8,12,22,.92);border-bottom:1px solid rgba(192,192,192,.12);backdrop-filter:blur(8px);z-index:10;}
.static-back{font-family:var(--font-headings);font-size:.95rem;letter-spacing:.05em;color:var(--color-text-light);text-decoration:none;}
.static-back:hover{color:#fff;}
.static-nav-links{display:flex;gap:18px;font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;}
.static-nav-links a{color:var(--color-text-muted);text-decoration:none;text-transform:uppercase;}
.static-nav-links a:hover{color:var(--color-text-light);}
.static-main{max-width:780px;margin:40px auto 60px;padding:0 28px;}
.static-eyebrow{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.28em;color:var(--color-primary);margin-bottom:8px;text-transform:uppercase;}
.static-main h1{font-family:var(--font-headings);font-size:clamp(1.8rem,5vw,2.8rem);color:var(--color-text-light);letter-spacing:.05em;margin:0 0 16px;}
.static-main h2{font-family:var(--font-headings);font-size:1.1rem;color:var(--color-text-light);letter-spacing:.05em;margin:30px 0 8px;border-bottom:1px solid rgba(192,192,192,.1);padding-bottom:6px;}
.static-lead{font-family:var(--font-mono);font-size:.85rem;color:var(--color-text);line-height:1.7;margin-bottom:18px;opacity:.9;}
.static-main p,.static-main li{font-family:var(--font-mono);font-size:.78rem;color:var(--color-text);line-height:1.7;}
.static-main ul{padding-left:20px;margin:10px 0 14px;}
.static-main li{margin-bottom:6px;}
.static-main code{background:rgba(0,0,0,.4);border:1px solid rgba(192,192,192,.18);padding:1px 6px;border-radius:2px;font-size:.78em;color:var(--color-text-light);}
.static-main a{color:var(--color-primary);text-decoration:underline;text-underline-offset:2px;}
.static-main a:hover{color:#fff;}
.static-foot{margin-top:40px;padding-top:18px;border-top:1px solid rgba(192,192,192,.08);font-size:.72rem;color:var(--color-text-muted);}
.static-footer{text-align:center;padding:24px;font-family:var(--font-mono);font-size:.65rem;color:var(--color-text-muted);border-top:1px solid rgba(192,192,192,.08);}
.static-footer a{color:var(--color-text-muted);margin:0 4px;}
.static-footer a:hover{color:var(--color-text);}

/* Roadmap tags */
.rm-section{margin-bottom:28px;}
.rm-tag{display:inline-block;font-family:var(--font-mono);font-size:.55rem;letter-spacing:.22em;padding:3px 10px;border-radius:2px;margin-right:10px;vertical-align:middle;font-weight:700;}
.rm-tag-now{background:rgba(155,227,155,.12);border:1px solid rgba(155,227,155,.4);color:#9be39b;}
.rm-tag-soon{background:rgba(192,192,192,.08);border:1px solid rgba(192,192,192,.35);color:var(--color-text-light);}
.rm-tag-later{background:rgba(168,178,193,.06);border:1px solid rgba(168,178,193,.25);color:var(--color-text-muted);}
.rm-list{padding-left:0;list-style:none;}
.rm-list li{padding:8px 12px;border-left:2px solid rgba(192,192,192,.2);margin-bottom:4px;background:rgba(192,192,192,.02);}

@media(max-width:600px){
  .static-nav{padding:10px 16px;flex-direction:column;gap:8px;align-items:flex-start;}
  .static-main{padding:0 18px;margin-top:20px;}
  .static-nav-links{gap:12px;flex-wrap:wrap;}
}

/* ── Mobile audit fixes for the new public surfaces ── */
@media(max-width:680px){
  .hero-cta{flex-direction:column;align-items:stretch;}
  .hero-cta a{width:100%;justify-content:center;}
  .pl-cta-banner{padding:18px;}
  .pl-cta-banner h3{font-size:1.1rem;}
  .pl-cta-banner > div:last-child{width:100%;flex-direction:column;}
  .pl-cta-banner .btn-primary,.pl-cta-banner .btn-secondary{width:100%;justify-content:center;}
  .opsmap-overlay{flex-direction:column;align-items:flex-start;gap:8px;}
  .opsmap-stat-row{flex-wrap:wrap;}
  .nav-right .notif-btn{padding:0 8px;}
}

/* Leaderboard scope bar */
.lb-scope-bar{display:flex;gap:6px;padding-bottom:10px;margin-bottom:10px;border-bottom:var(--border);}
.lb-scope-btn{font-family:var(--font-mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;padding:6px 12px;background:transparent;border:1px solid rgba(192,192,192,.18);color:var(--color-text-muted);border-radius:3px;cursor:pointer;transition:all .15s ease;}
.lb-scope-btn:hover{color:var(--color-text-light);border-color:rgba(192,192,192,.4);}
.lb-scope-btn.active{background:rgba(192,192,192,.08);border-color:rgba(192,192,192,.55);color:var(--color-text-light);}

/* Pending intel pill */
.intel-pending-pill{display:inline-block;font-family:var(--font-mono);font-size:.55rem;letter-spacing:.18em;padding:2px 7px;background:rgba(168,178,193,.1);border:1px solid rgba(168,178,193,.4);color:#a8b2c1;border-radius:2px;margin-left:6px;vertical-align:middle;}

/* Footer link row — silver, monospace, properly spaced */
footer .footer-links{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.18em;display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin:10px 0;text-transform:uppercase;}
footer .footer-links a{color:var(--color-text-muted);text-decoration:none;transition:color .15s ease;border-bottom:1px solid transparent;padding-bottom:1px;}
footer .footer-links a:hover{color:var(--color-text-light);border-bottom-color:rgba(192,192,192,.5);}
