@import url('https://fonts.googleapis.com/css2?family=Orbitron:wght@600;700;800;900&family=Rajdhani:wght@500;600;700&family=Inter:wght@400;500;600&display=swap');

/* ==========================================================================
   ZOMBIE FORGE v3.0 - AAA Black Ops III Tactical Cyber HUD Stylesheet
   ========================================================================== */

:root {
  --zf-bg-void: #05070a;
  --zf-bg-deep: #080b10;
  --zf-bg-main: #0c1017;
  --zf-bg-surface: #121722;
  --zf-bg-card-top: #1b2230;
  --zf-bg-card-bot: #0f141d;
  
  --zf-border: #232c3d;
  --zf-border-light: #2e3a50;
  
  --zf-orange: #ff7700;
  --zf-orange-bright: #ff8d1a;
  --zf-orange-glow: rgba(255, 119, 0, 0.5);
  --zf-orange-subtle: rgba(255, 119, 0, 0.12);
  
  --zf-cyan: #00d2ff;
  --zf-cyan-bright: #38dcff;
  --zf-cyan-glow: rgba(0, 210, 255, 0.5);
  --zf-cyan-subtle: rgba(0, 210, 255, 0.12);

  --zf-green: #00e676;
  --zf-green-glow: rgba(0, 230, 118, 0.45);
  --zf-yellow: #ffd600;
  --zf-red: #ff3344;

  --zf-text-bright: #ffffff;
  --zf-text-primary: #e6ecf5;
  --zf-text-secondary: #909daf;
  --zf-text-muted: #5b677a;

  --zf-clip-chamfer: polygon(0 0, calc(100% - 16px) 0, 100% 16px, 100% 100%, 16px 100%, 0 calc(100% - 16px));
  --zf-clip-btn: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 10px 100%, 0 calc(100% - 10px));
}

* { box-sizing: border-box; }

/* CRT Scanline & Carbon Backdrop */

body {
  background-color: #040609 !important;
  background-image: 
    linear-gradient(rgba(4, 6, 9, 0.88), rgba(4, 6, 9, 0.94)),
    url('/images/zombie_grunge_texture.jpg') !important;
  background-size: cover !important;
  background-position: center center !important;
  background-attachment: fixed !important;
  color: var(--zf-text-primary) !important;
  font-family: 'Rajdhani', sans-serif !important;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  background: repeating-linear-gradient(0deg, rgba(0, 0, 0, 0.18) 0px, rgba(0, 0, 0, 0.18) 1px, transparent 1px, transparent 3px);
  pointer-events: none;
  z-index: 99999;
  opacity: 0.6;
}

a { color: var(--zf-cyan); text-decoration: none; transition: all 0.2s ease; }
a:hover { color: var(--zf-orange); text-shadow: 0 0 10px var(--zf-orange-glow); }

/* ==========================================================================
   Header & Tactical HUD Navigation
   ========================================================================== */
.zf-header {
  background: rgba(8, 11, 16, 0.95);
  backdrop-filter: blur(15px);
  border-bottom: 2px solid var(--zf-border);
  box-shadow: 0 4px 35px rgba(0, 0, 0, 0.9), inset 0 -1px 0 rgba(255, 119, 0, 0.2);
  position: sticky;
  top: 0;
  z-index: 1000;
}
.zf-nav-wrap {
  max-width: 1480px;
  margin: 0 auto;
  padding: 0 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 76px;
  gap: 20px;
}

.zf-logo {
  font-family: 'Orbitron', sans-serif;
  font-size: 24px;
  font-weight: 900;
  letter-spacing: 3px;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 12px;
  text-shadow: 0 0 20px rgba(0,0,0,0.8);
}
.zf-logo span { color: var(--zf-orange); text-shadow: 0 0 16px var(--zf-orange-glow); }

.zf-nav-menu {
  display: flex;
  align-items: center;
  gap: 8px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.zf-nav-menu a {
  font-family: 'Orbitron', sans-serif;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 1.5px;
  color: var(--zf-text-secondary);
  padding: 10px 18px;
  text-transform: uppercase;
  border-bottom: 3px solid transparent;
  clip-path: var(--zf-clip-btn);
  transition: all 0.2s ease;
}
.zf-nav-menu a:hover,
.zf-nav-menu a.active {
  color: #ffffff;
  background: var(--zf-orange-subtle);
  border-bottom: 3px solid var(--zf-orange);
  text-shadow: 0 0 12px var(--zf-orange-glow);
  box-shadow: inset 0 0 15px rgba(255, 119, 0, 0.15);
}

/* User Profile Capsule (Zero Bullets) */
.zf-userbox { display: flex; align-items: center; }
.zf-userbox ul, .zf-userbox li { list-style: none !important; margin: 0 !important; padding: 0 !important; display: inline-flex !important; }

.zf-user-hud {
  display: flex;
  align-items: center;
  gap: 12px;
  background: linear-gradient(180deg, #161c28 0%, #0d1118 100%);
  border: 1px solid var(--zf-border-light);
  border-top: 1px solid var(--zf-orange);
  padding: 8px 16px;
  border-radius: 2px;
  box-shadow: 0 4px 20px rgba(0,0,0,0.6);
}
.zf-user-badge {
  display: flex;
  align-items: center;
  gap: 8px;
  font-family: 'Orbitron', sans-serif;
  font-size: 13px;
  font-weight: 800;
}
.zf-user-dot {
  width: 8px;
  height: 8px;
  background: var(--zf-green);
  border-radius: 50%;
  box-shadow: 0 0 10px var(--zf-green);
  animation: zf-pulse 2s infinite;
}
@keyframes zf-pulse { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: 0.4; transform: scale(0.85); } }

.zf-user-name { color: var(--zf-orange) !important; letter-spacing: 1px; }
.zf-user-chip {
  background: #11151f;
  border: 1px solid var(--zf-border);
  color: var(--zf-text-secondary) !important;
  font-family: 'Rajdhani', sans-serif;
  font-weight: 700;
  font-size: 13px;
  padding: 4px 10px;
  border-radius: 2px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.zf-user-chip:hover { border-color: var(--zf-orange); color: #fff !important; }
.zf-user-logout { color: #ff3344 !important; font-size: 18px; line-height: 1; padding: 0 4px; }
.zf-user-logout:hover { text-shadow: 0 0 12px rgba(255, 51, 68, 0.8); }

/* Audio Pill Switch */
.zf-audio-pill {
  background: rgba(14, 20, 30, 0.9);
  border: 1px solid var(--zf-border);
  color: var(--zf-text-secondary);
  font-family: 'Rajdhani', sans-serif;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 1px;
  padding: 4px 10px;
  border-radius: 3px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: all 0.2s ease;
}
.zf-audio-pill:hover {
  border-color: var(--zf-cyan);
  color: #fff;
  box-shadow: 0 0 10px rgba(0, 210, 255, 0.3);
}

/* PM Comms Trigger & Counter */
.zf-pm-wrapper {
  position: relative;
  display: inline-block;
}

#zf-pm-btn {
  cursor: pointer;
  border: 1px solid var(--zf-border);
}
#zf-pm-btn:hover {
  border-color: var(--zf-cyan);
  color: #fff !important;
  box-shadow: 0 0 12px rgba(0, 210, 255, 0.35);
}

.zf-pm-counter {
  background: var(--zf-cyan);
  color: #04070a;
  padding: 1px 7px;
  border-radius: 10px;
  font-weight: 900;
  font-size: 11px;
  letter-spacing: 0.5px;
  box-shadow: 0 0 8px rgba(0, 210, 255, 0.6);
}

/* PM Comms Terminal Dropdown Card */
.zf-pm-dropdown {
  display: none;
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  width: 360px;
  background: rgba(8, 12, 18, 0.98);
  border: 1px solid var(--zf-border-light);
  border-top: 3px solid var(--zf-cyan);
  border-radius: 4px;
  box-shadow: 0 16px 50px rgba(0, 0, 0, 0.95), 0 0 20px rgba(0, 210, 255, 0.15);
  padding: 16px;
  z-index: 100000;
  flex-direction: column;
  gap: 12px;
  animation: zfDropIn 0.2s cubic-bezier(0.165, 0.84, 0.44, 1) forwards;
}

.zf-pm-dropdown.active {
  display: flex !important;
  flex-direction: column !important;
}

.zf-header, .zf-nav-wrap, .zf-userbox, .zf-user-hud { overflow: visible; }
.zf-pm-dropdown { max-width: calc(100vw - 32px); box-sizing: border-box; }

@keyframes zfDropIn {
  from { opacity: 0; transform: translateY(-8px); }
  to { opacity: 1; transform: translateY(0); }
}

.zf-pm-header {
  font-family: 'Orbitron', sans-serif;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 1.5px;
  color: #fff;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.zf-pm-unread-tag {
  color: var(--zf-cyan);
  font-family: 'Share Tech Mono', monospace;
  font-size: 11px;
  letter-spacing: 1px;
  background: rgba(0, 210, 255, 0.12);
  border: 1px solid rgba(0, 210, 255, 0.3);
  padding: 2px 8px;
  border-radius: 2px;
}

.zf-pm-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: 250px;
  overflow-y: auto;
}

.zf-pm-item {
  background: rgba(14, 20, 30, 0.7);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-left: 3px solid rgba(255, 85, 0, 0.5);
  padding: 10px 12px;
  border-radius: 3px;
  transition: all 0.2s ease;
  text-decoration: none !important;
  display: block;
}

.zf-pm-item:hover {
  background: rgba(0, 210, 255, 0.1);
  border-color: rgba(0, 210, 255, 0.4);
  border-left-color: var(--zf-cyan);
  transform: translateX(4px);
  box-shadow: 0 0 12px rgba(0, 210, 255, 0.2);
}

.zf-pm-subject {
  color: #ffffff;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.4;
  margin-bottom: 4px;
}

.zf-pm-sender {
  color: var(--zf-text-secondary);
  font-size: 12px;
  font-family: 'Share Tech Mono', monospace;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.zf-pm-footer {
  padding-top: 8px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.zf-pm-view-all {
  display: block !important;
  text-align: center !important;
  font-size: 11px !important;
  padding: 9px !important;
  letter-spacing: 1.5px !important;
  font-family: 'Orbitron', sans-serif !important;
  font-weight: 800 !important;
}

/* Search Input */
.zf-search-box { position: relative; display: flex; align-items: center; }
.zf-search-box input {
  background: #090c11 !important;
  border: 1px solid var(--zf-border) !important;
  color: #fff !important;
  font-family: 'Rajdhani', sans-serif !important;
  font-size: 14px !important;
  padding: 8px 14px 8px 34px !important;
  border-radius: 2px !important;
  width: 180px;
  transition: all 0.25s ease;
}
.zf-search-box input:focus {
  outline: none !important;
  border-color: var(--zf-orange) !important;
  width: 230px;
  box-shadow: 0 0 16px var(--zf-orange-glow) !important;
}
.zf-search-box .zf-search-icon { position: absolute; left: 10px; color: var(--zf-text-muted); pointer-events: none; }

/* ==========================================================================
   Hero Featured Banner (Cinematic Spotlight)
   ========================================================================== */
.zf-hero-banner {
  background: linear-gradient(90deg, rgba(18, 24, 34, 0.95) 0%, rgba(10, 14, 20, 0.85) 60%, transparent 100%),
              url('https://images.unsplash.com/photo-1518709268805-4e9042af9f23?q=80&w=1200') center/cover;
  border: 1px solid var(--zf-border);
  border-left: 4px solid var(--zf-orange);
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.8), inset 0 0 30px rgba(0,0,0,0.8);
  padding: 40px 36px;
  margin-bottom: 35px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  clip-path: var(--zf-clip-chamfer);
}
.zf-hero-content { max-width: 650px; z-index: 2; }
.zf-hero-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--zf-orange-subtle);
  border: 1px solid var(--zf-orange);
  color: var(--zf-orange);
  font-family: 'Orbitron', sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 2px;
  padding: 4px 10px;
  margin-bottom: 12px;
}
.zf-hero-title {
  font-family: 'Orbitron', sans-serif;
  font-size: 32px;
  font-weight: 900;
  letter-spacing: 2px;
  color: #fff;
  margin: 0 0 10px 0;
  text-shadow: 0 0 25px rgba(255, 119, 0, 0.3);
}
.zf-hero-desc {
  color: var(--zf-text-secondary);
  font-size: 16px;
  line-height: 1.6;
  margin: 0 0 20px 0;
}
.zf-hero-actions { display: flex; gap: 14px; }

/* ==========================================================================
   Main Portal Layout
   ========================================================================== */
#container { max-width: 1480px; margin: 30px auto; padding: 0 28px; }
.zf-portal-grid { display: grid; grid-template-columns: 1fr 350px; gap: 32px; }

.zf-section-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 22px;
  border-bottom: 1px solid var(--zf-border);
  padding-bottom: 14px;
  gap: 15px;
}
.zf-section-title {
  font-family: 'Orbitron', sans-serif;
  font-size: 26px;
  font-weight: 900;
  letter-spacing: 2px;
  color: #fff;
  margin: 0;
  text-transform: uppercase;
}
.zf-section-title span { color: var(--zf-orange); text-shadow: 0 0 14px var(--zf-orange-glow); }

.zf-filter-bar { display: flex; gap: 10px; flex-wrap: wrap; }
.zf-filter-btn {
  background: #11151f;
  border: 1px solid var(--zf-border);
  color: var(--zf-text-secondary);
  font-family: 'Orbitron', sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 1.5px;
  padding: 7px 16px;
  cursor: pointer;
  text-transform: uppercase;
  clip-path: var(--zf-clip-btn);
  transition: all 0.2s;
}
.zf-filter-btn:hover, .zf-filter-btn.active {
  color: #fff;
  background: var(--zf-orange-subtle);
  border-color: var(--zf-orange);
  box-shadow: 0 0 14px var(--zf-orange-glow);
}

/* ==========================================================================
   Epic Black Ops 3 HUD Mod Cards
   ========================================================================== */
.zf-cards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(370px, 1fr));
  gap: 26px;
}

.zf-mod-card {
  position: relative;
  background: linear-gradient(180deg, var(--zf-bg-card-top) 0%, var(--zf-bg-card-bot) 100%);
  border: 1px solid var(--zf-border);
  border-top: 2px solid var(--zf-border-light);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.85), inset 0 1px 0 rgba(255, 255, 255, 0.08);
  clip-path: var(--zf-clip-chamfer);
  display: flex;
  flex-direction: column;
  transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
  overflow: hidden;
}
/* Glowing Corner Accents */
.zf-mod-card::before {
  content: "";
  position: absolute;
  top: -1px; left: -1px;
  width: 18px; height: 18px;
  border-top: 3px solid var(--zf-orange);
  border-left: 3px solid var(--zf-orange);
  z-index: 5;
  pointer-events: none;
}
.zf-mod-card::after {
  content: "";
  position: absolute;
  bottom: -1px; right: -1px;
  width: 18px; height: 18px;
  border-bottom: 3px solid var(--zf-orange);
  border-right: 3px solid var(--zf-orange);
  z-index: 5;
  pointer-events: none;
}
.zf-mod-card.accent-cyan::before,
.zf-mod-card.accent-cyan::after {
  border-color: var(--zf-cyan);
}

.zf-mod-card:hover {
  transform: translateY(-5px);
  border-color: var(--zf-orange);
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.95), 0 0 25px var(--zf-orange-glow);
}
.zf-mod-card.accent-cyan:hover {
  border-color: var(--zf-cyan);
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.95), 0 0 25px var(--zf-cyan-glow);
}

.zf-card-media {
  height: 210px;
  position: relative;
  background: #06090e;
  overflow: hidden;
  border-bottom: 1px solid var(--zf-border);
}
.zf-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.zf-mod-card:hover .zf-card-media img { transform: scale(1.08); }
.zf-card-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 40%, rgba(15, 20, 29, 0.95) 100%);
}

.zf-card-hud-overlay {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
  font-family: 'Orbitron', sans-serif;
  font-size: 11px;
  font-weight: 700;
  color: var(--zf-cyan);
  background: rgba(8, 11, 16, 0.8);
  border: 1px solid var(--zf-cyan);
  padding: 3px 8px;
  border-radius: 2px;
}

.zf-card-content {
  padding: 20px;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.zf-card-title {
  font-family: 'Orbitron', sans-serif;
  font-size: 18px;
  font-weight: 800;
  letter-spacing: 1px;
  color: #fff;
  margin: 0 0 12px 0;
  text-transform: uppercase;
}
.zf-card-title a { color: #fff; }
.zf-card-title a:hover { color: var(--zf-orange); text-shadow: 0 0 10px var(--zf-orange-glow); }

.zf-card-badges { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 16px; }
.zf-badge-orange {
  background: rgba(255, 119, 0, 0.18);
  border: 1px solid var(--zf-orange);
  color: var(--zf-orange);
  font-family: 'Orbitron', sans-serif;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1px;
  padding: 4px 8px;
}
.zf-badge-cyan {
  background: rgba(0, 210, 255, 0.18);
  border: 1px solid var(--zf-cyan);
  color: var(--zf-cyan);
  font-family: 'Orbitron', sans-serif;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 1px;
  padding: 4px 8px;
}

.zf-card-footer {
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  padding-top: 14px;
  font-size: 14px;
  color: var(--zf-text-secondary);
}
.zf-meta-rating { color: var(--zf-orange); font-weight: 800; }
.zf-meta-dl { color: #fff; font-weight: 700; }

/* ==========================================================================
   Sidebar Widgets
   ========================================================================== */
.zf-sidebar { display: flex; flex-direction: column; gap: 26px; }
.zf-widget {
  background: linear-gradient(180deg, #151a25 0%, #0d1117 100%);
  border: 1px solid var(--zf-border);
  border-top: 3px solid var(--zf-orange);
  padding: 22px;
  box-shadow: 0 8px 30px rgba(0, 0, 0, 0.7);
  clip-path: var(--zf-clip-chamfer);
}
.zf-widget-header {
  font-family: 'Orbitron', sans-serif;
  font-size: 15px;
  font-weight: 900;
  letter-spacing: 1.5px;
  color: #fff;
  margin-bottom: 18px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--zf-border);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.zf-stat-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 9px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
  font-size: 14px;
}
.zf-stat-label { color: var(--zf-text-secondary); font-weight: 600; }
.zf-stat-val { font-weight: 800; color: #fff; font-family: 'Orbitron', sans-serif; }
.zf-stat-val.highlight { color: var(--zf-green); }

.zf-online-pill {
  background: rgba(0, 230, 118, 0.18);
  border: 1px solid var(--zf-green);
  color: var(--zf-green);
  font-family: 'Orbitron', sans-serif;
  font-size: 11px;
  font-weight: 800;
  padding: 3px 8px;
  box-shadow: 0 0 10px var(--zf-green-glow);
}

.zf-bug-item {
  background: #090c11;
  border: 1px solid var(--zf-border);
  padding: 12px 14px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
  font-size: 13px;
  transition: all 0.2s;
}
.zf-bug-item:hover { border-color: var(--zf-orange); box-shadow: 0 0 12px var(--zf-orange-glow); }
.zf-status-open {
  background: rgba(255, 119, 0, 0.2);
  border: 1px solid var(--zf-orange);
  color: var(--zf-orange);
  font-family: 'Orbitron', sans-serif;
  font-size: 10px;
  font-weight: 800;
  padding: 3px 6px;
}
.zf-status-investigating {
  background: rgba(255, 214, 0, 0.2);
  border: 1px solid var(--zf-yellow);
  color: var(--zf-yellow);
  font-family: 'Orbitron', sans-serif;
  font-size: 10px;
  font-weight: 800;
  padding: 3px 6px;
}
.zf-status-resolved {
  background: rgba(0, 210, 255, 0.2);
  border: 1px solid var(--zf-cyan);
  color: var(--zf-cyan);
  font-family: 'Orbitron', sans-serif;
  font-size: 10px;
  font-weight: 800;
  padding: 3px 6px;
}

/* Tactical Action Buttons */
.zf-btn-primary {
  background: var(--zf-orange-subtle);
  border: 1px solid var(--zf-orange);
  color: var(--zf-orange) !important;
  font-family: 'Orbitron', sans-serif;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 1px;
  padding: 9px 18px;
  text-transform: uppercase;
  clip-path: var(--zf-clip-btn);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: all 0.2s ease;
}
.zf-btn-primary:hover {
  background: var(--zf-orange);
  color: #000 !important;
  box-shadow: 0 0 20px var(--zf-orange-glow);
}

.zf-btn-action {
  background: var(--zf-orange-subtle);
  border: 1px solid var(--zf-orange);
  color: var(--zf-orange) !important;
  font-family: 'Orbitron', sans-serif;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 1.5px;
  padding: 14px 28px;
  text-transform: uppercase;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
  clip-path: var(--zf-clip-btn);
  cursor: pointer;
  transition: all 0.2s ease;
}
.zf-btn-action:hover {
  background: var(--zf-orange);
  color: #000 !important;
  box-shadow: 0 0 25px var(--zf-orange-glow);
}

/* ==========================================================================
   Forums Table Styling (High-Tech Terminal Board)
   ========================================================================== */
.zf-forum-container { width: 100%; margin-top: 15px; }
.zf-forum-table {
  background: var(--zf-border) !important;
  border: 1px solid var(--zf-border) !important;
  margin-bottom: 35px !important;
  box-shadow: 0 10px 40px rgba(0,0,0,0.8) !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}
.thead {
  background: linear-gradient(90deg, #18202d 0%, #111621 100%) !important;
  border-bottom: 2px solid var(--zf-orange) !important;
  color: #fff !important;
  font-family: 'Orbitron', sans-serif !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  letter-spacing: 2px !important;
  padding: 16px 20px !important;
  text-transform: uppercase !important;
}
.tcat {
  background: #0d1118 !important;
  color: var(--zf-orange) !important;
  font-family: 'Orbitron', sans-serif !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 1.5px !important;
  padding: 12px 18px !important;
  border-bottom: 1px solid var(--zf-border) !important;
}
.trow1, .trow2 {
  background: #11151f !important;
  color: var(--zf-text-primary) !important;
  padding: 16px 20px !important;
  border-top: 1px solid rgba(255, 255, 255, 0.04) !important;
  font-size: 15px !important;
}
.trow1:hover, .trow2:hover {
  background: #181f2c !important;
}

/* ==========================================================================
   Mod Hero View & Submission Form Styling
   ========================================================================== */
.zf-mod-hero {
  background: linear-gradient(180deg, #181d28 0%, #0c1017 100%);
  border: 1px solid var(--zf-border);
  border-top: 3px solid var(--zf-orange);
  padding: 34px;
  margin-bottom: 35px;
  display: grid;
  grid-template-columns: 1fr 350px;
  gap: 32px;
  clip-path: var(--zf-clip-chamfer);
}
.zf-mod-hero-media {
  height: 400px;
  background: #080a0e;
  border: 1px solid var(--zf-border);
  overflow: hidden;
}
.zf-mod-hero-media img { width: 100%; height: 100%; object-fit: cover; }

.zf-mod-meta-panel {
  display: flex;
  flex-direction: column;
  gap: 16px;
  background: #0f131a;
  border: 1px solid var(--zf-border);
  padding: 26px;
}
.zf-mod-info-box {
  background: #0f131a;
  border: 1px solid var(--zf-border);
  border-top: 2px solid var(--zf-border-light);
  padding: 30px;
  margin-bottom: 30px;
  clip-path: var(--zf-clip-chamfer);
}
.zf-mod-tabs {
  display: flex;
  gap: 12px;
  border-bottom: 2px solid var(--zf-border);
  margin-bottom: 24px;
}
.zf-mod-tab-btn {
  background: transparent;
  border: none;
  font-family: 'Orbitron', sans-serif;
  font-size: 13px;
  font-weight: 800;
  color: var(--zf-text-secondary);
  padding: 12px 20px;
  cursor: pointer;
  border-bottom: 3px solid transparent;
  margin-bottom: -2px;
}
.zf-mod-tab-btn.active {
  color: #fff;
  border-color: var(--zf-orange);
  background: var(--zf-orange-subtle);
  text-shadow: 0 0 10px var(--zf-orange-glow);
}

/* Tactical Form Layout */
.zf-form-container {
  background: #0e1219;
  border: 1px solid var(--zf-border);
  border-top: 3px solid var(--zf-orange);
  padding: 36px;
  max-width: 950px;
  margin: 0 auto;
  box-shadow: 0 15px 50px rgba(0,0,0,0.9);
  clip-path: var(--zf-clip-chamfer);
}
.zf-tactical-form { display: flex; flex-direction: column; gap: 20px; }
.zf-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.zf-form-group { display: flex; flex-direction: column; gap: 8px; }
.zf-form-label {
  font-family: 'Orbitron', sans-serif;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 1px;
  color: #fff;
}
.zf-input, .zf-textarea, .zf-select {
  background: #06090e !important;
  border: 1px solid var(--zf-border) !important;
  color: #e6ecf5 !important;
  font-family: 'Rajdhani', sans-serif !important;
  font-size: 15px !important;
  padding: 12px 16px !important;
  width: 100% !important;
  border-radius: 2px !important;
  transition: all 0.2s ease;
}
.zf-input:focus, .zf-textarea:focus, .zf-select:focus {
  outline: none !important;
  border-color: var(--zf-orange) !important;
  box-shadow: 0 0 16px var(--zf-orange-glow) !important;
}

@media (max-width: 1080px) {
  .zf-portal-grid { grid-template-columns: 1fr; }
  .zf-mod-hero { grid-template-columns: 1fr; }
  .zf-form-grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
  .zf-nav-wrap { flex-direction: column; height: auto; padding: 16px; gap: 14px; }
  .zf-cards-grid { grid-template-columns: 1fr; }
}


/* ==========================================================================
   CALL OF DUTY: BLACK OPS III ZOMBIES - EPIC CINEMATIC HERO BANNER
   ========================================================================== */
.zf-zombies-hero {
  position: relative;
  width: 100%;
  min-height: 480px;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 35px;
  background: 
    linear-gradient(180deg, rgba(4, 7, 11, 0.35) 0%, rgba(4, 7, 11, 0.85) 60%, rgba(4, 7, 11, 0.98) 100%),
    url('/images/zombie_portal_hero.jpg') center center / cover no-repeat;
  border: 1px solid rgba(255, 85, 0, 0.45);
  border-top: 4px solid var(--zf-orange);
  box-shadow: 0 15px 60px rgba(0, 0, 0, 0.95), inset 0 0 80px rgba(0, 210, 255, 0.15);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 48px 42px 36px 42px;
  box-sizing: border-box;
}

/* Tactical HUD Corner Brackets */
.zf-corner-tl, .zf-corner-tr, .zf-corner-bl, .zf-corner-br {
  position: absolute;
  width: 24px;
  height: 24px;
  pointer-events: none;
  z-index: 5;
}
.zf-corner-tl { top: 12px; left: 12px; border-top: 2px solid var(--zf-cyan); border-left: 2px solid var(--zf-cyan); box-shadow: -2px -2px 8px rgba(0,210,255,0.4); }
.zf-corner-tr { top: 12px; right: 12px; border-top: 2px solid var(--zf-cyan); border-right: 2px solid var(--zf-cyan); box-shadow: 2px -2px 8px rgba(0,210,255,0.4); }
.zf-corner-bl { bottom: 12px; left: 12px; border-bottom: 2px solid var(--zf-orange); border-left: 2px solid var(--zf-orange); box-shadow: -2px 2px 8px rgba(255,85,0,0.4); }
.zf-corner-br { bottom: 12px; right: 12px; border-bottom: 2px solid var(--zf-orange); border-right: 2px solid var(--zf-orange); box-shadow: 2px 2px 8px rgba(255,85,0,0.4); }

/* Holographic Laser Scanner */
.zf-hero-scanner {
  position: absolute;
  top: 0; left: 0; width: 100%; height: 2px;
  background: linear-gradient(90deg, transparent, rgba(0, 210, 255, 0.8), rgba(255, 85, 0, 0.8), transparent);
  box-shadow: 0 0 15px rgba(0, 210, 255, 0.8);
  animation: zfHeroScan 4s infinite ease-in-out;
  pointer-events: none;
  z-index: 4;
}
@keyframes zfHeroScan {
  0% { top: 0%; opacity: 0; }
  15% { opacity: 1; }
  85% { opacity: 1; }
  100% { top: 100%; opacity: 0; }
}

.zf-hero-inner {
  position: relative;
  z-index: 6;
  max-width: 900px;
}

.zf-hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: rgba(8, 14, 22, 0.92);
  border: 1px solid rgba(0, 210, 255, 0.4);
  border-left: 3px solid var(--zf-cyan);
  padding: 6px 14px;
  border-radius: 4px;
  font-family: 'Share Tech Mono', monospace;
  font-size: 12px;
  color: var(--zf-cyan);
  letter-spacing: 2px;
  width: fit-content;
  margin-bottom: 16px;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.6);
}

.zf-hero-badge-tag {
  background: rgba(255, 85, 0, 0.2);
  border: 1px solid var(--zf-orange);
  color: var(--zf-orange);
  padding: 1px 7px;
  border-radius: 2px;
  font-weight: 800;
  font-size: 10px;
  letter-spacing: 1px;
}

.zf-hero-title {
  font-family: 'Orbitron', sans-serif;
  font-size: 46px;
  font-weight: 900;
  color: #ffffff;
  letter-spacing: 3px;
  margin: 0 0 14px 0;
  line-height: 1.15;
  text-shadow: 
    0 0 25px rgba(255, 85, 0, 0.8),
    0 0 50px rgba(255, 85, 0, 0.4),
    0 2px 4px #000;
  text-transform: uppercase;
}

.zf-title-sub {
  display: block;
  font-size: 16px;
  letter-spacing: 5px;
  color: var(--zf-cyan);
  text-shadow: 0 0 15px rgba(0, 210, 255, 0.7);
  margin-bottom: 4px;
}

.zf-hero-title span {
  color: var(--zf-orange);
  text-shadow: 0 0 35px var(--zf-orange-glow);
}

.zf-hero-subtitle {
  font-family: 'Rajdhani', sans-serif;
  font-size: 18px;
  font-weight: 600;
  color: #c0d2e6;
  max-width: 820px;
  margin: 0 0 26px 0;
  line-height: 1.6;
  text-shadow: 0 2px 6px rgba(0, 0, 0, 0.9);
}

.zf-hero-actions {
  display: flex;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 26px;
}

/* Integrated Telemetry Stats Strip */
.zf-hero-stats {
  display: flex;
  align-items: center;
  gap: 20px;
  background: rgba(6, 10, 16, 0.88);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-top: 2px solid rgba(0, 210, 255, 0.4);
  border-radius: 4px;
  padding: 12px 22px;
  width: fit-content;
  box-shadow: 0 6px 20px rgba(0,0,0,0.7);
}

.zf-hero-stat {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.zf-stat-num {
  font-family: 'Orbitron', sans-serif;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: 1px;
  color: #ffffff;
}

.zf-stat-txt {
  font-family: 'Share Tech Mono', monospace;
  font-size: 11px;
  color: var(--zf-text-secondary);
  letter-spacing: 1px;
}

.zf-hero-stat-sep {
  color: rgba(255, 85, 0, 0.5);
  font-weight: 800;
  font-size: 16px;
}

.zf-btn-secondary {
  background: var(--zf-cyan-subtle);
  border: 1px solid var(--zf-cyan);
  color: var(--zf-cyan) !important;
  font-family: 'Orbitron', sans-serif;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 1px;
  padding: 9px 18px;
  text-transform: uppercase;
  clip-path: var(--zf-clip-btn);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  transition: all 0.2s ease;
}
.zf-btn-secondary:hover {
  background: var(--zf-cyan);
  color: #000 !important;
  box-shadow: 0 0 20px var(--zf-cyan-glow);
}

/* Perk-a-Cola Themed Category Badges */
.zf-badge-juggernog {
  background: rgba(204, 17, 34, 0.25) !important;
  border: 1px solid #cc1122 !important;
  color: #ff4455 !important;
  box-shadow: 0 0 8px rgba(204, 17, 34, 0.4) !important;
}

.zf-badge-speedcola {
  background: rgba(17, 204, 85, 0.25) !important;
  border: 1px solid #11cc55 !important;
  color: #33ff77 !important;
  box-shadow: 0 0 8px rgba(17, 204, 85, 0.4) !important;
}

.zf-badge-quickrevive {
  background: rgba(0, 212, 255, 0.25) !important;
  border: 1px solid #00d4ff !important;
  color: #38dcff !important;
  box-shadow: 0 0 8px rgba(0, 212, 255, 0.4) !important;
}

.zf-badge-doubletap {
  background: rgba(255, 153, 0, 0.25) !important;
  border: 1px solid #ff9900 !important;
  color: #ffaa22 !important;
  box-shadow: 0 0 8px rgba(255, 153, 0, 0.4) !important;
}

.zf-crest-nav {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1.5px solid var(--zf-orange);
  box-shadow: 0 0 10px var(--zf-orange);
  object-fit: cover;
  margin-right: 8px;
  vertical-align: middle;
}

/* Personnel access terminal: isolated from the forum's legacy table styles. */
body.zf-login-page { min-height: 100svh; margin: 0; padding: 0 5vw; display: flex; flex-direction: column; background: radial-gradient(ellipse at 15% 45%, #102127 0, transparent 55%), #05080b; color: #ced4d5; }
.zf-login-page *, .zf-login-page *::before, .zf-login-page *::after { box-sizing: border-box; }
.zf-login-top, .zf-login-bottom { width: 100%; max-width: 1240px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.zf-login-top { min-height: 108px; }
.zf-login-brand { font: 900 23px 'Orbitron', sans-serif; letter-spacing: 3px; color: #e6eced; text-decoration: none; }
.zf-login-brand span { color: #ff792f; }
.zf-login-back { color: #b5c2c5; font: 600 15px 'Rajdhani', sans-serif; text-decoration: none; }
.zf-login-back:hover { color: #fff; }
.zf-access-terminal { display: grid; grid-template-columns: 1.15fr 1fr; width: 100%; max-width: 1240px; min-height: 640px; margin: auto; border: 1px solid #314046; background: #0a1015; box-shadow: 0 30px 100px #0009; position: relative; }
.zf-access-terminal::before, .zf-access-terminal::after { content: ''; position: absolute; width: 36px; height: 36px; border-color: #ff792f; border-style: solid; z-index: 3; pointer-events: none; }
.zf-access-terminal::before { top: -1px; left: -1px; border-width: 2px 0 0 2px; }
.zf-access-terminal::after { bottom: -1px; right: -1px; border-width: 0 2px 2px 0; }
.zf-access-art { position: relative; isolation: isolate; overflow: hidden; padding: 34px 44px; display: flex; flex-direction: column; justify-content: space-between; background: linear-gradient(180deg, #07111850 0%, #07101444 35%, #040a0eef 100%), url('/images/zombie_portal_hero.jpg') 48% center / cover; }
.zf-access-art::after { content: ''; position: absolute; inset: 0; z-index: -1; background: repeating-linear-gradient(0deg, transparent 0 3px, #0002 3px 4px); pointer-events: none; }
.zf-access-sector { display: flex; align-items: center; gap: 10px; color: #b9dce0; font: 12px 'Share Tech Mono', monospace; letter-spacing: 2px; }
.zf-access-sector > span { width: 6px; height: 6px; background: #5ee9e0; border-radius: 50%; box-shadow: 0 0 12px #5ee9e0; animation: zfAccessPulse 3s ease-in-out infinite; }
.zf-access-story { margin: 44px 0 40px; }
.zf-access-emblem { width: 108px; height: 108px; position: relative; display: grid; place-items: center; margin-bottom: 32px; }
.zf-access-emblem::before { content: ''; position: absolute; inset: 0; border: 1px dashed #59e3e685; border-radius: 50%; animation: zfAccessOrbit 40s linear infinite; }
.zf-access-emblem img { width: 88px; height: 88px; object-fit: cover; border-radius: 50%; box-shadow: 0 0 35px #00c3d533; }
.zf-access-kicker { font: 500 16px 'Rajdhani', sans-serif; color: #e7b693; margin: 0 0 16px; }
.zf-access-story h1 { font: 900 clamp(30px, 3.4vw, 48px)/1.17 'Orbitron', sans-serif; letter-spacing: -1.8px; color: #f1f3f1; margin: 0 0 22px; text-shadow: 0 3px 30px #000; }
.zf-access-caption { font: 500 18px/1.6 'Rajdhani', sans-serif; color: #bccbce; margin: 0; max-width: 380px; }
.zf-access-readout { display: flex; gap: 12px; align-items: center; font: 10px 'Share Tech Mono', monospace; letter-spacing: 1px; color: #89bfc3; padding-top: 22px; border-top: 1px solid #67b2b52a; }
.zf-access-readout > span:last-child { margin-left: auto; color: #91a4aa; }
.zf-access-bars { height: 14px; display: flex; align-items: center; gap: 3px; }
.zf-access-bars i { width: 2px; height: 10px; background: #57c6cf; animation: zfAccessSignal 1.5s ease-in-out infinite alternate; }
.zf-access-bars i:nth-child(2n) { animation-delay: -.8s; height: 5px; }
.zf-access-bars i:nth-child(3n) { animation-delay: -.4s; height: 14px; }
.zf-access-scan { position: absolute; z-index: -1; inset: 0; background: linear-gradient(transparent 48%, #40def510 49.6%, #62f6ff60 50%, transparent 50.3%); transform: translateY(-100%); animation: zfAccessScan 9s linear infinite; pointer-events: none; }
.zf-access-embers { position: absolute; inset: 0; pointer-events: none; z-index: -1; }
.zf-access-embers i { position: absolute; bottom: -10px; left: 18%; width: 3px; height: 3px; border-radius: 50%; background: #ff9b54; box-shadow: 0 0 10px #ff6500; animation: zfAccessEmber 9s linear infinite; }
.zf-access-embers i:nth-child(2) { left: 38%; animation-delay: -3s; animation-duration: 11s; }
.zf-access-embers i:nth-child(3) { left: 64%; animation-delay: -6s; }
.zf-access-embers i:nth-child(4) { left: 80%; animation-delay: -1s; animation-duration: 13s; }
.zf-access-embers i:nth-child(5) { left: 49%; animation-delay: -8s; animation-duration: 12s; }
.zf-access-form-panel { display: flex; flex-direction: column; justify-content: space-between; border-left: 1px solid #3d595959; background: linear-gradient(130deg, #111b22, #090e12 75%); }
.zf-access-panel-top, .zf-access-panel-bottom { display: flex; justify-content: space-between; align-items: center; margin: 0 42px; color: #788e98; font: 10px 'Share Tech Mono', monospace; letter-spacing: 2px; }
.zf-access-panel-top { height: 64px; border-bottom: 1px solid #25333b; }
.zf-access-lock { color: #ff8c41; font-size: 22px; }
.zf-access-panel-bottom { min-height: 54px; border-top: 1px solid #25333b; }
.zf-access-panel-bottom > span:last-child { color: #506a73; letter-spacing: 4px; }
.zf-access-form-content { padding: 30px 52px 40px; }
.zf-access-eyebrow { font: 600 16px 'Rajdhani', sans-serif; color: #ff9a60; margin: 0 0 9px; }
.zf-access-form-content h2 { color: #f2f4f5; font: 800 27px/1.3 'Orbitron', sans-serif; margin: 0 0 12px; letter-spacing: -.6px; }
.zf-access-intro { font: 500 17px 'Rajdhani', sans-serif; color: #91a6b2; margin: 0 0 32px; }
.zf-login-form > label, .zf-login-label-row label { display: block; font: 600 15px 'Rajdhani', sans-serif; color: #ced9dd; margin: 0 0 9px; }
.zf-login-form input[type='text'], .zf-login-form input[type='password'] { width: 100%; height: 50px; padding: 12px 15px; background: #060c11; border: 1px solid #334854; border-radius: 2px; font: 500 17px 'Rajdhani', sans-serif; color: #fff; box-shadow: inset 0 2px 8px #0004; outline: none; transition: border-color .18s, box-shadow .18s; }
.zf-login-form input:focus { border-color: #5bd8dc; box-shadow: 0 0 0 3px #57d5de18; }
.zf-login-label-row { display: flex; justify-content: space-between; align-items: baseline; gap: 15px; margin-top: 23px; }
.zf-login-label-row a { font: 500 13px 'Rajdhani', sans-serif; color: #9db6c1; text-decoration: none; }
.zf-login-label-row a:hover { color: #5de3e8; }
.zf-login-password-wrap { position: relative; }
.zf-login-password-wrap input { padding-right: 70px !important; }
#zf-password-toggle { position: absolute; right: 0; top: 0; height: 50px; padding: 0 15px; background: transparent; border: 0; font: 11px 'Share Tech Mono', monospace; letter-spacing: 1px; color: #829fae; cursor: pointer; }
.zf-login-form .zf-login-remember { display: flex; align-items: center; gap: 10px; margin: 18px 0 25px; color: #a4b8c1; font-size: 14px; }
.zf-login-remember input { accent-color: #ff7a2d; width: 15px; height: 15px; margin: 0; }
.zf-login-submit { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 54px; border: 1px solid #ffa06a; border-radius: 2px; padding: 16px 21px; background: linear-gradient(110deg, #f58036, #da4d16); color: #0e0b09; font: 800 13px 'Orbitron', sans-serif; letter-spacing: 1.2px; cursor: pointer; box-shadow: 0 5px 25px #eb672223; transition: box-shadow .2s, filter .2s; }
.zf-login-submit:hover { filter: brightness(1.12); box-shadow: 0 5px 30px #f67b3559; }
.zf-login-submit span:last-child { font-size: 21px; line-height: 1; }
.zf-login-page a:focus-visible, .zf-login-page button:focus-visible { outline: 2px solid #60e3e8; outline-offset: 4px; }
.zf-login-enlist { font: 500 15px/1.5 'Rajdhani', sans-serif; text-align: center; margin: 26px 0 0; color: #95a9b4; }
.zf-login-enlist a { color: #eee7df; margin-left: 4px; text-decoration: underline; text-underline-offset: 4px; }
.zf-login-feedback .error, .zf-login-feedback .error_inline, .zf-login-feedback .pm_alert { padding: 12px 15px; margin-bottom: 20px; background: #431b163b; border: 1px solid #ab5540; color: #ffc3af; font: 500 15px/1.5 'Rajdhani', sans-serif; }
.zf-login-captcha { width: 100%; border: 0; background: transparent; }
.zf-login-captcha td { background: transparent; color: #d3dfe4; padding: 10px 0; }
.zf-login-bottom { min-height: 88px; font: 10px 'Share Tech Mono', monospace; color: #71858e; letter-spacing: 1px; }
.zf-login-bottom a { color: #a4b7bf; }
#zf-motion-toggle { font: 12px 'Rajdhani', sans-serif; color: #a3b4bc; background: transparent; border: 0; padding: 10px; cursor: pointer; }
.zf-motion-paused .zf-access-terminal *, .zf-motion-paused .zf-access-terminal *::before { animation-play-state: paused !important; }
@keyframes zfAccessScan { to { transform: translateY(100%); } }
@keyframes zfAccessOrbit { to { transform: rotate(360deg); } }
@keyframes zfAccessPulse { 50% { opacity: .4; } }
@keyframes zfAccessSignal { to { transform: scaleY(.3); } }
@keyframes zfAccessEmber { 0% { opacity: 0; transform: translate(0,0); } 20% { opacity: .7; } 100% { opacity: 0; transform: translate(40px,-600px); } }
@media (max-width: 1000px) { .zf-access-art { padding: 30px; } .zf-access-form-content { padding: 32px; } .zf-access-panel-top, .zf-access-panel-bottom { margin: 0 32px; } .zf-access-readout > span:last-child { display: none; } }
@media (max-width: 720px) { body.zf-login-page { padding: 0 20px; } .zf-login-top { min-height: 82px; } .zf-login-brand { font-size: 16px; letter-spacing: 1px; } .zf-login-back { font-size: 13px; } .zf-access-terminal { grid-template-columns: 1fr; } .zf-access-art { min-height: 255px; padding: 25px; background-position: center 42%; } .zf-access-story { margin: 28px 0 0; } .zf-access-emblem, .zf-access-kicker, .zf-access-caption, .zf-access-readout { display: none; } .zf-access-story h1 { font-size: clamp(27px, 6.5vw, 40px); letter-spacing: -1px; margin: 0; } .zf-access-form-panel { border-left: 0; border-top: 1px solid #33464f; } .zf-access-form-content { padding: 28px 25px; } .zf-access-panel-top, .zf-access-panel-bottom { margin: 0 25px; } .zf-access-form-content h2 { font-size: 25px; } .zf-login-bottom { font-size: 8px; gap: 8px; min-height: 70px; } }
@media (prefers-reduced-motion: reduce) { .zf-access-terminal *, .zf-access-terminal *::before { animation: none !important; transition: none !important; } #zf-motion-toggle { display: none; } }

/* Override alignment and link colors inherited from MyBB's global stylesheet. */
.zf-login-page .zf-access-art, .zf-login-page .zf-access-form-content { text-align: left; }
.zf-login-page a.zf-login-brand { color: #e6eced; }
.zf-login-page a.zf-login-back { color: #b5c2c5; }
.zf-login-submit-wrap { position: relative; }
.zf-login-submit-wrap .zf-login-submit { text-align: left; padding-right: 52px; }
.zf-login-submit-wrap > span { position: absolute; right: 21px; top: 50%; transform: translateY(-50%); color: #0e0b09; font-size: 21px; pointer-events: none; }
.zf-login-page input[type="submit"]:focus-visible { outline: 2px solid #60e3e8; outline-offset: 4px; }

/* Same-document entry / extraction sequence. */
#zf-auth-overlay { position: fixed; inset: 0; z-index: 2147483000; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 28px; overflow: hidden; background: #030609f2; backdrop-filter: blur(16px); color: #e9f9fa; text-align: center; }
.zf-auth-top { position: absolute; top: 34px; left: 40px; right: 40px; display: flex; justify-content: space-between; gap: 20px; font: 800 15px 'Orbitron', sans-serif; letter-spacing: 3px; color: #f3f5f5; }
.zf-auth-top span { color: #8babb4; font: 11px 'Share Tech Mono', monospace; letter-spacing: 2px; }
.zf-auth-scene { position: absolute; inset: 0; overflow: hidden; background: #080d10; isolation: isolate; pointer-events: none; }
.zf-auth-camera { position: absolute; inset: 0; }
.zf-auth-interior { position: absolute; inset: 0; background: url('/images/zf-bunker-interior.jpg') center 54% / cover no-repeat; }
.zf-auth-atmosphere { position: absolute; inset: 0; background: #020609; opacity: .8; transition: opacity 1.4s ease; }
.zf-auth-confirmed.zf-auth-login .zf-auth-atmosphere { opacity: .15; }
.zf-auth-logout .zf-auth-atmosphere { opacity: .15; }
.zf-auth-confirmed.zf-auth-logout .zf-auth-atmosphere { opacity: .85; }
.zf-auth-scene::after { content: ''; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(0deg, #030609 0%, #030609e6 15%, #03060955 48%, #03060922 70%, #030609cc 100%), radial-gradient(ellipse at 50% 42%, transparent 20%, #020509aa 100%); }
.zf-auth-top { z-index: 5; }
.zf-auth-copy { position: relative; z-index: 4; width: min(740px, 90vw); margin-top: min(42vh, 420px); }
.zf-auth-confirmed .zf-auth-copy { animation: zfAuthReveal .55s ease-out both; }
.zf-auth-code { font: 12px 'Share Tech Mono', monospace; letter-spacing: 2px; color: #74dce0; margin: 0 0 15px; }
#zf-auth-title { font: 800 clamp(22px, 3vw, 36px)/1.3 'Orbitron',sans-serif; color: #f3f8f9; margin: 0 0 12px; }
.zf-auth-message { font: 500 19px/1.5 'Rajdhani', sans-serif; color: #a9c0c9; margin: 0; }
.zf-auth-progress { width: 180px; height: 2px; background: #243740; margin: 26px auto; overflow: hidden; }
.zf-auth-progress span { display: block; width: 45%; height: 100%; background: #66f2f5; box-shadow: 0 0 15px #58ecf0; animation: zfAuthProgress 1.2s linear infinite; }
.zf-auth-confirmed .zf-auth-progress span { width: 100%; transform-origin: left; animation: zfAuthComplete 2s linear forwards; }
#zf-auth-overlay [data-zf-auth-skip] { position: relative; z-index: 5; padding: 10px 20px; border: 1px solid #405661; color: #c2d8dd; background: #0d171e; font: 12px 'Share Tech Mono',monospace; cursor: pointer; }
#zf-auth-overlay [data-zf-auth-skip]:disabled { opacity: .25; cursor: wait; }
#zf-auth-overlay [data-zf-auth-skip]:focus-visible { outline: 2px solid #71eff4; outline-offset: 4px; }
.zf-auth-error .zf-auth-scene { opacity: .3; }
.zf-auth-error .zf-auth-progress { display: none; }
@keyframes zfAuthProgress { from { transform: translateX(-100%); } to { transform: translateX(300%); } }
@keyframes zfAuthComplete { from { transform: scaleX(0); } to { transform: scaleX(1); } }
@keyframes zfAuthReveal { from { opacity: 0; } to { opacity: 1; } }
@media (max-width: 600px) { .zf-auth-top { top: 24px; left: 24px; right: 24px; font-size: 12px; } .zf-auth-top span { display: none; } .zf-auth-copy { margin-top: 32vh; } .zf-auth-code { font-size: 10px; letter-spacing: 1px; } .zf-auth-message { font-size: 16px; } }
@media (prefers-reduced-motion: reduce) { #zf-auth-overlay *, #zf-auth-overlay *::after { animation: none !important; transition: none !important; } }
/* Forge 9: creator arsenal shell and homepage. */
:root { --zf-rail-width: 232px; }
body:has(.zf-shell-header) { background: #090b0e; }
.zf-shell-header { position: static; height: 0; border: 0; background: none; box-shadow: none; }
.zf-rail { position: fixed; inset: 0 auto 0 0; width: var(--zf-rail-width); z-index: 1100; box-sizing: border-box; padding: 30px 18px 22px; background: linear-gradient(160deg,#171a1e,#0d0f13 55%); border-right: 1px solid #ffffff0e; overflow-y: auto; scrollbar-width: thin; transition: width .25s ease, transform .25s ease; }
.zf-rail .zf-logo { margin: 0 4px 40px; }
.zf-rail .zf-logo a { display: flex; align-items: center; gap: 10px; font: 800 14px 'Orbitron',sans-serif; letter-spacing: 1px; color: #f2f2ee; text-decoration: none; }
.zf-rail .zf-logo img { width: 38px; height: 38px; border-radius: 50%; box-shadow: 0 0 22px #ed822225; }
.zf-rail .zf-logo b { color: #fc9a47; display: block; }
.zf-rail .zf-logo small { display: block; font: 8px 'Share Tech Mono',monospace; letter-spacing: 2px; color: #84898e; margin-top: 6px; }
.zf-rail-label { font: 9px 'Share Tech Mono',monospace; letter-spacing: 2px; color: #686f77; padding: 0 14px; margin: 26px 0 10px; }
.zf-rail-nav { display: grid; gap: 4px; }
.zf-rail-nav a { display: flex; align-items: center; gap: 13px; min-height: 40px; padding: 0 13px; border: 1px solid transparent; border-radius: 5px; color: #a5abb3; font: 600 14px 'Rajdhani',sans-serif; text-decoration: none; transition: color .2s,background .2s,border-color .2s; }
.zf-rail-nav a i { width: 19px; flex: 0 0 19px; font: 17px monospace; text-align: center; color: #6f7881; }
.zf-rail-nav a:hover { background: #ffffff07; color: #fff; border-color: #ffffff09; }
.zf-rail-nav a[aria-current="page"] { background: linear-gradient(90deg,#e88a2420,transparent); border-color: #db7b2633; color: #ffae62; }
.zf-rail-nav a[aria-current="page"] i { color: #ff9a43; }
.zf-rail-submit { display: flex; gap: 10px; align-items: center; justify-content: center; margin-top: 30px; padding: 12px 8px; border: 1px solid #c572343d; color: #edac78; background: #bd672a0c; border-radius: 4px; font: 700 13px 'Rajdhani',sans-serif; text-decoration: none; }
.zf-rail-signature { margin-top: 30px; font: 9px 'Share Tech Mono',monospace; letter-spacing: 1px; color: #777c83; text-align: center; }
.zf-rail-signature small { display: block; margin-top: 6px; color: #424951; font-size: 8px; }
.zf-commandbar { position: fixed; left: var(--zf-rail-width); top: 0; right: 0; height: 76px; display: flex; align-items: center; gap: 20px; padding: 0 32px; box-sizing: border-box; background: #0b0e12ed; backdrop-filter: blur(16px); border-bottom: 1px solid #ffffff0d; z-index: 1090; transition: left .25s; }
#zf-menu-toggle { display: grid; gap: 4px; padding: 10px; border: 1px solid #ffffff16; background: #ffffff04; cursor: pointer; border-radius: 4px; }
#zf-menu-toggle span { display: block; width: 15px; height: 1px; background: #b5bac2; }
.zf-command-title { font: 10px 'Share Tech Mono',monospace; letter-spacing: 1px; color: #e0e1df; white-space: nowrap; }
.zf-command-title span { color: #59646f; }
.zf-shell-search { margin-left: auto; display: flex; align-items: center; width: min(230px,20vw); border-bottom: 1px solid #ffffff19; }
.zf-shell-search input { width: 100%; min-width: 0; border: 0!important; background: transparent!important; box-shadow: none!important; color: #bbc2c8; padding: 10px 0!important; font: 13px 'Rajdhani',sans-serif; }
.zf-shell-search button { background: none; border: 0; color: #a8b0ba; font-size: 24px; cursor: pointer; }
.zf-commandbar .zf-userbox { border: 0; padding: 0; margin: 0; background: transparent; box-shadow: none; }
.zf-commandbar .zf-user-hud { padding: 0; border: 0; background: transparent; box-shadow: none; gap: 10px; flex-wrap: nowrap; }
.zf-commandbar .zf-user-chip,.zf-commandbar .zf-audio-pill,.zf-commandbar .zf-user-badge { background: #ffffff04; border: 1px solid #ffffff12; padding: 8px; border-radius: 4px; }
.zf-commandbar .zf-user-name { color: #e7e8e5; }
.zf-commandbar .zf-audio-pill { font-size: 8px; }
.zf-commandbar .zf-pm-counter { box-shadow: none; background: #27333b; color: #93cbd0; }
.zf-account-login { padding: 10px; color: #c6ccd0; font: 700 14px 'Rajdhani',sans-serif; text-decoration: none; }
.zf-account-register { padding: 10px 16px; border-radius: 4px; background: #ec9147; color: #1c140e!important; font: 700 14px 'Rajdhani',sans-serif; text-decoration: none; box-shadow: 0 3px 18px #f6943420; }
.zf-account-register span { margin-left: 16px; }
body:has(.zf-shell-header) #container { margin: 76px 0 0 var(--zf-rail-width); padding: 32px; max-width: none; transition: margin-left .25s; }
body:has(.zf-shell-header) > footer { margin-left: var(--zf-rail-width); }
body.zf-home .navigation { display: none; }
.zf-home-content { max-width: 1600px; margin: 0 auto; }
.zf-home .zf-forge-hero { position: relative; min-height: 560px; padding: 0; border: 1px solid #ffffff1a; border-radius: 12px; overflow: hidden; background: #0c1015; box-shadow: 0 24px 60px #0007; isolation: isolate; }
.zf-forge-hero::before,.zf-forge-hero::after { display: none; }
.zf-forge-art { position: absolute; inset: 0; background: linear-gradient(90deg,#080d12f2 0%,#080d12b3 37%,#080d1222 75%),linear-gradient(0deg,#080c11f0,transparent 55%),url('/images/zombie_portal_hero.jpg') 62% center / cover; z-index: -3; }
.zf-forge-haze { position: absolute; inset: 0; z-index: -2; background: radial-gradient(ellipse at 75% 24%,#27e4e020,transparent 43%),radial-gradient(ellipse at 15% 95%,#f28a2222,transparent 45%); animation: zfForgeBreath 7s ease-in-out infinite alternate; }
.zf-forge-hero-copy { padding: 68px 54px 110px; position: relative; z-index: 2; }
.zf-eyebrow { font: 10px 'Share Tech Mono',monospace; color: #a3aab0; letter-spacing: 2px; margin: 0 0 22px; }
.zf-eyebrow > span { display: inline-block; width: 5px; height: 5px; border-radius: 50%; background: #ffac56; box-shadow: 0 0 12px #f5a844; margin-right: 8px; vertical-align: middle; }
#zf-home-title { font: 900 clamp(32px,4.2vw,68px)/1.13 'Orbitron',sans-serif; letter-spacing: -2px; color: #f3f2ed; margin: 0; text-shadow: 0 4px 30px #0008; }
#zf-home-title em { color: #f29b52; font-style: normal; }
.zf-forge-intro { font: 500 19px/1.6 'Rajdhani',sans-serif; color: #aab6bf; margin: 24px 0 28px; }
.zf-forge-actions { display: flex; gap: 24px; align-items: center; flex-wrap: wrap; }
.zf-action-solid { display: inline-flex; gap: 30px; align-items: center; border-radius: 4px; padding: 15px 22px; background: linear-gradient(140deg,#ffb66e,#e88839); color: #22170e!important; font: 700 15px 'Rajdhani',sans-serif; text-decoration: none; box-shadow: 0 4px 25px #d877272d,inset 0 1px #ffd3a7; transition: box-shadow .2s,filter .2s; }
.zf-action-solid:hover { filter: brightness(1.1); box-shadow: 0 4px 35px #d877274d; }
.zf-action-quiet,.zf-text-link { font: 600 14px 'Rajdhani',sans-serif; color: #c5cbd0; text-decoration: none; }
.zf-action-quiet span { margin-left: 15px; color: #e9a266; }
.zf-hero-foot { position: absolute; bottom: 0; left: 0; right: 0; padding: 22px 30px; border-top: 1px solid #ffffff12; display: flex; justify-content: space-between; gap: 10px; font: 9px 'Share Tech Mono',monospace; letter-spacing: 1.5px; color: #626f79; background: #080e1477; }
.zf-hero-foot b { color: #b1bac0; font-weight: normal; }
#zf-home-motion { color: #a2acb2; font: 10px 'Share Tech Mono',monospace; background: none; border: 0; cursor: pointer; }
.zf-hero-stamp { position: absolute; right: 36px; bottom: 100px; font: 800 66px 'Orbitron',sans-serif; color: #c8ffff27; text-align: right; }
.zf-hero-stamp span { display: block; font: 8px 'Share Tech Mono',monospace; letter-spacing: 3px; color: #9cccc678; }
.zf-forge-sparks { position: absolute; inset: 0; z-index: -1; overflow: hidden; }
.zf-forge-sparks i { position: absolute; left: 75%; bottom: -5%; width: 2px; height: 2px; background: #ffb665; box-shadow: 0 0 8px 2px #ff9b4040; border-radius: 50%; animation: zfForgeEmber 9s linear infinite; }
.zf-forge-sparks i:nth-child(2) { left: 52%; animation-delay: -3s; animation-duration: 12s; }.zf-forge-sparks i:nth-child(3) { left: 85%; animation-delay: -6s; }.zf-forge-sparks i:nth-child(4) { left: 36%; animation-delay: -8s; animation-duration: 13s; }.zf-forge-sparks i:nth-child(5) { left: 62%; animation-delay: -2s; animation-duration: 11s; }.zf-forge-sparks i:nth-child(6) { left: 93%; animation-delay: -5s; }
.zf-arsenal-types { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; margin: 20px 0 60px; }
.zf-arsenal-types a { display: flex; align-items: center; gap: 13px; padding: 24px 18px; border: 1px solid #ffffff0f; border-radius: 6px; background: linear-gradient(125deg,#1a1f25,#11161b); text-decoration: none; box-shadow: 0 8px 22px #0002; transition: border-color .2s,background .2s; }
.zf-arsenal-types a:hover { border-color: #e69b4f66; background: #222322; }
.zf-type-symbol { color: #dc9e65; font: 25px monospace; min-width: 28px; }
.zf-arsenal-types b { display: block; color: #e6e8e7; font: 700 16px 'Rajdhani',sans-serif; }
.zf-arsenal-types small { display: block; color: #737e89; font: 12px 'Rajdhani',sans-serif; margin-top: 5px; }
.zf-arsenal-types i { margin-left: auto; color: #5f666b; font-style: normal; }
.zf-release-heading { display: flex; justify-content: space-between; align-items: end; gap: 20px; }
.zf-release-heading .zf-eyebrow { margin-bottom: 10px; color: #bd8859; }
.zf-release-heading h2,.zf-workbench-band h2 { font: 800 30px/1.3 'Orbitron',sans-serif; color: #e8eae7; letter-spacing: -1px; margin: 0; }
.zf-release-heading h2 span { color: #818b93; }
.zf-release-filters { display: flex; gap: 22px; border-bottom: 1px solid #ffffff12; margin: 25px 0; overflow-x: auto; }
.zf-release-filters a { color: #848f98; font: 600 14px 'Rajdhani',sans-serif; padding: 12px 0; text-decoration: none; white-space: nowrap; border-bottom: 2px solid transparent; }
.zf-release-filters a:hover,.zf-release-filters a.active { color: #efab70; border-color: #efab70; }
.zf-home .zf-cards-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.zf-home .zf-mod-card { background: linear-gradient(135deg,#1b2026,#11161b); border: 1px solid #ffffff14; border-radius: 8px; clip-path: none; box-shadow: 0 12px 26px #0004; transform: none!important; transition: border-color .2s,box-shadow .2s; }
.zf-home .zf-mod-card:hover { border-color: #d9975155; box-shadow: 0 15px 36px #0008; }
.zf-home .zf-mod-card::before,.zf-home .zf-mod-card::after,.zf-home .zf-card-bracket-tl,.zf-home .zf-card-bracket-br,.zf-home .zf-card-media::after { display: none; }
.zf-home .zf-card-media { height: 205px; }
.zf-home .zf-card-media img { filter: saturate(.8); transform: none!important; }
.zf-home .zf-card-hud-overlay { top: auto; bottom: 14px; left: 16px; right: auto; color: #bcc8cd; font-size: 9px; background: #0a101bcc; border: 1px solid #ffffff26; }
.zf-home .zf-card-content { padding: 20px; }
.zf-home .zf-card-title { font: 700 17px/1.4 'Rajdhani',sans-serif; letter-spacing: .5px; }
.zf-home .zf-card-footer { flex-wrap: wrap; gap: 14px; margin-top: 20px; border-top-color: #ffffff0e; }
.zf-home .zf-card-footer .zf-btn-primary { background: #ffffff05; border: 1px solid #ffffff1a; clip-path: none; border-radius: 3px; color: #c8b5a2; font-family: 'Rajdhani',sans-serif; }
.zf-home .zf-card-badges span { border: 0; background: none; padding: 0; color: #8d999f; font-size: 9px; }
.zf-home .zf-meta-rating { color: #cfa875; }.zf-home .zf-meta-dl { color: #76858e; }
.zf-workbench-band { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; margin: 70px 0 10px; padding: 42px; border: 1px solid #ffffff12; border-radius: 8px; background: radial-gradient(ellipse at 0 100%,#974f1825,transparent 70%),#11161b; }
.zf-workbench-band p:not(.zf-eyebrow) { font: 15px/1.6 'Rajdhani',sans-serif; color: #89949d; max-width: 340px; }
.zf-workbench-links { display: grid; }
.zf-workbench-links a { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 18px 0; border-bottom: 1px solid #ffffff12; color: #d4d9da; font: 700 18px 'Rajdhani',sans-serif; text-decoration: none; }
.zf-workbench-links small { display: block; color: #7f8b94; font: 13px 'Rajdhani',sans-serif; margin-top: 6px; }.zf-workbench-links b { color: #c99464; }
.zf-rail-backdrop { display: none; }
body.zf-rail-collapsed { --zf-rail-width: 76px; }
.zf-rail-collapsed .zf-rail { padding-inline: 12px; }.zf-rail-collapsed .zf-rail .zf-logo { margin-inline: 6px; }.zf-rail-collapsed .zf-rail .zf-logo a>span,.zf-rail-collapsed .zf-rail-label,.zf-rail-collapsed .zf-rail-nav span,.zf-rail-collapsed .zf-rail-submit span,.zf-rail-collapsed .zf-rail-signature { display: none; }.zf-rail-collapsed .zf-rail-nav { margin-top: 18px; }.zf-rail-collapsed .zf-rail-nav a { justify-content: center; padding: 0; }
.zf-atmosphere-paused .zf-forge-haze,.zf-atmosphere-paused .zf-forge-sparks i { animation-play-state: paused; }
@keyframes zfForgeBreath { from { opacity: .3; } to { opacity: 1; } }
@keyframes zfForgeEmber { 0% { opacity: 0; transform: translate(0,0); } 15% { opacity: .7; } 85% { opacity: .5; } 100% { opacity: 0; transform: translate(30px,-530px); } }
.zf-shell-header a:focus-visible,.zf-home-content a:focus-visible,.zf-shell-header button:focus-visible,#zf-home-motion:focus-visible { outline: 2px solid #ffb26c; outline-offset: 4px; }
@media(min-width:1101px) and (max-width:1450px) { .zf-command-title { display: none; }.zf-commandbar { gap: 14px; padding-inline: 24px; }.zf-commandbar .zf-user-hud { gap: 6px; }.zf-arsenal-types { grid-template-columns: repeat(2,1fr); } }
@media(max-width:1100px) { :root { --zf-rail-width: 0px; }.zf-rail { width: 232px; transform: translateX(-100%); }.zf-rail-open .zf-rail { transform: translateX(0); }.zf-commandbar { left: 0; padding: 0 20px; }.zf-command-title { display: none; }body:has(.zf-shell-header) #container { margin-left: 0; padding: 22px; }body:has(.zf-shell-header)>footer { margin-left: 0; }.zf-rail-open .zf-rail-backdrop { display: block; position: fixed; inset: 0; z-index: 1095; border: 0; background: #0009; backdrop-filter: blur(3px); }.zf-arsenal-types { grid-template-columns: repeat(2,1fr); }.zf-home .zf-cards-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:650px) { .zf-commandbar { height: 64px; gap: 10px; padding: 0 14px; }.zf-shell-search { display: none; }.zf-commandbar .zf-userbox { margin-left: auto; }.zf-commandbar .zf-audio-pill,.zf-commandbar .zf-user-hud>a[title="View Recent Community Discussions"] { display: none; }.zf-commandbar .zf-user-chip { font-size: 9px; padding: 7px; }.zf-commandbar .zf-user-hud { gap: 7px; }.zf-commandbar .zf-user-name { font-size: 11px; }.zf-commandbar .zf-user-hud>a { font-size: 11px; }.zf-commandbar .zf-user-badge { padding: 6px; }.zf-commandbar .zf-pm-dropdown { position: fixed; top: 64px; left: 12px; right: 12px; width: auto; max-width: none; }body:has(.zf-shell-header) #container { margin-top: 64px; padding: 14px; }.zf-home .zf-forge-hero { min-height: 530px; }.zf-forge-hero-copy { padding: 48px 26px 100px; }#zf-home-title { font-size: clamp(29px,7.5vw,44px); letter-spacing: -1px; }.zf-forge-intro { font-size: 17px; }.zf-forge-art { background-position: 65% center; }.zf-forge-actions { gap: 18px; }.zf-hero-stamp { display: none; }.zf-hero-foot { padding: 18px; letter-spacing: .5px; font-size: 8px; }.zf-hero-foot>span { max-width: 150px; line-height: 1.6; }.zf-arsenal-types { gap: 8px; margin-bottom: 40px; }.zf-arsenal-types a { padding: 18px 12px; gap: 8px; }.zf-arsenal-types b { font-size: 14px; }.zf-arsenal-types small,.zf-arsenal-types i { display: none; }.zf-type-symbol { font-size: 20px; min-width: 20px; }.zf-release-heading { align-items: start; flex-direction: column; gap: 12px; }.zf-release-heading h2 { font-size: 24px; }.zf-release-filters { gap: 20px; }.zf-home .zf-cards-grid { grid-template-columns: 1fr; }.zf-home .zf-card-media { height: 225px; }.zf-workbench-band { grid-template-columns: 1fr; padding: 26px; gap: 14px; margin-top: 40px; }.zf-workbench-band h2 { font-size: 24px; }.zf-account-register { padding: 9px 12px; }.zf-account-register span { margin-left: 6px; } }
@media(prefers-reduced-motion:reduce) { .zf-forge-haze,.zf-forge-sparks i { animation: none!important; }.zf-rail,.zf-commandbar,body:has(.zf-shell-header) #container { transition: none; } }
/* Keep fixed navigation relative to the viewport, not the zero-height shell. */
.zf-shell-header { backdrop-filter: none; }
body:has(.zf-shell-header) { background: #090b0e!important; }
body:has(.zf-shell-header)::before { display: none; }
.zf-empty-releases { grid-column: 1 / -1; padding: 40px; border: 1px solid #ffffff16; border-radius: 8px; color: #a7b1b8; background: #11161b; }
.zf-hero-foot { z-index: 3; }
.zf-rail-nav a i { white-space: nowrap; font-size: 15px; }
.zf-shell-header .zf-account-login,.zf-home-content .zf-action-quiet,.zf-home-content .zf-text-link { color: #c6ccd0!important; }
.zf-shell-header .zf-rail-submit { color: #edac78!important; }
body:has(.zf-shell-header) #container { min-width: 0; width: auto; }
.zf-home-content { min-width: 0; }
/* Sculpted arsenal navigation: crest chamber, inset controls and energy edge. */
:root { --zf-rail-width: 248px; }
.zf-rail { padding: 18px 16px 24px; background: linear-gradient(90deg,#090c10 0%,#151a20 9%,#11171d 88%,#080b0f 100%); border-right: 1px solid #a8d3da26; box-shadow: 12px 0 40px #0007,inset -4px 0 0 #030608,inset -5px 0 0 #67838b20,inset 1px 0 #ffffff08; }
.zf-rail::before { content: ''; position: absolute; top: 0; right: 3px; width: 1px; height: 100%; pointer-events: none; background: linear-gradient(180deg,transparent,#ed9a4644 15%,transparent 36%,#60cbd36b 65%,transparent); }
.zf-rail .zf-logo { position: relative; min-height: 190px; margin: 0 0 22px; padding: 24px 8px 16px; isolation: isolate; background: radial-gradient(ellipse at 50% 35%,#a969241f,transparent 65%),linear-gradient(130deg,#ffffff07,transparent 40%),#080c10; border: 1px solid #d9b48326; border-radius: 5px 5px 16px 16px; box-shadow: inset 0 1px #ffffff0c,inset 0 -10px 24px #0007,0 8px 20px #0005; }
.zf-rail .zf-logo::before { content: ''; position: absolute; width: 102px; height: 102px; border: 1px dashed #d49a574d; border-radius: 50%; top: 10px; left: calc(50% - 51px); box-shadow: 0 0 0 5px #d5902310,0 0 28px #dc8a1915; pointer-events: none; animation: zfRailOrbit 50s linear infinite; }
.zf-rail .zf-logo::after { content: ''; position: absolute; top: 15px; left: calc(50% - 46px); width: 92px; height: 92px; border-radius: 50%; border: 2px solid transparent; border-top-color: #eead60; border-bottom-color: #83c4c369; transform: rotate(-35deg); box-shadow: 0 0 20px #ef9f3720; pointer-events: none; }
.zf-rail .zf-logo a { position: relative; z-index: 1; flex-direction: column; gap: 24px; text-align: center; font-size: 15px; letter-spacing: 1.3px; }
.zf-rail .zf-logo img { width: 72px; height: 72px; border: 1px solid #ffd2955c; box-shadow: 0 0 20px #eda33926,0 7px 15px #000a; }
.zf-rail .zf-logo b { display: inline; margin-left: 3px; color: #e7a363; }
.zf-rail .zf-logo small { margin-top: 8px; font-size: 8px; letter-spacing: 3px; color: #81989f; }
.zf-rail-label { display: flex; align-items: center; gap: 9px; padding: 0 9px; color: #af8356; font-size: 8px; margin: 20px 0 11px; letter-spacing: 2.5px; }
.zf-rail-label::after { content: ''; flex: 1; height: 1px; background: linear-gradient(90deg,#ab793b3b,transparent); }
.zf-rail-nav { gap: 5px; }
.zf-rail-nav a { position: relative; min-height: 43px; padding: 4px 10px; border-radius: 4px; border: 1px solid #ffffff05; background: linear-gradient(100deg,#070c1155,#20293322); box-shadow: inset 0 1px #ffffff04; font-size: 14px; color: #b5c0c7; transition: background .2s,border-color .2s,box-shadow .2s,color .2s; }
.zf-rail-nav a i { display: grid; place-items: center; width: 29px; height: 29px; flex: 0 0 29px; border: 1px solid #7797a21a; border-radius: 4px; background: linear-gradient(135deg,#18232a,#070e14); box-shadow: inset 0 1px #ffffff08,0 2px 3px #0006; color: #86a3ae; }
.zf-rail-nav a i svg { width: 18px; height: 18px; }
.zf-rail-nav a:hover { border-color: #75c7d14d; color: #eefafa; background: linear-gradient(90deg,#16404955,#15242b); box-shadow: inset 3px 0 #69b9c6,0 0 15px #2f8e9910; text-shadow: none; }
.zf-rail-nav a:hover i { color: #9cdee4; border-color: #6dc4d04d; box-shadow: inset 0 0 9px #54bacc16,0 0 10px #42b7c31a; }
.zf-rail-nav a[aria-current="page"] { border-color: #f1a35b63; background: linear-gradient(100deg,#653d1f80,#36251845); color: #ffc589; box-shadow: inset 3px 0 #ffb46b,inset 0 1px #ffc58b13,0 5px 15px #0006,0 0 18px #ff942c08; }
.zf-rail-nav a[aria-current="page"] i { color: #ffbd7a; border-color: #f7ab6252; background: linear-gradient(145deg,#5b3c25,#221a12); box-shadow: 0 0 12px #ee9a3620; }
.zf-rail-nav a[aria-current="page"]::after { content: ''; width: 4px; height: 4px; margin-left: auto; background: #ffc087; box-shadow: 0 0 7px #ffc087; transform: rotate(45deg); }
.zf-rail-submit { position: relative; margin-top: 22px; padding: 14px 8px; background: linear-gradient(120deg,#472c1b,#201913 60%,#4c321c); border-color: #c98b4b6b; border-radius: 4px; color: #edb77e!important; box-shadow: inset 0 1px #ffc58a25,0 5px 16px #0006; text-shadow: 0 0 12px #ff982833; }
.zf-rail-submit:hover { background: #52351d; border-color: #ffc180; }
.zf-rail-signature { margin-top: 20px; border-top: 1px solid #ffffff09; padding-top: 16px; color: #92a5ae; font-size: 8px; letter-spacing: 1.5px; }.zf-rail-signature small { color: #5c7079; }
.zf-rail-collapsed .zf-rail { padding-inline: 10px; }.zf-rail-collapsed .zf-rail .zf-logo { min-height: 66px; padding: 12px 0; margin: 0; background: none; border: 0; box-shadow: none; }.zf-rail-collapsed .zf-rail .zf-logo img { width: 38px; height: 38px; }.zf-rail-collapsed .zf-rail .zf-logo::before,.zf-rail-collapsed .zf-rail .zf-logo::after { display: none; }.zf-rail-collapsed .zf-rail-nav a[aria-current="page"]::after { display: none; }.zf-rail-collapsed .zf-rail-nav a { min-height: 45px; }
@keyframes zfRailOrbit { to { transform: rotate(360deg); } }
.zf-atmosphere-paused .zf-rail .zf-logo::before { animation-play-state: paused; }
@media(max-width:1100px) { :root { --zf-rail-width: 0px; }.zf-rail { width: 248px; } }
@media(prefers-reduced-motion:reduce) { .zf-rail .zf-logo::before { animation: none; } }
.zf-rail .zf-logo { justify-content: center; }
.zf-rail .zf-logo a { width: 100%; }
/* Bespoke physical console plate; border slicing keeps frame corners intact. */
.zf-rail { border: 1px solid #242d32; border-image-source: url('/images/zf-arsenal-panel.jpg'); border-image-slice: 120 95 185 fill; border-image-width: 38px 20px 55px; border-image-repeat: stretch; padding: 24px 22px 60px; background: #080b0e; }
.zf-rail .zf-logo { background: radial-gradient(ellipse at 50% 30%,#b17d2924,transparent 65%),linear-gradient(180deg,#05080ab0,#070b0ee8); border-color: #b8a47d27; box-shadow: inset 0 1px #bcb38a18,0 8px 22px #0008; }
.zf-rail-nav a { background: linear-gradient(100deg,#0b121bd9,#18212a9e); border-color: #ffffff09; }
.zf-rail-nav a:hover { background: linear-gradient(90deg,#133742eb,#14252de0); }
.zf-rail-nav a[aria-current="page"] { background: linear-gradient(100deg,#754323c9,#362318c4); }
.zf-rail-collapsed .zf-rail { border-image-width: 24px 8px 30px; padding: 18px 10px 38px; }
/* Custom inventory emblems, one transparent sprite request for the full set. */
.zf-item-art { display: inline-block; width: 40px; height: 40px; flex: 0 0 40px; background-image: url('/images/zf-arsenal-icons.png'); background-size: 400% 300%; background-repeat: no-repeat; vertical-align: middle; }
.zf-item-overview { --zf-icon-position: 0% 0%; }.zf-item-arsenal { --zf-icon-position: 33.3333% 0%; }.zf-item-perks { --zf-icon-position: 66.6667% 0%; }.zf-item-weapons { --zf-icon-position: 100% 0%; }
.zf-item-powerups { --zf-icon-position: 0% 50%; }.zf-item-scripts { --zf-icon-position: 33.3333% 50%; }.zf-item-assets { --zf-icon-position: 66.6667% 50%; }.zf-item-maps { --zf-icon-position: 100% 50%; }
.zf-item-forums { --zf-icon-position: 0% 100%; }.zf-item-bugs { --zf-icon-position: 33.3333% 100%; }.zf-item-help { --zf-icon-position: 66.6667% 100%; }.zf-item-submit { --zf-icon-position: 100% 100%; }
.zf-rail-nav a i.zf-item-art { width: 38px; height: 38px; flex-basis: 38px; border: 0; border-radius: 0; background-color: transparent; background-image: url('/images/zf-arsenal-icons.png'); background-size: 400% 300%; box-shadow: none; filter: brightness(.88) drop-shadow(0 2px 2px #000b); transition: filter .2s; }
.zf-rail-nav a { gap: 10px; min-height: 48px; padding: 3px 8px; }
.zf-rail-nav a:hover i.zf-item-art,.zf-rail-nav a[aria-current="page"] i.zf-item-art { filter: brightness(1.15) drop-shadow(0 0 5px #e4ad4a44); box-shadow: none; border: 0; }
.zf-rail-submit { gap: 8px; padding-block: 7px; }.zf-rail-submit i.zf-item-art { width: 34px; height: 34px; flex-basis: 34px; }
.zf-arsenal-types .zf-type-symbol.zf-item-art { width: 46px; height: 46px; flex-basis: 46px; filter: drop-shadow(0 3px 5px #0008); }
.zf-rail-collapsed .zf-rail-nav a { padding: 3px 0; }
@media(max-width:650px) { .zf-arsenal-types .zf-type-symbol.zf-item-art { width: 34px; height: 34px; flex-basis: 34px; } }

.zf-item-art { background-position: var(--zf-icon-position, 0% 0%)!important; }
/* Community hub: a full forum destination, using MyBB's native board renderer. */
.zf-forums .navigation { margin-bottom: 20px; color: #70828d; font-size: 12px; }
.zf-community-hub { max-width: 1600px; margin: auto; }
.zf-community-hero { position: relative; isolation: isolate; overflow: hidden; border: 1px solid #93cad028; border-radius: 10px; background: linear-gradient(90deg,#081219ed 0%,#081219b0 55%,#08121944),url('/images/zf-bunker-interior.jpg') center 50%/cover; box-shadow: 0 15px 40px #0006,inset 0 1px #b6e8f011; }
.zf-community-copy { position: relative; z-index: 2; padding: 46px 44px; }
.zf-community-copy .zf-eyebrow { color: #86c4ca; }
.zf-community-copy h1 { font: 900 clamp(30px,3.4vw,53px)/1.17 'Orbitron',sans-serif; letter-spacing: -1px; color: #eef4f0; margin: 0; }
.zf-community-copy h1 em { font-style: normal; color: #a4d6d6; }
.zf-community-copy>p:not(.zf-eyebrow) { font: 17px/1.6 'Rajdhani',sans-serif; color: #a5b7bf; margin: 20px 0 26px; }
.zf-community-light { position: absolute; inset: 0; z-index: -1; background: radial-gradient(ellipse at 90% 25%,#7ce8e422,transparent 55%); animation: zfForgeBreath 8s ease-in-out 2 alternate; pointer-events: none; }
.zf-community-radio { position: absolute; right: 7%; top: 18%; text-align: center; padding: 28px; border-radius: 50%; background: radial-gradient(ellipse,#5baabf20,transparent 65%); }
.zf-community-radio i { display: block; width: 180px; height: 180px; margin: auto; filter: drop-shadow(0 16px 20px #000b); }
.zf-community-radio span { display: block; margin-top: 14px; font: 8px 'Share Tech Mono',monospace; color: #95c1c6; letter-spacing: 2px; }
.zf-community-stats { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 18px 0 46px; border: 1px solid #ffffff13; border-radius: 6px; background: linear-gradient(130deg,#192129,#10151a); box-shadow: 0 9px 25px #0003; }
.zf-community-stats>div { display: flex; align-items: center; gap: 18px; padding: 22px 26px; border-right: 1px solid #ffffff0d; }
.zf-community-stats>div:last-child { border-right: 0; }
.zf-community-stats b { display: block; color: #e0ecec; font: 700 24px 'Orbitron',sans-serif; }
.zf-community-stats small { display: block; color: #8b9ca6; font: 13px 'Rajdhani',sans-serif; margin-top: 7px; }
.zf-community-stats .zf-newest-member small { margin: 0 0 8px; }.zf-community-stats .zf-newest-member b { font: 700 18px 'Rajdhani',sans-serif; overflow-wrap: anywhere; }
.zf-community-grid { display: grid; grid-template-columns: minmax(0,1fr) 280px; gap: 28px; align-items: start; }
.zf-community-boards { min-width: 0; scroll-margin-top: 100px; }
.zf-community-boards .zf-release-heading { margin-bottom: 24px; }.zf-community-boards .zf-release-heading h2 { font-size: 25px; }
.zf-native-forums .tborder { width: 100%; table-layout: fixed; border: 1px solid #4f737746; border-radius: 8px; background: #101820; overflow: hidden; border-spacing: 0; box-shadow: 0 10px 24px #0004; }
.zf-native-forums .thead { background: linear-gradient(100deg,#21353e,#142029 70%); color: #d0e7e8; border-bottom: 1px solid #81c2c146; font: 700 17px 'Rajdhani',sans-serif; letter-spacing: 1px; padding: 19px 20px; }
.zf-native-forums .thead a { color: #d4e8e9!important; }.zf-native-forums .thead .smalltext { font-size: 12px; color: #8ba2ae; font-weight: 500; letter-spacing: 0; margin-top: 6px; }
.zf-native-forums .tcat { background: #0b1219; color: #81959f; font: 10px 'Share Tech Mono',monospace; letter-spacing: 1px; padding: 10px; border: 0; }
.zf-native-forums .trow1,.zf-native-forums .trow2 { background: linear-gradient(120deg,#17232c,#101a22); padding: 22px 12px; border: 0; border-bottom: 1px solid #ffffff0a; color: #9cabb4; font: 14px 'Rajdhani',sans-serif; overflow-wrap: anywhere; }
.zf-native-forums tr:hover .trow1,.zf-native-forums tr:hover .trow2 { background: #1a2b35; }
.zf-native-forums .trow1 strong>a,.zf-native-forums .trow2 strong>a { color: #e6eae8!important; font: 700 18px 'Rajdhani',sans-serif; }
.zf-native-forums .smalltext { font: 12px/1.6 'Rajdhani',sans-serif; color: #859aa6; }
.zf-native-forums .forum_status { filter: sepia(.3) drop-shadow(0 0 8px #68d5df30); }
.zf-native-forums .expcolimage { margin-top: 3px; }
.zf-community-note { padding: 28px; border: 1px solid #ca945d32; border-radius: 7px; background: radial-gradient(ellipse at 100% 0,#a15f2030,transparent 65%),linear-gradient(130deg,#1c2228,#10171d); box-shadow: 0 9px 30px #0004; }
.zf-community-note>i { width: 66px; height: 66px; margin-bottom: 20px; }
.zf-community-note .zf-eyebrow { font-size: 8px; letter-spacing: 1.3px; color: #cca575; margin-bottom: 12px; }
.zf-community-note h2 { margin: 0; font: 700 20px 'Orbitron',sans-serif; color: #ecdfce; }
.zf-community-note>p:not(.zf-eyebrow) { font: 15px/1.7 'Rajdhani',sans-serif; color: #a0aab1; margin: 18px 0; }
.zf-community-note a { font: 700 13px 'Rajdhani',sans-serif; color: #dfb888!important; }
.zf-community-shortcuts { margin-top: 15px; border: 1px solid #ffffff13; border-radius: 6px; background: #131b22; }
.zf-community-shortcuts a { display: flex; align-items: center; gap: 12px; padding: 18px; color: #c6d4da!important; font: 700 15px 'Rajdhani',sans-serif; }.zf-community-shortcuts a+a { border-top: 1px solid #ffffff10; }.zf-community-shortcuts small { display: block; color: #7e929f; font: 12px 'Rajdhani',sans-serif; margin-top: 5px; }
.zf-community-record { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; padding: 20px 24px; margin-top: 32px; border: 1px solid #ffffff0e; border-radius: 5px; background: #10171d; }.zf-community-record>span { color: #7799a3; font: 9px 'Share Tech Mono',monospace; letter-spacing: 2px; }.zf-community-record p { color: #9aadb7; font: 14px 'Rajdhani',sans-serif; margin: 0; }
@media(max-width:1350px) { .zf-community-radio { right: 2%; }.zf-community-radio i { width: 125px; height: 125px; }.zf-community-radio span { display: none; }.zf-community-grid { grid-template-columns: minmax(0,1fr); }.zf-community-aside { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }.zf-community-shortcuts { margin-top: 0; align-self: start; } }
@media(max-width:750px) { .zf-community-radio { display: none; }.zf-community-copy { padding: 34px 26px; }.zf-community-stats { grid-template-columns: repeat(2,minmax(0,1fr)); margin-bottom: 32px; }.zf-community-stats>div { padding: 20px 15px; gap: 10px; border-bottom: 1px solid #ffffff0d; }.zf-community-stats b { font-size: 20px; }.zf-community-stats .zf-item-art { width: 32px; height: 32px; flex-basis: 32px; }.zf-community-aside { grid-template-columns: 1fr; }.zf-community-boards .zf-release-heading { flex-direction: column; align-items: start; }.zf-native-forums .tborder { table-layout: auto; }.zf-native-forums .tcat:nth-last-child(2),.zf-native-forums .tcat:nth-last-child(3),.zf-native-forums td.trow1:nth-last-child(2),.zf-native-forums td.trow1:nth-last-child(3),.zf-native-forums td.trow2:nth-last-child(2),.zf-native-forums td.trow2:nth-last-child(3) { display: none; }.zf-native-forums .trow1,.zf-native-forums .trow2 { padding: 16px 8px; }.zf-native-forums td:last-child { max-width: 105px; }.zf-community-record { gap: 12px; }.zf-community-copy>p:not(.zf-eyebrow) { font-size: 16px; } }
@media(prefers-reduced-motion:reduce) { .zf-community-light { animation: none; } }
/* Override legacy global table rules without altering MyBB's semantics. */
.zf-native-forums .tborder { table-layout: auto; }
.zf-native-forums .thead { background: linear-gradient(100deg,#21353e,#142029 70%)!important; border-bottom: 1px solid #81c2c146!important; font-family: 'Rajdhani',sans-serif!important; }
.zf-native-forums .trow1,.zf-native-forums .trow2 { background: linear-gradient(120deg,#17232c,#101a22)!important; }
.zf-native-forums td:first-child:not([colspan]) { width: 56px; }
.zf-native-forums .forum_status { display: inline-block; width: 38px; height: 38px; background: url('/images/zf-arsenal-icons.png') 0% 100% / 400% 300% no-repeat; }
.zf-native-forums .forum_off { filter: grayscale(.7) brightness(.8); }.zf-native-forums .forum_on { filter: drop-shadow(0 0 7px #7fe5e566); }
.zf-native-forums .forum_offlock { filter: grayscale(1); opacity: .55; }
.zf-community-hub .zf-action-quiet,.zf-community-hub .zf-text-link { color: #b9d4d8!important; }

/* Forge 11: community interiors. Native MyBB actions and permission checks remain intact. */
.zf-forum-page { color:#c4d1d7!important; color-scheme:dark; }
.zf-forum-page #container { font:15px/1.6 Arial,sans-serif; }
.zf-forum-page #container a { color:#83d5dc; }
.zf-forum-page #container a:hover { color:#fff; }
.zf-forum-page .navigation { margin:0 0 22px; padding:12px 16px; border-left:2px solid #cc8241; background:#101c22; color:#b8cbd3; font-size:13px; }
.zf-forum-page .navigation .active { color:#e4eef2; }
.zf-forum-masthead { isolation:isolate; position:relative; display:flex; align-items:center; justify-content:space-between; min-height:244px; padding:36px 42px; margin:0 0 28px; overflow:hidden; border:1px solid #45525a; border-bottom:3px solid #be783a; background:linear-gradient(90deg,#0c191fee 15%,#101c22bd 65%,#101c2255),url('/images/zf-bunker-interior.jpg') center 48%/cover; box-shadow:inset 0 1px #ffffff18,0 18px 50px #0006; }
.zf-forum-masthead::after { content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(115deg,transparent 40%,#82dce916 50%,transparent 60%); transform:translateX(-100%); animation:zf-forum-sweep 1.5s ease-out .15s both; pointer-events:none; }
.zf-forum-masthead-copy { min-width:0; max-width:80%; }
.zf-forum-page #container .zf-forum-back { display:inline-block; font:12px 'Share Tech Mono',monospace; color:#b4c9d2; border-bottom:1px solid #47616b; padding-bottom:4px; }
.zf-forum-kicker { font:15px Rajdhani,sans-serif; color:#e8ae72; margin:24px 0 8px; letter-spacing:.06em; }
.zf-forum-masthead h1 { color:#f0f5f5; font:700 clamp(24px,3vw,44px)/1.2 Orbitron,sans-serif; margin:0 0 14px; overflow-wrap:anywhere; text-shadow:0 3px 16px #000; }
.zf-forum-masthead p:last-child { color:#b9ccd4; font-size:14px; margin:0; }
.zf-signal-emblem { position:relative; flex:0 0 146px; height:146px; border:1px solid #6caeb04d; border-radius:50%; background:radial-gradient(circle,#5cccc229,transparent 65%); box-shadow:0 0 50px #66beb914,inset 0 0 22px #6ab7b314; }
.zf-signal-emblem::before,.zf-signal-emblem::after { content:''; position:absolute; inset:9px; border:2px solid transparent; border-top-color:#b67d49; border-bottom-color:#67afb4; border-radius:50%; transform:rotate(-28deg); }
.zf-signal-emblem::after { inset:-10px; border-width:1px; border-color:#719a9e30; }
.zf-signal-emblem .zf-item-art { position:absolute; inset:20px; width:106px; height:106px; --zf-icon-position:0% 100%; filter:drop-shadow(0 5px 10px #000); }
.zf-forum-page #container .tborder { border:1px solid #344550!important; border-radius:6px; border-spacing:0; background:#101b22; box-shadow:0 10px 28px #0005,inset 0 1px #ffffff0a; overflow:hidden; margin-top:14px; margin-bottom:24px; }
.zf-forum-page #container .thead { background:linear-gradient(110deg,#22333f,#15232d 65%,#283029)!important; border-bottom:2px solid #b7773d!important; color:#edf4f6!important; padding:22px!important; font:600 16px/1.5 Orbitron,sans-serif!important; letter-spacing:.035em; }
.zf-forum-page #container .thead .smalltext { font:12px/1.6 Arial,sans-serif!important; letter-spacing:0; }
.zf-forum-page #container .tcat { background:#111e26!important; color:#9cb9c5!important; padding:13px 18px!important; border-bottom:1px solid #30424d!important; font:600 12px/1.5 Arial,sans-serif!important; letter-spacing:.03em; }
.zf-forum-page #container :is(.trow1,.trow2,.trow_shaded) { background:#121e27!important; color:#c6d5dc!important; border:0; border-bottom:1px solid #293942; padding:18px; }
.zf-forum-page #container .trow2 { background:#14212b!important; }
.zf-forum-page #container .tfoot { background:#17262e!important; color:#c4d4dc!important; border:0!important; border-top:1px solid #384a53!important; padding:17px!important; }
.zf-forum-page #container .smalltext { color:#b0c3cc; font-size:12px; line-height:1.65; }
.zf-forum-page #container :is(input.textbox,input[type=text],input[type=number],input[type=password],input[type=email],textarea,select) { box-sizing:border-box; max-width:100%; background:#09131a; color:#e4eef2; border:1px solid #405865; border-radius:4px; padding:10px 12px; font:14px/1.5 Arial,sans-serif; box-shadow:inset 0 2px 8px #0005; }
.zf-forum-page #container textarea { min-height:170px; }
.zf-forum-page #container :is(input,textarea,select):focus { outline:2px solid #70d0d6; outline-offset:2px; border-color:#70d0d6; }
.zf-forum-page #container input:is([type=checkbox],[type=radio]) { accent-color:#70cbd0; width:16px; height:16px; vertical-align:middle; }
.zf-forum-page #container :is(a.button,input.button,button.button,input[type=submit],.postbit_buttons>a,.pagination a,.pagination_current) { box-sizing:border-box; background:linear-gradient(#304754,#1b2c36); color:#e8f2f6!important; border:1px solid #597583; border-radius:4px; padding:10px 16px; font:700 14px/1.3 Rajdhani,Arial,sans-serif; text-shadow:none; box-shadow:inset 0 1px #ffffff14,0 3px 8px #0005; transition:background .18s,box-shadow .18s,border-color .18s; cursor:pointer; }
.zf-forum-page #container :is(a.button,input.button,button.button,input[type=submit],.postbit_buttons>a):hover { border-color:#84d5dc; background:linear-gradient(#365967,#25414d); box-shadow:0 0 18px #60c6cf22,inset 0 1px #ffffff22; }
.zf-forum-page #container :is(.new_thread_button,.new_reply_button,input[name=submit]) { background:linear-gradient(#b7773f,#75441f); border-color:#dfaa72; color:#fff4e7!important; padding:12px 22px; }
.zf-forum-page #container .button span { background-image:none!important; padding:0!important; }
.zf-board #container .subject_new,.zf-board #container .subject_old { font:600 18px/1.5 Rajdhani,sans-serif; }
.zf-board #container tr:hover>.trow1,.zf-board #container tr:hover>.trow2 { background:#1a2d36!important; }
.zf-board #container .thread_legend { color:#a6bdc9; }
.zf-forum-page #container .float_right { max-width:100%; }
/* Posts: metal author strip, generous reading surface, restrained actions. */
.zf-thread #posts_container { padding:0; background:#0c171e; }
.zf-forum-page .post { margin:0 0 18px; background:#122029; border:0; border-bottom:1px solid #3b515d; }
.zf-forum-page .post .post_author,.zf-forum-page .post.classic .post_author { background:linear-gradient(105deg,#22353e,#15252e)!important; color:#d8e3e8; border:0; border-bottom:1px solid #3a505a; padding:22px; }
.zf-forum-page .post .post_author .author_avatar img { border:1px solid #75949d; background:#1e323c; border-radius:6px; padding:4px; box-shadow:0 4px 15px #0006; }
.zf-forum-page .post .post_author .author_information { font:14px/1.5 Rajdhani,Arial,sans-serif; }
.zf-forum-page .post .post_author .author_information strong { font-size:22px; }
.zf-forum-page .post .post_author .author_statistics { color:#b1c7d0; font:12px/1.6 Arial,sans-serif; }
.zf-forum-page .post .post_content,.zf-forum-page .post.classic .post_content { background:#101c24; color:#dce6eb; padding:22px 28px; }
.zf-forum-page .post .post_head { border-bottom:1px solid #30424b; color:#9eb9c6; padding-bottom:12px; margin-bottom:18px; font:12px/1.5 Arial,sans-serif; }
.zf-forum-page .post .post_body { font:16px/1.85 Arial,sans-serif; min-height:110px; overflow-wrap:anywhere; }
.zf-forum-page .post_body img { max-width:100%; height:auto; }
.zf-forum-page .post_controls { background:#172831; border:0; border-top:1px solid #30434e; padding:12px 20px; }
.zf-forum-page .postbit_buttons>a { margin:3px; font-size:13px!important; padding:7px 12px!important; }
.zf-forum-page .postbit_buttons>a span { background:none!important; padding:0!important; }
.zf-forum-page .post :is(.post_meta,.post_edit,.post_signature) { color:#9bb3bf; }
.zf-forum-page blockquote { background:#172b35; border:1px solid #365361; border-left:3px solid #80cbd1; color:#d6e4eb; padding:16px; }
.zf-forum-page .codeblock { background:#08141b; border:1px solid #365361; padding:16px; color:#d7e7da; }
/* Composer including the SCEditor chrome; iframe content has its own stylesheet. */
.zf-compose form[name=input]>.tborder>tbody>tr>td:first-child { width:185px; }
.zf-compose #container input[name=subject] { width:100%; max-width:850px; font-size:18px; padding:14px; }
.zf-compose #container form[name=input] .tborder td { vertical-align:top; }
.zf-compose #container #clickable_smilies { width:100%; max-width:170px; box-shadow:none; margin:20px 0 0; }
.zf-compose #container #clickable_smilies td { padding:5px; }
.zf-compose #container #clickable_smilies .thead { padding:10px!important; font-size:11px!important; }
.zf-forum-page div.sceditor-container { box-sizing:border-box; max-width:100%; background:#0b1419!important; border:1px solid #48616e!important; border-radius:5px; box-shadow:0 0 0 4px #78bac208,0 10px 25px #0003; }
.zf-forum-page div.sceditor-toolbar { background:linear-gradient(#2a3c47,#1a2c36)!important; border-bottom:1px solid #4c6672!important; padding:8px; }
.zf-forum-page div.sceditor-group { background:#c5d4d8; border:1px solid #8fa6b0; border-radius:3px; margin:3px; box-shadow:none; }
.zf-forum-page .sceditor-container iframe { background:#0b1419!important; }
.zf-forum-page .sceditor-container textarea { background:#0b1419!important; color:#e0e9ed!important; font:15px/1.7 Consolas,monospace!important; }
.zf-forum-page .sceditor-container.sceditor-maximize { z-index:10000!important; }
.zf-forum-page #container :is(.error,.red_alert) { background:#38231f; color:#f4d2c7; border:1px solid #b97760; padding:16px; }
@keyframes zf-forum-sweep { to { transform:translateX(100%); } }
/* Native server-confirmed redirects: animated radio uplink, with immediate escape. */
body.zf-transmission-page { min-height:100vh; margin:0; display:grid; place-items:center; background:radial-gradient(ellipse at 50% 40%,#193039da,#071117f5 70%),url('/images/zf-bunker-interior.jpg') center/cover fixed!important; color:#d7e7ed; }
.zf-transmission { width:min(680px,calc(100% - 40px)); text-align:center; padding:45px 0; }
.zf-transmission-device { position:relative; width:210px; height:210px; margin:0 auto 38px; }
.zf-transmission-device .zf-item-art { position:absolute; inset:43px; width:124px; height:124px; --zf-icon-position:0% 100%; filter:drop-shadow(0 0 20px #7bd6d880); }
.zf-transmission-device>span { position:absolute; inset:30px; border:1px solid #7bd6d8; border-radius:50%; animation:zf-signal-out 2s ease-out infinite; }
.zf-transmission-device>span:nth-child(2) { animation-delay:.65s; }
.zf-transmission-device>span:nth-child(3) { animation-delay:1.3s; }
.zf-transmission-brand { color:#ddaa72; font:14px Rajdhani,sans-serif; letter-spacing:.1em; }
.zf-transmission h1 { font:700 clamp(25px,5vw,40px)/1.25 Orbitron,sans-serif; color:#f0f7f7; margin:18px 0; }
.zf-transmission-message { font:18px/1.7 Rajdhani,Arial,sans-serif; color:#c4dce6; }
.zf-transmission-track { width:240px; max-width:90%; height:3px; background:#2e424b; margin:28px auto; overflow:hidden; }
.zf-transmission-track span { display:block; height:100%; background:#80d8d8; box-shadow:0 0 15px #80d8d8; transform-origin:left; animation:zf-transmit-progress 3s linear both; }
.zf-transmission-continue { display:inline-block; color:#bde7e9!important; border:1px solid #506e78; padding:12px 22px; border-radius:4px; background:#19313d; font:16px Rajdhani,sans-serif; }
@keyframes zf-signal-out { from { transform:scale(.7); opacity:0; } 20% { opacity:.8; } to { transform:scale(1.5); opacity:0; } }
@keyframes zf-transmit-progress { from { transform:scaleX(0); } to { transform:scaleX(1); } }
@media(max-width:700px) {
 .zf-forum-masthead { min-height:200px; padding:25px 22px; }
 .zf-forum-masthead-copy { max-width:100%; }
 .zf-signal-emblem { display:none; }
 .zf-forum-page #container .thead { padding:16px!important; font-size:13px!important; }
 .zf-forum-page #container :is(.trow1,.trow2,.tfoot) { padding:12px!important; }
 .zf-forum-page #container .thead .float_right { float:none; margin-bottom:10px; }
 .zf-compose form[name=input]>.tborder>tbody>tr>td { display:block; width:auto!important; }
 .zf-compose form[name=input]>.tborder>tbody>tr>td[colspan] { width:auto; }
 .zf-compose #container #clickable_smilies { display:none; }
 .zf-forum-page .post .post_author { padding:16px; }
 .zf-forum-page .post .post_content { padding:18px; }
 .zf-forum-page .post .post_author .author_statistics { float:none; clear:both; padding-top:10px; }
 .zf-forum-page #container .float_right,.zf-forum-page #container .float_left { float:none; margin:10px 0; }
 .zf-forum-page .post_controls .float_right,.zf-forum-page .post_controls .float_left { display:inline; }
 .zf-forum-page #quickreply_e>tr>td { display:block; width:auto!important; }
 .zf-board #container .tborder { display:block; overflow-x:auto; }
 .zf-board #container .tborder>tbody { min-width:540px; display:table; width:100%; }
 .zf-forum-page .post.classic .post_author,.zf-forum-page .post.classic .post_content { width:auto; float:none; border:0; }
}
@media(prefers-reduced-motion:reduce) { .zf-forum-masthead::after,.zf-transmission-device>span,.zf-transmission-track span { animation:none!important; } }
.zf-atmosphere-paused .zf-forum-masthead::after { animation:none!important; }
.zf-forum-page #container,.zf-forum-page #container .inline_rating,.zf-forum-page .post .post_date,.zf-forum-page .post .post_date>span { color:#b8cbd5; }
.zf-thread #posts_container .post_controls a[style*="display: none"] { display:none; }
.zf-forum-page .sceditor-container:focus-within { border-color:#7ad1d7!important; box-shadow:0 0 0 3px #6acdd317,0 12px 35px #0005; }
.zf-forum-page .post:target { animation:zf-post-arrive 1.2s ease-out; }
@keyframes zf-post-arrive { from { box-shadow:inset 4px 0 #9bdfe1,0 0 35px #76cdd34d; } to { box-shadow:inset 0 0 transparent,0 0 transparent; } }
@media(max-width:700px) {
 .zf-board #container .tborder:has(select[name=sortby]) { overflow:visible; }
 .zf-board #container .tborder:has(select[name=sortby])>tbody { display:block; min-width:0; }
 .zf-board #container .tborder:has(select[name=sortby])>tbody>tr { display:block; }
 .zf-board #container .tborder:has(select[name=sortby])>tbody>tr>td { display:block; width:auto; }
 .zf-board #container .tborder:has(select[name=sortby]) tr:has(>.tcat) { display:none; }
 .zf-board #container .tborder:has(select[name=sortby]) tr.inline_row { display:grid; grid-template-columns:1fr 1fr; padding:10px; border-bottom:1px solid #405661; }
 .zf-board #container .tborder tr.inline_row>td:nth-child(-n+2) { display:none; }
 .zf-board #container .tborder tr.inline_row>td:nth-child(3) { grid-column:1/-1; }
 .zf-board #container .tborder tr.inline_row>td:nth-child(4)::before { content:'Replies: '; color:#a6bdc8; }
 .zf-board #container .tborder tr.inline_row>td:nth-child(5)::before { content:'Views: '; color:#a6bdc8; }
 .zf-board #container .tborder tr.inline_row>td:nth-child(n+6) { grid-column:1/-1; text-align:left; }
 .zf-board #container .tborder tr.inline_row>td[id^=rating_table] { display:none; }
 .zf-board #container .tfoot form { display:grid; gap:8px; }
 .zf-board #container .tfoot select { width:100%; }
}
@media(prefers-reduced-motion:reduce) { .zf-forum-page .post:target { animation:none; } }

/* Forge 12 — one physical workshop, from the arsenal to the community. */
:root { --zf-steel:#151a21; --zf-steel-raised:#313b49; --zf-brass:#f47d25; --zf-lit-brass:#ffad57; --zf-reactor:#3eeaff; }
body:has(.zf-shell-header) { background:radial-gradient(ellipse at 88% 0,#087b9c22,transparent 48%),radial-gradient(ellipse at 20% 65%,#f0641814,transparent 55%),#080b10!important; }
body:has(.zf-shell-header) #container { padding:30px 34px 45px; }
/* Raised controls sit inside a machined console, rather than floating as text. */
.zf-commandbar { height:88px; border-bottom:3px solid #080b0c; background:linear-gradient(180deg,#4853653b 0,#181f29e8 15%,#0c121ced 80%,#374350 81%,#202c39 89%,#05090f 92%); box-shadow:0 8px 22px #0009,inset 0 1px #96d8ff2b; padding:0 26px; gap:20px; }
.zf-commandbar::after { content:''; position:absolute; left:22px; right:22px; bottom:4px; height:1px; background:linear-gradient(90deg,#ff7b1955,transparent 33%,#36dfff33,transparent 75%,#ff7b1955); pointer-events:none; }
body:has(.zf-shell-header) #container { margin-top:88px; }
.zf-command-title { color:#c8e7f5; font-size:12px; letter-spacing:2px; text-shadow:0 2px #000; }
.zf-shell-search { background:#080e10; border:1px solid #3d5367; border-radius:4px; box-shadow:inset 0 2px 7px #000c,0 1px #6eafcd22; padding:7px 12px; }
.zf-commandbar .zf-user-hud { gap:8px; padding:7px 10px; border:1px solid #3c546b; border-top-color:#527894; background:linear-gradient(130deg,#253e5380,#080e19b3); border-radius:5px; box-shadow:0 5px 14px #000a,inset 0 1px #7ccfff1f; }
.zf-commandbar :is(.zf-user-chip,.zf-user-badge,.zf-audio-pill,.zf-console-admin a,.zf-user-logout) { position:relative; min-height:44px; box-sizing:border-box; border:1px solid #476d87; border-bottom:3px solid #050a0b; border-radius:4px; background:linear-gradient(150deg,#334e67,#192e42 45%,#101a29); box-shadow:inset 0 1px #a2d9ff38,inset 1px 0 #a0e4ff1c,0 3px 5px #0009; color:#d6efff!important; padding:8px 12px; transition:filter .2s,box-shadow .2s,transform .2s; }
.zf-commandbar :is(.zf-user-chip,.zf-audio-pill,.zf-console-admin a,.zf-user-logout):hover,.zf-commandbar #zf-pm-btn[aria-expanded=true] { background:linear-gradient(150deg,#245e79,#123b54); border-color:#35ddff; border-bottom-color:#071e32; box-shadow:inset 0 1px #8cefff4d,0 0 17px #00cfff2b,0 3px 5px #0009; color:#fff!important; }
.zf-commandbar :is(.zf-user-chip,.zf-audio-pill,.zf-console-admin a,.zf-user-logout):active { transform:translateY(2px); box-shadow:inset 0 2px 5px #0009; }
.zf-commandbar .zf-user-badge { background:linear-gradient(140deg,#954017,#48251a 70%,#191a24); border-color:#ff8a31; border-bottom-color:#151712; padding-left:7px; gap:7px; }
.zf-commandbar .zf-user-name { color:#ffb970!important; font-size:13px; text-shadow:0 1px 2px #000; }
.zf-operator-seal { width:31px; height:31px; display:grid; place-items:center; border-radius:50%; border:1px solid #ff9b40; background:#0b1111; box-shadow:inset 0 0 8px #000,0 0 8px #ff79212b; }
.zf-operator-seal .zf-item-art { width:32px; height:32px; }
.zf-commandbar .zf-user-dot { width:5px; height:5px; position:absolute; right:5px; top:5px; }
.zf-commandbar .zf-user-chip { font-size:12px; gap:7px; }
.zf-commandbar .zf-user-chip .zf-item-art { display:inline-block; width:27px; height:27px; flex:none; filter:drop-shadow(0 2px 2px #000); }
.zf-commandbar .zf-pm-counter { color:#69f3ff; background:#061721; box-shadow:inset 0 1px 4px #000,0 0 7px #00d9ff20; border:1px solid #277a9a; border-radius:3px; }
.zf-console-admin:empty { display:none; }
.zf-console-admin a { display:inline-flex; align-items:center; font:700 12px Rajdhani,sans-serif; white-space:nowrap; text-decoration:none; }
.zf-console-admin a::before { content:''; width:20px; height:24px; margin-right:7px; background:url('/images/zf-arsenal-icons.png') 33.333% 33.333%/400% 300%; }
.zf-commandbar .zf-user-logout { width:44px; display:grid; place-items:center; border-color:#974351; border-bottom-color:#160e0b; border-radius:50%; color:#ff5266!important; background:radial-gradient(circle at 35% 20%,#6d273a,#281221 58%,#131718); }
.zf-commandbar .zf-audio-pill { font-size:8px; }
.zf-commandbar #zf-menu-toggle { background:linear-gradient(#364858,#111e2c); border:1px solid #4c7895; box-shadow:inset 0 1px #9bcced33,0 3px 5px #0009; }
.zf-pm-dropdown { background:linear-gradient(145deg,#1f3248,#0a1524); border:1px solid #37b8dc; box-shadow:0 22px 55px #000c,inset 0 1px #9cedff2b; }
.zf-pm-header { background:#0b1727; border-bottom-color:#287c9a; }
/* The overview is a workbench: deep scene, metal frame, illuminated display cases. */
.zf-home .zf-forge-hero { min-height:625px; border-radius:3px; border:8px solid #202933; border-top-color:#526b80; border-bottom-color:#080d15; outline:1px solid #409bcc4d; box-shadow:0 25px 60px #000c,0 2px #56deff44,inset 0 0 90px #000; overflow:hidden; }
.zf-home .zf-forge-art { background:linear-gradient(90deg,#081011b3,transparent 65%),linear-gradient(0deg,#080e10cc,transparent 40%),url('/images/zf-workshop-hero.jpg') center 54%/cover; }
.zf-home .zf-forge-hero::after { display:block; content:''; position:absolute; inset:0; pointer-events:none; z-index:3; border:1px solid #8edbff33; box-shadow:inset 0 0 0 7px #0003,inset 0 0 30px #0008; background:radial-gradient(circle at 14px 14px,#8faabd 0 2px,#131a23 3px 5px,transparent 6px),radial-gradient(circle at calc(100% - 14px) 14px,#8faabd 0 2px,#131a23 3px 5px,transparent 6px); }
.zf-home .zf-forge-hero-copy { padding:78px 52px 125px; max-width:60%; }
.zf-home #zf-home-title { font-size:clamp(32px,3.3vw,60px); line-height:1.2; letter-spacing:-1.5px; text-shadow:0 3px #0008,0 10px 25px #000; }
.zf-home #zf-home-title em { color:#ff982f; text-shadow:0 2px #562306,0 0 40px #ff6b0022; }
.zf-home .zf-forge-intro { color:#d0e2ed; font-size:19px; }
.zf-home .zf-forge-haze { background:radial-gradient(ellipse at 75% 40%,#19deff24,transparent 44%),radial-gradient(ellipse at 0 100%,#ff660020,transparent 50%); }
.zf-home .zf-hero-foot { padding:16px 25px; background:linear-gradient(#243646d9,#0b1521e6); border-top:1px solid #20b6de3b; color:#a9c6d8; bottom:0; }
.zf-home .zf-hero-stamp { bottom:75px; right:36px; font-size:46px; color:#9ceeff67; text-shadow:0 3px 5px #000; }
.zf-home .zf-hero-stamp span { color:#ffac64; font-size:10px; letter-spacing:2px; }
.zf-home .zf-hero-stamp small { display:block; color:#b2ddeb; font:8px 'Share Tech Mono',monospace; letter-spacing:1px; }
.zf-home .zf-eyebrow { color:#ffad65; }
.zf-action-solid,.zf-account-register { background:linear-gradient(135deg,#ffb64b,#f16b0e)!important; border:1px solid #ffca74; border-bottom:4px solid #802c07; box-shadow:inset 0 1px #ffe0a080,0 5px 0 #080d0b,0 10px 22px #0008; border-radius:3px; color:#241107!important; }
.zf-action-solid:hover { box-shadow:inset 0 1px #ffe0a080,0 5px 0 #080d0b,0 10px 28px #ff6d0044; }
.zf-home .zf-arsenal-types { position:relative; z-index:4; margin:-26px 24px 52px; gap:18px; }
.zf-home .zf-arsenal-types a { position:relative; flex-direction:column; justify-content:flex-end; align-items:flex-start; min-height:228px; padding:22px; overflow:hidden; border:1px solid #3d758e; border-bottom:5px solid #07101a; border-radius:3px; background:radial-gradient(ellipse at 75% 25%,#00db7225,transparent 65%),linear-gradient(120deg,#244a3a,#12271f 55%,#0b151c); box-shadow:inset 0 1px #98f6ce4d,inset 0 0 0 5px #0003,0 12px 25px #0009; transition:transform .25s,box-shadow .25s; }
.zf-home .zf-arsenal-types a::before { content:''; position:absolute; width:130px; height:35px; right:4px; top:110px; border-radius:50%; background:radial-gradient(ellipse,#30eaaa66,#0000 68%); transform:rotate(-10deg); }
.zf-home .zf-arsenal-types a::after { content:''; position:absolute; top:12px; left:12px; right:12px; height:2px; background:linear-gradient(90deg,#33f2bd88,#00e7a266,transparent); box-shadow:0 0 14px #00ffa833; }
.zf-home .zf-arsenal-types a:nth-child(2) { background:radial-gradient(ellipse at 75% 25%,#ff74172b,transparent 65%),linear-gradient(120deg,#512b1e,#2b1a18 55%,#11121b); }
.zf-home .zf-arsenal-types a:nth-child(3) { background:radial-gradient(ellipse at 75% 25%,#15cbff2b,transparent 65%),linear-gradient(120deg,#153f5d,#112139 55%,#0a1220); }
.zf-home .zf-arsenal-types a:nth-child(4) { background:radial-gradient(ellipse at 75% 25%,#af49ff33,transparent 65%),linear-gradient(120deg,#3d255b,#221b39 55%,#101020); }
.zf-home .zf-arsenal-types .zf-type-symbol { display:block; position:absolute; right:12px; top:10px; width:122px; height:122px; filter:drop-shadow(-8px 10px 7px #000a); transition:transform .3s; }
.zf-home .zf-arsenal-types b { font:700 21px Rajdhani,sans-serif; color:#f3f7ff; text-shadow:0 2px #0008; }
.zf-home .zf-arsenal-types small { color:#c2d4e5; font-size:13px; }
.zf-home .zf-arsenal-types a>span:nth-child(2) { position:relative; z-index:1; }
.zf-home .zf-arsenal-types a>i { position:absolute; left:22px; top:27px; color:#6bdded; }
.zf-home .zf-arsenal-types a:hover { transform:translateY(-5px); box-shadow:inset 0 1px #b9f8ff66,0 18px 26px #000a,0 0 20px #08cfff14; }
.zf-home .zf-arsenal-types a:hover .zf-type-symbol { transform:translateY(-5px) rotate(-4deg); }
.zf-home-community { display:grid; grid-template-columns:155px 1fr auto; gap:36px; align-items:center; padding:28px 38px; margin:0 0 64px; border-top:1px solid #ff8122; border-bottom:1px solid #465469; background:radial-gradient(ellipse at 10% 100%,#00cfff24,transparent 50%),linear-gradient(90deg,#1c3446,#101b2a 75%,#39221c); box-shadow:0 10px 25px #0005,inset 0 3px #ff8b2e16; }
.zf-home-community h2 { margin:0 0 12px; color:#f3f6ff; font:700 26px/1.35 Orbitron,sans-serif; }
.zf-home-community p:not(.zf-eyebrow) { color:#bbd0e0; font:16px/1.6 Rajdhani,sans-serif; margin:0; }
.zf-home-community .zf-eyebrow { margin-bottom:12px; }
.zf-community-beacon { position:relative; width:150px; height:150px; border-radius:50%; border:1px solid #15dcff66; box-shadow:inset 0 0 30px #00cbff22,0 0 25px #00bdff16; background:#0b1726; }
.zf-community-beacon .zf-item-art { position:absolute; width:125px; height:125px; inset:12px; filter:drop-shadow(0 6px 9px #000); }
.zf-community-beacon>span { position:absolute; inset:-8px; border:1px dashed #60ddff55; border-radius:50%; }
.zf-home .zf-mod-card,.zf-workbench-band,.zf-community-note,.zf-community-shortcuts,.zf-community-stats { border-color:#3d5369; background:linear-gradient(135deg,#243348,#121d2d); box-shadow:inset 0 1px #8dcaee2b,0 12px 24px #0008; border-radius:3px; }
.zf-home .zf-mod-card { border:1px solid #3d5369; border-bottom:4px solid #070d17; }
.zf-home .zf-card-media { padding:7px; border-bottom:1px solid #377b9f54; background:#070e18; height:220px; }
.zf-home .zf-card-media img { filter:saturate(.9); border-radius:0; }
.zf-home .zf-card-title { font-size:20px; }
.zf-home .zf-card-content { padding:23px; }
.zf-home .zf-release-filters a.active { color:#ff9d45; border-color:#ff9d45; }
.zf-home .zf-release-heading h2 span { color:#93bfd7; }
/* Shared material and light grading on every forum surface. */
.zf-community-hero,.zf-forum-masthead { border:5px solid #263341; border-top-color:#477e9b; border-bottom-color:#08101b; outline:1px solid #55cfff55; border-radius:2px; box-shadow:0 18px 45px #0009,inset 0 0 0 1px #7ddbff2b; background-image:linear-gradient(90deg,#09121eef,#1025329c 65%,#18273840),url('/images/zf-workshop-hero.jpg'); background-position:center,center 46%; background-size:cover; }
.zf-forum-kicker,.zf-community-copy .zf-eyebrow { color:#ffac5b; }
.zf-community-hero em { color:#ff982f!important; }
.zf-forum-page #container .tborder,.zf-native-forums .tborder { border-color:#325874!important; box-shadow:0 10px 28px #0008,inset 0 1px #8bc8eb1a; }
.zf-forum-page #container .thead,.zf-native-forums .thead { background:linear-gradient(110deg,#293e54,#152438 65%,#48281d)!important; border-bottom-color:#ff8526!important; }
.zf-forum-page #container :is(.trow1,.trow2,.trow_shaded),.zf-native-forums :is(.trow1,.trow2) { background:#121d2d!important; border-bottom-color:#2b4154; color:#dce8f1!important; }
.zf-forum-page #container .trow2,.zf-native-forums .trow2 { background:#162236!important; }
.zf-forum-page #container .tcat,.zf-forum-page #container .tfoot,.zf-native-forums .tcat,.zf-native-forums .tfoot { background:#1a2b40!important; border-color:#355d7b!important; color:#c8ddea!important; }
.zf-forum-page #container a,.zf-native-forums a { color:#6fe5ff; }
.zf-forum-page .post .post_author,.zf-forum-page .post.classic .post_author { background:linear-gradient(105deg,#253e52,#142639)!important; border-bottom-color:#367f9d; }
.zf-forum-page .post .post_content,.zf-forum-page .post.classic .post_content { background:#101c2b; color:#dfe9f1; }
.zf-forum-page .post_controls { background:#182c40; border-top-color:#355871; }
.zf-forum-page .navigation { background:#112536; border-left-color:#ff861f; }
.zf-community-record { border-color:#305e78; background:#132738; }
@media(max-width:1550px) { .zf-command-title { display:none; }.zf-commandbar .zf-audio-pill { display:none; }.zf-shell-search { max-width:260px; }.zf-home .zf-forge-hero-copy { max-width:64%; padding-left:38px; }.zf-home .zf-arsenal-types { grid-template-columns:repeat(4,minmax(0,1fr)); }.zf-home .zf-arsenal-types a { padding:18px; }.zf-home .zf-arsenal-types b { font-size:19px; }.zf-home .zf-arsenal-types small { max-width:150px; }.zf-home-community { gap:24px; padding:26px; } }
@media(max-width:1100px) { body:has(.zf-shell-header) #container { padding:24px; }.zf-commandbar { gap:12px; padding:0 18px; }.zf-shell-search { max-width:190px; }.zf-home .zf-forge-hero-copy { max-width:68%; padding:65px 30px 110px; }.zf-home #zf-home-title { font-size:44px; }.zf-home .zf-forge-hero { min-height:590px; }.zf-home .zf-arsenal-types { margin-inline:12px; gap:12px; }.zf-home .zf-arsenal-types a { min-height:210px; }.zf-home-community { grid-template-columns:110px 1fr; }.zf-community-beacon { width:105px; height:105px; }.zf-community-beacon .zf-item-art { width:90px; height:90px; inset:7px; }.zf-home-community>.zf-action-solid { grid-column:2; justify-self:start; }.zf-home-community h2 { font-size:23px; } }
@media(max-width:800px) { .zf-shell-search { display:none; }.zf-userbox { margin-left:auto; }.zf-home .zf-arsenal-types { grid-template-columns:repeat(2,minmax(0,1fr)); }.zf-home .zf-forge-hero-copy { max-width:85%; }.zf-home .zf-forge-art { background-position:center,center,64% center; }.zf-home-community { grid-template-columns:1fr; }.zf-community-beacon { display:none; }.zf-home-community>.zf-action-solid { grid-column:auto; } }
@media(max-width:650px) { .zf-commandbar { height:74px; padding:0 10px; gap:6px; }.zf-commandbar .zf-user-hud { padding:5px; gap:5px; }.zf-commandbar .zf-user-chip { padding:6px; min-height:39px; font-size:10px; }.zf-commandbar .zf-user-chip .zf-item-art { width:20px; height:20px; }.zf-commandbar .zf-user-badge { min-height:39px; padding:6px; }.zf-commandbar .zf-user-name { font-size:10px; }.zf-operator-seal { display:none; }.zf-commandbar .zf-user-logout { min-height:34px; width:31px; padding:4px; font-size:16px; }.zf-console-admin a { min-height:39px!important; padding:7px!important; font-size:10px; }.zf-console-admin a::before { display:none; }.zf-commandbar #zf-menu-toggle { width:31px; height:34px; }.zf-commandbar .zf-pm-dropdown { top:74px; }body:has(.zf-shell-header) #container { padding:16px 12px 30px; margin-top:74px; }.zf-home .zf-forge-hero { min-height:600px; border-width:5px; }.zf-home .zf-forge-hero-copy { max-width:100%; padding:48px 23px 160px; }.zf-home #zf-home-title { font-size:clamp(29px,7vw,42px); letter-spacing:-1px; }.zf-home .zf-forge-art { background-image:linear-gradient(90deg,#081011c9,#08101133),linear-gradient(0deg,#080e1099,transparent 50%),url('/images/zf-workshop-hero.jpg'); background-position:center,center,65% center; }.zf-home .zf-forge-intro { font-size:17px; }.zf-home .zf-hero-foot { padding:13px; font-size:8px; }.zf-home .zf-arsenal-types { margin:-36px 9px 38px; gap:10px; }.zf-home .zf-arsenal-types a { min-height:200px; padding:16px; }.zf-home .zf-arsenal-types .zf-type-symbol { width:95px; height:95px; right:0; }.zf-home .zf-arsenal-types b { font-size:18px; }.zf-home .zf-arsenal-types small { display:block; font-size:12px; line-height:1.3; }.zf-home .zf-arsenal-types a>i { display:none; }.zf-home-community { padding:25px; margin-bottom:40px; }.zf-home-community h2 { font-size:22px; }.zf-home .zf-cards-grid { gap:24px; }.zf-account-register { padding:9px 12px; }.zf-account-login { padding:9px; } }
@media(prefers-reduced-motion:reduce) { .zf-home .zf-arsenal-types a,.zf-home .zf-arsenal-types .zf-type-symbol,.zf-commandbar :is(.zf-user-chip,.zf-audio-pill,.zf-user-logout) { transition:none; }.zf-home .zf-arsenal-types a:hover,.zf-home .zf-arsenal-types a:hover .zf-type-symbol { transform:none; } }
.zf-console-admin li { margin:0; padding:0; list-style:none; }
.zf-home .zf-forge-art { background-position:center,center,center 30%; }
.zf-account-login { border:1px solid #3b7896; border-bottom:3px solid #0a131f; background:linear-gradient(#304d64,#132b40); box-shadow:inset 0 1px #83d5ff33,0 4px 9px #0008; border-radius:3px; }
.zf-rail-nav a[aria-current=page] { background:linear-gradient(100deg,#a44212bb,#452213aa)!important; border-color:#ff9032!important; }
@media(max-width:650px) { .zf-home .zf-forge-art { background-position:center,center,65% center; } }
/* Finish the shared palette across posting controls and guest access. */
.zf-forums .navigation { color:#c5dfea; background:#112536; padding:12px 16px; border-left:2px solid #ff861f; }
.zf-forums .navigation .active,.zf-forums .navigation a,.zf-community-stats a { color:#8de9ff!important; }
.zf-commandbar .zf-user-name { max-width:150px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; display:block; }
.zf-forum-page #container :is(a.button,input.button,button.button,input[type=submit],.postbit_buttons>a) { background:linear-gradient(#334e65,#192e44); border-color:#43829f; color:#eef6ff!important; box-shadow:inset 0 1px #93d9ff33,0 3px 6px #0008; }
.zf-forum-page #container :is(.new_thread_button,.new_reply_button,input[name=submit]) { background:linear-gradient(#ff9635,#b64b0c); border-color:#ffc477; }
.zf-forum-page #container :is(input.textbox,input[type=text],input[type=number],textarea,select) { background:#091521; border-color:#385f79; color:#dceaf6; }
.zf-forum-page div.sceditor-toolbar { background:linear-gradient(#2c435b,#182c40)!important; border-bottom-color:#417798!important; }
.zf-forum-page div.sceditor-container { background:#101a29!important; border-color:#3c7f9d!important; }
.zf-forum-page .sceditor-container textarea { background:#101a29!important; color:#dceaf5!important; }
.zf-commandbar .zf-user-chip { overflow:hidden; }
.zf-commandbar .zf-user-chip::after { content:''; position:absolute; pointer-events:none; inset:0; background:linear-gradient(110deg,transparent 25%,#b2f4ff38 50%,transparent 75%); transform:translateX(-120%); transition:transform .55s ease; }
.zf-commandbar .zf-user-chip:hover::after { transform:translateX(120%); }
.zf-commandbar .zf-pm-empty { color:#b8d4e5; }
@media(max-width:650px) { .zf-commandbar .zf-user-name { max-width:58px; } }
@media(prefers-reduced-motion:reduce) { .zf-commandbar .zf-user-chip::after { transition:none; display:none; } }

/* Element 115 palette: scorched metal, ember orange and reactor cyan. */
.zf-home .zf-forge-art { filter:saturate(1.18) contrast(1.04); }
.zf-home #zf-home-title em,.zf-community-hero em { text-shadow:0 2px #592006,0 0 32px #ff670036; }
.zf-home .zf-arsenal-types a { --case-light:#4cff8b; border-top:2px solid var(--case-light); }
.zf-home .zf-arsenal-types a:nth-child(2) { --case-light:#ff8a25; }
.zf-home .zf-arsenal-types a:nth-child(3) { --case-light:#37dfff; }
.zf-home .zf-arsenal-types a:nth-child(4) { --case-light:#b66aff; }
.zf-home .zf-arsenal-types a::after { background:linear-gradient(90deg,var(--case-light),transparent); box-shadow:0 0 15px var(--case-light); }
.zf-home .zf-arsenal-types a::before { background:radial-gradient(ellipse,color-mix(in srgb,var(--case-light) 35%,transparent),transparent 68%); }
.zf-home .zf-arsenal-types a:hover { border-color:var(--case-light); box-shadow:inset 0 1px #dffaff66,0 18px 26px #000a,0 0 23px color-mix(in srgb,var(--case-light) 16%,transparent); }
.zf-commandbar .zf-user-badge { box-shadow:inset 0 1px #ffc78d55,0 3px 5px #0009,0 0 14px #ff721b22; }
.zf-commandbar #zf-pm-btn { border-top-color:#26d7ff; }
.zf-commandbar .zf-user-chip[title="View Recent Community Discussions"] { border-top-color:#b77aff; }
.zf-console-admin a { border-top-color:#ff9b3f!important; }
.zf-home .zf-forge-hero,.zf-community-hero,.zf-forum-masthead { outline-color:#34cfff66; border-top-color:#385b73; }
.zf-home-community { border-top-color:#24cdf3; box-shadow:0 10px 25px #0008,inset 0 1px #75eaff44; }
.zf-forum-page #container .thead,.zf-native-forums .thead { box-shadow:inset 0 1px #71d6ff20; }

/* Forge 13: equipment, glass and live electrical atmosphere. */
.zf-world-controls { display:flex; justify-content:space-between; align-items:center; margin:-8px 0 18px; color:#849caa; font:10px 'Share Tech Mono',monospace; letter-spacing:1.2px; }
.zf-world-controls>span { display:flex; align-items:center; gap:9px; }
.zf-world-controls i { width:5px; height:5px; border-radius:50%; background:#47dfdc; box-shadow:0 0 9px #16dbff; }
.zf-atmosphere-control { cursor:pointer; background:#0b151c; border:1px solid #355568; border-radius:3px; padding:6px 9px; color:#adc6d3; font:10px 'Share Tech Mono',monospace; letter-spacing:0; }
.zf-reactor-field { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; z-index:1; mix-blend-mode:screen; }
.zf-forge-hero-copy,.zf-community-copy,.zf-forum-masthead-copy { position:relative; z-index:2; }
.zf-community-hero,.zf-forum-masthead { position:relative; isolation:isolate; overflow:hidden; }
.zf-reactor-station { position:absolute; z-index:4; right:36px; bottom:83px; }
.zf-reactor-energize { position:relative; cursor:pointer; display:flex; align-items:center; gap:18px; padding:12px 22px 12px 12px; background:linear-gradient(130deg,#313d42,#11171a 50%,#222b2e); border:1px solid #5c727c; border-bottom:5px solid #030709; border-radius:60px 6px 6px 60px; box-shadow:0 14px 25px #000c,inset 0 1px #deedff3d; color:#9cecfa; }
.zf-reactor-core { display:grid; place-items:center; width:88px; height:88px; border:6px solid #394951; border-top-color:#71858c; border-bottom-color:#151f24; border-radius:50%; background:radial-gradient(circle,#d0fff855,#0c706f 35%,#0b272b 60%,#050c13 63%); box-shadow:0 0 0 1px #111,0 0 0 2px #728a9444,inset 0 0 14px #64ffef55,0 0 28px #00e6d525; position:relative; }
.zf-reactor-core b { font:700 24px Orbitron,sans-serif; color:#d4fffa; text-shadow:0 0 12px #0ff; }
.zf-reactor-core i { position:absolute; inset:4px; border:1px dashed #9affef8c; border-radius:50%; animation:zf-coil-rotation 18s linear infinite; }
.zf-reactor-label { font:12px 'Share Tech Mono',monospace; letter-spacing:2px; }
.zf-reactor-energize:hover { border-color:#53eeed; box-shadow:0 14px 25px #000c,inset 0 1px #deedff3d,0 0 26px #00dfff33; }
.zf-reactor-energize:active { transform:translateY(2px); }
@keyframes zf-coil-rotation { to { transform:rotate(360deg); } }
/* Dark neutral metal lets emitted light carry the color. */
.zf-commandbar { background:linear-gradient(#343b4199,#12171de8 18%,#0a1016f5 78%,#485059 80%,#1a242c 86%,#070c12 92%); }
.zf-commandbar .zf-user-hud { background:linear-gradient(120deg,#1a232acc,#080e14); border-color:#3c4a55; }
.zf-commandbar :is(.zf-user-chip,.zf-audio-pill,.zf-console-admin a) { background:linear-gradient(125deg,#313c47,#171f29 50%,#0a121d); box-shadow:inset 0 1px #d5ebff2b,inset 0 -3px #05080b,0 4px 7px #000b; }
.zf-home .zf-forge-hero,.zf-community-hero,.zf-forum-masthead { border:9px solid #20262a; border-top-color:#424e55; border-bottom-color:#070d11; outline:1px solid #6a737a77; box-shadow:0 24px 50px #000d,0 0 0 3px #0009,inset 0 0 50px #000; }
.zf-home .zf-forge-hero::after { box-shadow:inset 0 0 0 2px #88defb22,inset 0 0 35px #0009; }
.zf-home .zf-arsenal-types { gap:18px; }
.zf-home .zf-arsenal-types a,.zf-home .zf-arsenal-types a:nth-child(n) { min-height:260px; border:1px solid #576572; border-top:4px solid #5c6a71; border-bottom:8px solid #070d13; background:radial-gradient(ellipse at 70% 34%,color-mix(in srgb,var(--case-light) 12%,transparent),transparent 55%),repeating-linear-gradient(100deg,#ffffff03 0 1px,transparent 1px 5px),linear-gradient(135deg,#252e34,#080e14 65%,#192229); box-shadow:inset 0 0 0 8px #090e1480,inset 0 1px #b5c7cf4d,0 18px 24px #000b; padding:24px; }
.zf-home .zf-arsenal-types a::after { top:auto; bottom:89px; left:15px; right:15px; height:3px; box-shadow:0 -5px 22px var(--case-light),0 1px 0 #d4faff88; }
.zf-home .zf-arsenal-types a::before { top:119px; right:20px; width:160px; height:32px; background:radial-gradient(ellipse,color-mix(in srgb,var(--case-light) 45%,transparent),transparent 68%); }
.zf-home .zf-arsenal-types .zf-type-symbol { top:10px; right:25px; width:144px; height:144px; filter:drop-shadow(-7px 14px 8px #000e); }
.zf-home .zf-arsenal-types a>i { display:block; top:25px; left:25px; padding:5px; border:1px solid #5a788a44; color:var(--case-light); }
.zf-home .zf-arsenal-types a>span:nth-child(2) { padding-top:15px; }
.zf-home .zf-arsenal-types a:hover { box-shadow:inset 0 0 0 8px #090e1480,inset 0 1px #b5c7cf4d,0 18px 24px #000b,0 0 30px color-mix(in srgb,var(--case-light) 18%,transparent); }
.zf-home-community { border:1px solid #435361; border-left:4px solid #35d6ec; background:radial-gradient(ellipse at 8% 80%,#14a9b519,transparent 48%),repeating-linear-gradient(100deg,#ffffff02 0 1px,transparent 1px 5px),linear-gradient(125deg,#202a32,#0b121b 75%); box-shadow:0 14px 32px #000a,inset 0 1px #b9e3ff33; }
.zf-home .zf-mod-card,.zf-workbench-band,.zf-community-note,.zf-community-shortcuts,.zf-community-stats { background:linear-gradient(135deg,#222b33,#0e151d); border-color:#405365; }
.zf-home .zf-card-media { box-shadow:inset 0 0 0 1px #70869844; }
.zf-home .zf-mod-card:hover { border-color:#44cddd; box-shadow:0 18px 35px #000a,0 0 20px #00dcff14; }
.zf-forum-page #container .tborder,.zf-native-forums .tborder { border:1px solid #4a5d6b!important; box-shadow:0 14px 30px #000a,inset 0 0 0 3px #0004; border-radius:3px; }
.zf-forum-page #container .thead,.zf-native-forums .thead { background:repeating-linear-gradient(100deg,#ffffff03 0 1px,transparent 1px 5px),linear-gradient(110deg,#313c44,#151f28 65%,#36231a)!important; border-bottom:2px solid #f27e22!important; box-shadow:inset 0 1px #8cbed34d,inset 0 -4px #0004; }
.zf-forum-page #container :is(.trow1,.trow2,.trow_shaded),.zf-native-forums :is(.trow1,.trow2) { background:#111a23!important; border-bottom-color:#273948; }
.zf-forum-page #container .trow2,.zf-native-forums .trow2 { background:#17212b!important; }
.zf-forum-page #container .tcat,.zf-native-forums .tcat { background:#0a151f!important; }
.zf-forum-page #container .tfoot,.zf-native-forums .tfoot { background:linear-gradient(#26323c,#151f28)!important; box-shadow:inset 0 1px #86c6dd22; }
.zf-forum-page .post .post_author,.zf-forum-page .post.classic .post_author { background:linear-gradient(110deg,#2c3a44,#14212b)!important; border-left:3px solid #36c7d9; }
.zf-forum-page .post .post_content,.zf-forum-page .post.classic .post_content { background:#101921; }
.zf-forum-page .post_controls { background:linear-gradient(#202d36,#141e26); }
.zf-forum-page .post .author_avatar img { border-radius:50%; box-shadow:0 0 0 3px #111b24,0 0 0 4px #54d1e966,0 5px 12px #000; }
.zf-forum-page .post .author_information { padding-left:10px; }
.zf-forum-page .sceditor-container { box-shadow:0 0 0 5px #050d14,0 0 0 6px #53758777,0 10px 25px #000a!important; }
.zf-forum-page .sceditor-container:focus-within { box-shadow:0 0 0 5px #050d14,0 0 0 6px #35d9f5,0 0 30px #00d0ff1c!important; }
.zf-atmosphere-paused .zf-reactor-core i { animation-play-state:paused; }
.zf-reactor-energize:focus-visible,.zf-atmosphere-control:focus-visible { outline:2px solid #72e5ff; outline-offset:5px; }
@media(max-width:1100px) { .zf-reactor-station { right:22px; bottom:70px; }.zf-reactor-core { width:65px; height:65px; }.zf-reactor-label { font-size:10px; } }
@media(max-width:650px) { .zf-world-controls { margin:0 0 14px; font-size:8px; letter-spacing:.3px; }.zf-atmosphere-control { font-size:9px; }.zf-home .zf-forge-hero { min-height:660px; border-width:5px; }.zf-home .zf-forge-hero-copy { padding-bottom:195px; }.zf-reactor-station { bottom:75px; right:20px; }.zf-reactor-core { width:55px; height:55px; border-width:4px; }.zf-reactor-core b { font-size:19px; }.zf-reactor-energize { gap:12px; padding:8px 16px 8px 8px; }.zf-home .zf-arsenal-types a,.zf-home .zf-arsenal-types a:nth-child(n) { min-height:235px; padding:16px; }.zf-home .zf-arsenal-types .zf-type-symbol { width:112px; height:112px; right:9px; top:12px; }.zf-home .zf-arsenal-types a::after { bottom:87px; left:10px; right:10px; }.zf-home .zf-arsenal-types a::before { width:110px; right:5px; top:105px; }.zf-home .zf-arsenal-types a>i { display:none; }.zf-community-hero,.zf-forum-masthead { border-width:5px; } }
@media(prefers-reduced-motion:reduce) { .zf-reactor-core i { animation:none; }.zf-reactor-energize:active { transform:none; } }
.zf-reactor-energize:disabled { cursor:default; filter:saturate(.35); }
.zf-reactor-energize:disabled:hover { border-color:#5c727c; box-shadow:0 14px 25px #000c,inset 0 1px #deedff3d; }

/* Release dossiers and a full community footer. */
.zf-home .zf-release-section { padding:38px 0 12px; border-top:1px solid #44515b; }
.zf-home .zf-release-heading { align-items:center; margin-bottom:30px; }
.zf-home .zf-release-heading h2 { font:800 clamp(32px,3.5vw,54px)/1.05 Orbitron,sans-serif; letter-spacing:-1.5px; }
.zf-home .zf-release-heading h2 span { color:#f28b3b; }
.zf-home .zf-release-heading .zf-text-link { padding:14px 20px; border:1px solid #4d626f; background:#15222c; color:#d3e9f2; }
.zf-home .zf-release-filters { gap:8px; border:0; margin:0 0 28px; padding:0 0 10px; }
.zf-home .zf-release-filters a { border:1px solid #34434f; padding:10px 18px; background:#101920; border-radius:2px; color:#b7cad6; }
.zf-home .zf-release-filters a.active { border-color:#d67831; background:#42291c; color:#ffc48f; }
.zf-home .zf-cards-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.zf-home .zf-mod-card { display:grid; grid-template-columns:40% minmax(0,1fr); min-height:340px; border:1px solid #40505d; border-top:3px solid #607480; border-bottom:5px solid #080e14; border-radius:2px; background:linear-gradient(120deg,#202b33,#0d161f); box-shadow:0 15px 30px #0009,inset 0 1px #a4c5d322; overflow:hidden; }
.zf-home .zf-card-media { height:100%; min-height:340px; padding:0; border:0; border-right:1px solid #47515a; position:relative; }
.zf-home .zf-card-media img { height:100%; width:100%; object-fit:cover; filter:saturate(.8) contrast(1.06); }
.zf-home .zf-card-media::after { display:block; content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(0deg,#07111ed9,transparent 55%),linear-gradient(90deg,transparent 70%,#0b151e88); }
.zf-home .zf-card-hud-overlay { z-index:2; bottom:20px; left:18px; max-width:calc(100% - 36px); padding:8px 10px; background:#08131cdd; border:1px solid #80b1c266; font:10px/1.4 'Share Tech Mono',monospace; text-transform:uppercase; letter-spacing:1px; color:#b7e2f0; }
.zf-home .zf-card-content { padding:28px; display:flex; flex-direction:column; min-width:0; }
.zf-release-author { font:12px/1.5 Rajdhani,sans-serif; color:#93acba; margin:0 0 14px; }
.zf-release-author strong { color:#cddde5; font-weight:600; }
.zf-home .zf-card-title { font:700 clamp(20px,1.6vw,28px)/1.25 Rajdhani,sans-serif; letter-spacing:0; margin:0 0 18px; text-transform:none; }
.zf-home .zf-card-title a { color:#f0f5f9; }
.zf-home .zf-card-badges { display:none; }
.zf-release-specs { display:flex; gap:24px; margin:0 0 20px; padding:15px 0; border-top:1px solid #334651; border-bottom:1px solid #334651; }
.zf-release-specs dt { color:#819cab; font:10px 'Share Tech Mono',monospace; margin-bottom:5px; text-transform:uppercase; letter-spacing:1px; }
.zf-release-specs dd { margin:0; color:#d1e5ed; font:600 15px Rajdhani,sans-serif; }
.zf-home .zf-card-footer { margin-top:auto; padding:0; border:0; display:flex; flex-direction:column; align-items:stretch; gap:18px; }
.zf-home .zf-card-footer>div { justify-content:space-between; }
.zf-home .zf-card-footer .zf-btn-primary { padding:10px 13px; font:700 13px Rajdhani,sans-serif; letter-spacing:0; background:#1c2e3c; color:#c2dfec; border:1px solid #45687d; text-transform:none; white-space:nowrap; }
.zf-home .zf-card-footer .zf-release-open { background:linear-gradient(#e78738,#b3541f); color:#fff7e8; border-color:#edb16c; box-shadow:inset 0 1px #ffe3b33d,0 3px 8px #0007; }
.zf-home .zf-card-footer .zf-btn-primary:hover { filter:brightness(1.15); }
.zf-home .zf-meta-rating,.zf-home .zf-meta-dl { font:12px Rajdhani,sans-serif; }
.zf-site-footer { position:relative; margin-top:70px; padding:0 40px; border-top:1px solid #58606a; background:radial-gradient(ellipse at 0 0,#d3641819,transparent 50%),linear-gradient(135deg,#161c22,#080e15); color:#a7bdc9; box-shadow:0 -10px 40px #0007; }
.zf-footer-invitation { display:flex; justify-content:space-between; gap:25px; align-items:center; max-width:1530px; margin:auto; padding:45px 0; border-bottom:1px solid #3b4650; }
.zf-footer-invitation p { color:#e59658; font:10px 'Share Tech Mono',monospace; letter-spacing:1.5px; margin:0 0 15px; }
.zf-footer-invitation h2 { margin:0; font:700 clamp(26px,2.6vw,40px)/1.2 Orbitron,sans-serif; color:#e6edf2; }
.zf-footer-invitation>a { padding:18px 23px; color:#fff1dc; font:700 17px Rajdhani,sans-serif; border:1px solid #c08b53; background:linear-gradient(130deg,#6b4229,#31251f); text-decoration:none; white-space:nowrap; box-shadow:inset 0 1px #ffb27533,0 7px 18px #0008; }
.zf-footer-invitation>a span { margin-left:25px; color:#ffad61; }
.zf-footer-grid { max-width:1530px; margin:auto; display:grid; grid-template-columns:2fr 1fr 1fr; gap:50px; padding:42px 0; }
.zf-footer-brand>a { font:800 26px Orbitron,sans-serif; color:#ebf2f6; text-decoration:none; }
.zf-footer-brand>a span { color:#fa892f; }
.zf-footer-brand p { font:15px/1.7 Rajdhani,sans-serif; color:#a5bdca; margin:18px 0; }
.zf-footer-signature { font:9px 'Share Tech Mono',monospace; color:#637f90; letter-spacing:1.5px; }
.zf-footer-grid nav { display:flex; flex-direction:column; gap:11px; }
.zf-footer-grid h3 { color:#d3e4ec; margin:0 0 7px; font:700 16px Rajdhani,sans-serif; }
.zf-footer-grid nav a { color:#91afc1; font:14px Rajdhani,sans-serif; text-decoration:none; }
.zf-site-footer a:hover { color:#ffad69; }
.zf-site-footer a:focus-visible { outline:2px solid #66ddfa; outline-offset:5px; }
.zf-footer-base { max-width:1530px; margin:auto; display:flex; justify-content:space-between; flex-wrap:wrap; gap:18px; padding:22px 0; border-top:1px solid #293944; color:#728d9e; font:12px Rajdhani,sans-serif; }
.zf-footer-base a { color:#a9c6d5; }
@media(max-width:1450px) { .zf-home .zf-mod-card { grid-template-columns:35% minmax(0,1fr); }.zf-home .zf-card-content { padding:22px; } }
@media(max-width:1100px) { .zf-home .zf-cards-grid { grid-template-columns:1fr; }.zf-home .zf-mod-card { grid-template-columns:42% minmax(0,1fr); min-height:310px; }.zf-home .zf-card-media { min-height:310px; }.zf-home .zf-card-title { font-size:29px; }.zf-footer-grid { grid-template-columns:1.5fr 1fr 1fr; gap:30px; } }
@media(max-width:650px) { .zf-home .zf-forge-hero { min-height:570px; }.zf-home .zf-forge-hero-copy { padding-bottom:100px; }.zf-home .zf-release-section { padding-top:28px; }.zf-home .zf-release-heading { align-items:flex-start; gap:22px; }.zf-home .zf-release-heading h2 { font-size:36px; }.zf-home .zf-release-filters a { padding:8px 12px; }.zf-home .zf-mod-card { grid-template-columns:1fr; }.zf-home .zf-card-media { height:190px; min-height:190px; border-right:0; border-bottom:1px solid #425463; }.zf-home .zf-card-content { padding:24px; }.zf-home .zf-card-title { font-size:27px; }.zf-home .zf-card-footer { gap:20px; }.zf-site-footer { padding:0 24px; margin-top:45px; }.zf-footer-invitation { flex-direction:column; align-items:flex-start; padding:32px 0; }.zf-footer-invitation h2 { font-size:28px; }.zf-footer-grid { grid-template-columns:1fr 1fr; gap:35px 20px; padding:32px 0; }.zf-footer-brand { grid-column:1/-1; }.zf-footer-brand>a { font-size:23px; }.zf-footer-base { gap:15px; }.zf-footer-base>span:first-child { width:100%; } }
.zf-forge-haze,.zf-forge-sparks { display:none; }
.zf-home .zf-mod-card { height:360px; min-height:360px; }
.zf-home .zf-card-media { min-height:0; }
.zf-home .zf-card-media img { position:absolute; inset:0; }
.zf-home .zf-card-footer .zf-release-open { color:#fff2e3!important; }
#releases { scroll-margin-top:115px; }
@media(max-width:650px) { .zf-home .zf-mod-card { height:auto; min-height:0; }.zf-home .zf-card-media { min-height:190px; }.zf-home .zf-card-content { min-height:285px; } }
.zf-site-footer { text-align:left; background:linear-gradient(100deg,#10161bf5 20%,#0b1118ee 65%,#0b1118cd),url('/images/zf-workshop-hero.jpg') right center/cover; }
.zf-home .zf-card-footer>div:last-child { justify-content:flex-end; }
.zf-home .zf-card-footer .zf-release-open { min-width:145px; text-align:center; }
.zf-home .zf-mod-card { height:auto; }
/* Forge 15: an in-place release cabinet, with artwork and category identity. */
.zf-home [data-category="perk_machine"],.zf-home [data-release-filter="perk_machine"] { --drop-color:#a9ed65; }
.zf-home [data-category="weapon_port"],.zf-home [data-release-filter="weapon_port"] { --drop-color:#ff9a51; }
.zf-home [data-category="powerup"],.zf-home [data-release-filter="powerup"] { --drop-color:#55e6e9; }
.zf-home [data-category="script_tool"],.zf-home [data-release-filter="script_tool"] { --drop-color:#ba9aff; }
.zf-home [data-category="asset_pack"],.zf-home [data-release-filter="asset_pack"] { --drop-color:#81bdff; }
.zf-home [data-category="zombies_map"],.zf-home [data-release-filter="zombies_map"] { --drop-color:#ff7970; }
.zf-home .zf-release-filters { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:10px; margin:30px 0 18px; padding:0; border:0; }
.zf-release-filters button { --drop-color:#ffd399; position:relative; min-width:0; min-height:135px; padding:14px 12px; text-align:left; color:#bdc9d2; background:linear-gradient(145deg,#29323a,#10171d 65%); border:1px solid #3b4852; border-bottom:3px solid #52616b; box-shadow:inset 0 1px #ffffff25,0 7px 12px #0006; cursor:pointer; transition:border-color .2s,background .2s,transform .2s; }
.zf-release-filters button .zf-item-art { display:block; width:60px; height:60px; margin-bottom:10px; filter:drop-shadow(0 4px 5px #000); }
.zf-release-filters button b { display:block; font:700 16px Rajdhani,sans-serif; }
.zf-release-filters button small { position:absolute; top:14px; right:12px; color:#8fa6b5; font:12px 'Share Tech Mono',monospace; }
.zf-release-filters button[aria-pressed="true"] { color:var(--drop-color); border-color:var(--drop-color); background:linear-gradient(135deg,#39434b,#10171d); box-shadow:inset 0 -3px var(--drop-color),0 8px 18px #0009; }
.zf-release-filters button:hover { transform:translateY(-3px); border-color:var(--drop-color); color:#fff; }
.zf-release-filters button:focus-visible,.zf-release-empty button:focus-visible { outline:2px solid #fff; outline-offset:4px; }
.zf-release-status { color:#a6becd; font:12px 'Share Tech Mono',monospace; letter-spacing:.5px; margin:0 0 25px; }
.zf-home .zf-cards-grid { gap:30px; align-items:stretch; }
.zf-home .zf-mod-card { --drop-color:#ff9a51; display:flex; flex-direction:column; height:auto; min-height:0; overflow:hidden; border:1px solid #48545c; border-top:3px solid var(--drop-color); background:linear-gradient(125deg,#202a33,#0d151d 65%); box-shadow:0 16px 25px #0008,inset 0 0 0 5px #070c1166; transition:box-shadow .25s,border-color .25s; }
.zf-home .zf-mod-card[data-category="perk_machine"] { --drop-color:#a9ed65; }
.zf-home .zf-mod-card[data-category="weapon_port"] { --drop-color:#ff9a51; }
.zf-home .zf-mod-card[data-category="powerup"] { --drop-color:#55e6e9; }
.zf-home .zf-mod-card[data-category="script_tool"] { --drop-color:#ba9aff; }
.zf-home .zf-mod-card[data-category="asset_pack"] { --drop-color:#81bdff; }
.zf-home .zf-mod-card[data-category="zombies_map"] { --drop-color:#ff7970; }
.zf-home .zf-mod-card:hover { border-color:var(--drop-color); box-shadow:0 20px 34px #000b,inset 0 0 0 5px #070c1166; }
.zf-home .zf-mod-card[hidden],.zf-release-empty[hidden] { display:none!important; }
.zf-home .zf-card-media { display:block; height:265px; min-height:265px; width:100%; border:0; border-bottom:1px solid #52616b; }
.zf-home .zf-card-media img { transition:filter .3s; filter:saturate(.85); }
.zf-home .zf-card-media:hover img { transform:none; filter:saturate(1.15); }
.zf-home .zf-card-media::after { background:linear-gradient(0deg,#0d151df5,transparent 70%); }
.zf-home .zf-card-hud-overlay { left:25px; bottom:20px; color:var(--drop-color); background:#080e16e8; border:1px solid var(--drop-color); border-left:4px solid var(--drop-color); padding:10px 15px; letter-spacing:2px; box-shadow:0 6px 15px #0009; }
.zf-home .zf-card-content { padding:26px 30px 30px; flex:1; background:radial-gradient(ellipse at 100% 0,#7e9ab818,transparent 65%); }
.zf-home .zf-card-title { font-size:clamp(27px,2.2vw,37px); line-height:1.12; max-width:24ch; margin-bottom:24px; }
.zf-home .zf-release-author { order:0; margin-bottom:12px; letter-spacing:.6px; }
.zf-home .zf-release-specs { border-color:#61748544; gap:45px; }
.zf-home .zf-card-footer { flex-direction:row; align-items:center; gap:20px; }
.zf-home .zf-card-footer .zf-release-open { min-width:130px; background:linear-gradient(#344450,#1c2933); color:var(--drop-color)!important; border-color:var(--drop-color); padding:13px 18px; }
.zf-release-empty { padding:55px 30px; border:1px solid #526675; background:linear-gradient(100deg,#0c141ce8,#101922d9),url('/images/zf-workshop-hero.jpg') center/cover; }
.zf-release-empty h3 { color:#edf4f7; font:700 28px Rajdhani,sans-serif; margin:0 0 12px; }
.zf-release-empty p { color:#b0c4d0; }
.zf-release-empty button { padding:12px 18px; border:1px solid #da995d; background:#392a20; color:#ffcf9b; cursor:pointer; }
@media(max-width:1100px) { .zf-home .zf-cards-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.zf-home .zf-card-footer { flex-direction:column; align-items:stretch; }.zf-home .zf-release-filters { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(max-width:650px) { .zf-home .zf-cards-grid { grid-template-columns:1fr; }.zf-home .zf-release-filters { grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }.zf-release-filters button { min-height:118px; padding:10px; }.zf-release-filters button .zf-item-art { width:48px; height:48px; }.zf-release-filters button b { font-size:14px; }.zf-home .zf-card-media { height:220px; min-height:220px; }.zf-home .zf-card-content { padding:24px; min-height:0; }.zf-home .zf-card-title { font-size:29px; } }
@media(prefers-reduced-motion:reduce) { .zf-release-filters button,.zf-home .zf-mod-card,.zf-home .zf-card-media img { transition:none; }.zf-release-filters button:hover { transform:none; } }

/* Keep controls inside the command bar's physical bottom rail. */
.zf-commandbar { padding-bottom:8px; background:linear-gradient(to bottom,#343b4199 0,#12171de8 14px,#0a1016f5 calc(100% - 8px),#485059 calc(100% - 7px),#1a242c calc(100% - 4px),#070c12 100%); }
.zf-commandbar .zf-user-hud { box-sizing:border-box; height:56px; padding:5px 8px; gap:8px; align-items:center; }
.zf-commandbar :is(.zf-user-chip,.zf-user-badge,.zf-audio-pill,.zf-console-admin a,.zf-user-logout) { box-sizing:border-box; height:44px; min-height:44px; padding-top:0; padding-bottom:0; align-items:center; line-height:1; flex-shrink:0; }
.zf-commandbar :is(.zf-pm-wrapper,.zf-console-admin) { display:flex; align-items:center; height:44px; }
.zf-commandbar .zf-console-admin:empty { display:none; }
.zf-commandbar .zf-shell-search { box-sizing:border-box; height:44px; padding-top:0; padding-bottom:0; }
.zf-commandbar .zf-shell-search input { height:100%; box-sizing:border-box; }
.zf-commandbar .zf-operator-seal { flex-shrink:0; }
@media(max-width:650px) {
 .zf-commandbar { padding-bottom:8px; }
 .zf-commandbar .zf-user-hud { height:50px; padding:4px; gap:5px; }
 .zf-commandbar :is(.zf-user-chip,.zf-user-badge,.zf-audio-pill,.zf-console-admin a,.zf-user-logout) { height:40px; min-height:40px!important; padding-top:0!important; padding-bottom:0!important; }
 .zf-commandbar :is(.zf-pm-wrapper,.zf-console-admin) { height:40px; }
}

/* Logged-in account navigation. */
.zf-account-wrap{position:relative}
#zf-account-toggle{display:flex;align-items:center;cursor:pointer;font:inherit}
.zf-account-chevron{margin-left:5px;color:#ffa453;transition:transform .15s}
#zf-account-toggle[aria-expanded=true] .zf-account-chevron{transform:rotate(180deg)}
.zf-account-dropdown[hidden]{display:none!important}
.zf-account-dropdown{position:absolute;top:calc(100% + 12px);right:0;width:292px;max-width:calc(100vw - 24px);z-index:1500;text-align:left;background:linear-gradient(145deg,#192c3b,#0a141e 65%);border:1px solid #577084;border-top:3px solid #f38b36;border-radius:6px;box-shadow:0 18px 48px #000b,inset 0 1px #ffffff10;padding:0;overflow:auto;max-height:calc(100dvh - 100px)}
.zf-account-heading{padding:17px 18px 14px;border-bottom:1px solid #ffffff14}
.zf-account-heading small{display:block;font:10px/1.5 Arial,sans-serif;letter-spacing:1.8px;color:#ffad6d}
.zf-account-heading strong{display:block;margin-top:4px;color:#f0f5f8;font:700 20px/1.3 Rajdhani,Arial,sans-serif;overflow-wrap:anywhere}
.zf-account-links{padding:7px;border-bottom:1px solid #ffffff14}
.zf-account-dropdown a{display:flex;align-items:center;gap:11px;padding:10px 11px;color:#dce8ef!important;font:13px/1.4 Arial,sans-serif;text-decoration:none!important;border-radius:3px}
.zf-account-dropdown a:hover,.zf-account-dropdown a:focus-visible{background:#ffffff0d;color:#fff!important;outline:1px solid #ed934b;outline-offset:-1px}
.zf-account-dropdown a>span{width:20px;text-align:center;color:#ec9a58;font-size:18px;flex-shrink:0}
.zf-account-count{margin-left:auto;background:#12202e;border:1px solid #456073;border-radius:4px;padding:2px 7px;color:#97d9ee;font-size:11px}
.zf-account-staff{padding:6px 7px;border-bottom:1px solid #ffffff14}.zf-account-staff:empty{display:none}
.zf-account-dropdown .zf-account-signout{margin:7px;color:#ffbd9b!important}
@media(max-width:650px){.zf-account-dropdown{position:fixed;top:80px;right:12px;left:auto;width:292px}}
