:root {
  --cyan:     #00e5ff;
  --cyan-dim: #00b8cc;
  --bg:       #0d0f12;
  --surface:  #131720;
  --surface2: #1a1f2e;
  --border:   #232a3a;
  --text:     #c8d0de;
  --muted:    #5a6478;
  --maroon:   #8b0000;
  --maroon-lite: #a31515;
}

*, *::before, *::after { box-sizing: border-box; }

html, body {
  background: var(--bg);
  color: var(--text);
  font-family: 'JetBrains Mono', monospace;
  font-size: 13.5px;
  min-height: 100vh;
}

/* SCANLINE HEADER */
.site-header {
  background: var(--maroon);
  background-image:
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 2px,
      rgba(0,0,0,.18) 2px,
      rgba(0,0,0,.18) 4px
    );
  border-bottom: 3px solid var(--cyan);
  position: relative;
  overflow: hidden;
}
.site-header::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 60% 50%, rgba(0,229,255,.08) 0%, transparent 70%);
  pointer-events: none;
}
.site-header .brand {
  font-family: 'Syne', sans-serif;
  font-weight: 800;
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  letter-spacing: -.02em;
  color: #fff;
  line-height: 1;
}
.site-header .brand span {
  color: var(--cyan);
}
.site-header .tagline {
  font-size: .7rem;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(255,255,255,.5);
  margin-top: .25rem;
}
.header-ticker {
  font-size: .72rem;
  color: rgba(255,255,255,.6);
  letter-spacing: .05em;
  white-space: nowrap;
  overflow: hidden;
  border-top: 1px solid rgba(255,255,255,.1);
  padding: .35rem 0;
}
.header-ticker__track {
  display: inline-block;
  animation: ticker 90s linear infinite;
}
.header-ticker:hover .header-ticker__track {
  animation-play-state: paused;
}
.header-ticker__link {
  color: rgba(255,255,255,.72) !important;
}
.header-ticker__link:hover {
  color: #fff !important;
}
@keyframes ticker {
  from { transform: translateX(100vw); }
  to   { transform: translateX(-100%); }
}

/* NAV */
.site-nav {
  background: var(--surface);
  border-bottom: 1px solid var(--border);
  font-size: .75rem;
  letter-spacing: .06em;
}
.site-nav .nav-link {
  color: var(--muted);
  padding: .55rem .9rem;
  text-transform: uppercase;
  transition: color .2s;
}
.site-nav .nav-link:hover,
.site-nav .nav-link.active {
  color: var(--cyan);
}
.site-nav .nav-link.active {
  border-bottom: 2px solid var(--cyan);
}
.btn-login {
  font-family: 'JetBrains Mono', monospace;
  font-size: .72rem;
  letter-spacing: .08em;
  color: var(--cyan);
  border: 1px solid var(--cyan);
  padding: .3rem .85rem;
  background: transparent;
  transition: background .2s, color .2s;
}
.btn-login:hover {
  background: var(--cyan);
  color: #000;
}

/* SIDEBAR */
.sidebar-section {
  margin-bottom: 1.75rem;
}
.sidebar-label {
  font-family: 'Syne', sans-serif;
  font-size: .65rem;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--cyan);
  border-bottom: 1px solid var(--border);
  padding-bottom: .4rem;
  margin-bottom: .75rem;
}
.sidebar-nav a {
  display: block;
  color: var(--text);
  text-decoration: none;
  font-size: .78rem;
  padding: .3rem 0;
  border-bottom: 1px solid var(--border);
  transition: color .15s, padding-left .15s;
}
.sidebar-nav a:hover {
  color: var(--cyan);
  padding-left: .4rem;
}
.sidebar-nav a:last-child { border-bottom: none; }

/* EVENT CARDS */
.event-card {
  background: var(--surface2);
  border: 1px solid var(--border);
  border-left: 3px solid var(--cyan);
  padding: .6rem .75rem;
  margin-bottom: .6rem;
  border-radius: 2px;
  transition: border-color .2s;
}
.event-card:hover { border-left-color: #fff; }
.event-card .evt-title {
  font-size: .8rem;
  font-weight: 500;
  color: #fff;
  display: block;
}
.event-card .evt-meta {
  font-size: .7rem;
  color: var(--muted);
  margin-top: .2rem;
}

/* MAIN CONTENT */
.content-area {
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 4px;
  overflow: hidden;
}
.welcome-banner {
  background: linear-gradient(135deg, var(--surface2) 0%, rgba(0,229,255,.05) 100%);
  border-bottom: 1px solid var(--border);
  padding: 1rem 1.5rem;
  font-size: .8rem;
  color: var(--muted);
  text-align: center;
}
.welcome-banner strong { color: #fff; }

/* Section tabs */
.content-tabs {
  display: flex;
  background: var(--bg);
  border-bottom: 1px solid var(--border);
  overflow-x: auto;
}
.content-tabs button {
  background: none;
  border: none;
  border-bottom: 3px solid transparent;
  color: var(--muted);
  font-family: 'JetBrains Mono', monospace;
  font-size: .72rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: .75rem 1.2rem;
  white-space: nowrap;
  cursor: pointer;
  transition: color .2s, border-color .2s;
}
.content-tabs button:hover { color: #fff; }
.content-tabs button.active {
  color: var(--cyan);
  border-bottom-color: var(--cyan);
}
.tab-pane-custom { display: none; }
.tab-pane-custom.active { display: block; }

/* Section heading strip */
.section-strip {
  display: flex;
  align-items: center;
  gap: .75rem;
  padding: .9rem 1.25rem .6rem;
  border-bottom: 1px solid var(--border);
}
.section-strip .ss-icon {
  color: var(--cyan);
  font-size: 1.1rem;
}
.section-strip .ss-title {
  font-family: 'Syne', sans-serif;
  font-size: .85rem;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: #fff;
}
.section-strip .ss-count {
  font-size: .65rem;
  background: var(--cyan);
  color: #000;
  padding: .1rem .45rem;
  border-radius: 20px;
  font-weight: 500;
  margin-left: auto;
}

/* News item rows */
.news-item {
  display: flex;
  gap: .75rem;
  align-items: flex-start;
  padding: .75rem 1.25rem;
  border-bottom: 1px solid var(--border);
  transition: background .15s;
  animation: fadeUp .4s ease both;
}
.news-item:hover { background: rgba(0,229,255,.03); }
.news-item:last-child { border-bottom: none; }

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0); }
}

.news-item a {
  color: #dce4f0;
  text-decoration: none;
  font-size: .82rem;
  line-height: 1.5;
  transition: color .15s;
}
.news-item a:hover { color: var(--cyan); }
.news-item .item-meta {
  font-size: .68rem;
  color: var(--muted);
  margin-top: .25rem;
  display: flex;
  gap: .6rem;
  flex-wrap: wrap;
  align-items: center;
}

/* Category badges */
.badge-type {
  font-size: .6rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  padding: .2rem .5rem;
  border-radius: 2px;
  font-weight: 500;
}
.badge-news     { background: rgba(0,229,255,.15); color: var(--cyan); }
.badge-press    { background: rgba(255,165,0,.15);  color: #ffa500; }
.badge-product  { background: rgba(100,220,100,.15); color: #64dc64; }
.badge-event    { background: rgba(200,100,255,.15); color: #c864ff; }
.badge-blog     { background: rgba(255,80,80,.15);   color: #ff5050; }

/* bullet dot */
.item-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--cyan);
  flex-shrink: 0;
  margin-top: .45rem;
}

/* AD PLACEHOLDER */
.ad-slot {
  background: var(--surface2);
  border: 1px dashed var(--border);
  border-radius: 3px;
  text-align: center;
  padding: 1.5rem .5rem;
  color: var(--muted);
  font-size: .7rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  margin-bottom: .75rem;
}
.ad-slot i { font-size: 1.5rem; display: block; margin-bottom: .4rem; opacity: .3; }

/* FOOTER */
.site-footer {
  background: var(--surface);
  border-top: 1px solid var(--border);
  font-size: .72rem;
  color: var(--muted);
  padding: 1.5rem 0;
}
.site-footer a { color: var(--muted); text-decoration: none; }
.site-footer a:hover { color: var(--cyan); }

/* SUBMIT MODAL TRIGGER */
.fab-submit {
  position: fixed;
  bottom: 1.5rem;
  right: 1.5rem;
  z-index: 1000;
  background: var(--cyan);
  color: #000;
  border: none;
  border-radius: 50px;
  padding: .6rem 1.2rem;
  font-family: 'JetBrains Mono', monospace;
  font-size: .75rem;
  font-weight: 500;
  letter-spacing: .08em;
  box-shadow: 0 4px 24px rgba(0,229,255,.3);
  transition: transform .2s, box-shadow .2s;
  cursor: pointer;
}
.fab-submit:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 32px rgba(0,229,255,.45);
}

/* Mobile search modal: slightly larger tap target */
#siteSearchModal .site-search-form .form-control {
  font-size: 0.9rem;
  min-height: 2.75rem;
}

/* Modal dark styling */
.modal-content {
  background: var(--surface);
  border: 1px solid var(--border);
  border-top: 3px solid var(--cyan);
}
.modal-header { border-color: var(--border); }
.modal-footer { border-color: var(--border); }
.form-control, .form-select {
  background: var(--bg);
  border-color: var(--border);
  color: var(--text);
  font-family: 'JetBrains Mono', monospace;
  font-size: .8rem;
}
.form-control:focus, .form-select:focus {
  background: var(--bg);
  border-color: var(--cyan);
  color: #fff;
  box-shadow: 0 0 0 .2rem rgba(0,229,255,.15);
}
.form-label {
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted);
}

/* MOBILE FILTER BAR */
/* Shown only on small screens, sits above content */
.mobile-filter-bar {
  display: none;
  background: var(--surface);
  border-bottom: 1px solid var(--border);
  padding: .5rem 1rem;
  gap: .5rem;
  align-items: center;
}
@media (max-width: 991px) {
  .mobile-filter-bar { display: flex; }
  .sidebar-left  { display: none; }
  .sidebar-right { display: none; }
}

/* Offcanvas custom styling */
.offcanvas {
  background: var(--surface);
  border-right: 1px solid var(--border);
  max-width: 280px;
}
.offcanvas-header {
  border-bottom: 1px solid var(--border);
}
.offcanvas-title {
  font-family: 'Syne', sans-serif;
  font-size: .9rem;
  letter-spacing: .15em;
  color: var(--cyan);
}

/* Mobile filter pill buttons */
.filter-pill {
  background: var(--surface2);
  border: 1px solid var(--border);
  border-radius: 20px;
  color: var(--muted);
  font-family: 'JetBrains Mono', monospace;
  font-size: .68rem;
  letter-spacing: .06em;
  padding: .25rem .7rem;
  white-space: nowrap;
  cursor: pointer;
  transition: background .15s, color .15s, border-color .15s;
  text-decoration: none;
  display: inline-block;
}
.filter-pill:hover,
.filter-pill.active {
  background: rgba(0,229,255,.12);
  border-color: var(--cyan);
  color: var(--cyan);
}
.btn-offcanvas {
  background: var(--surface2);
  border: 1px solid var(--border);
  color: var(--cyan);
  font-family: 'JetBrains Mono', monospace;
  font-size: .72rem;
  border-radius: 3px;
  padding: .3rem .7rem;
  white-space: nowrap;
  flex-shrink: 0;
}

a.fab-submit {
  text-decoration: none;
  display: inline-flex;
  align-items: center;
}
