/*
 * SE Theme — Page Designs
 * Dashboard · Leaderboard · Missions · Rewards · Referral
 *
 * Design: Cyberpunk terminal / elite hacker aesthetic
 * Fonts: Orbitron (display) · Rajdhani (UI) · JetBrains Mono (data)
 */

/* ── Shared page scaffolding ──────────────────────────────────────────── */

.se-page {
  max-width: var(--container, 1200px);
  margin: 0 auto;
  padding: 0 var(--s5, 24px) var(--s9, 96px);
}

/* ── Page header ──────────────────────────────────────────────────────── */

.se-ph {
  position: relative;
  padding: var(--s7, 48px) 0 var(--s6, 32px);
  display: grid;
  grid-template-columns: 1fr auto;
  gap: var(--s4, 16px);
  align-items: end;
  border-bottom: 1px solid var(--border, rgba(0,255,231,.12));
  margin-bottom: var(--s7, 48px);
}
.se-ph::before {
  content: '';
  position: absolute;
  bottom: -1px; left: 0;
  width: 120px; height: 2px;
  background: var(--clr-neon, #00ffe7);
  box-shadow: 0 0 12px var(--clr-neon, #00ffe7);
}
.se-ph-eyebrow {
  display: block;
  font: 600 .65rem/1 var(--font-ui, 'Rajdhani');
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--clr-neon, #00ffe7);
  margin-bottom: var(--s2, 8px);
}
.se-ph-title {
  font: 700 2.4rem/1.05 var(--font-display, 'Orbitron');
  color: var(--text-bright, #e8f4ff);
  margin: 0 0 var(--s2, 8px);
  letter-spacing: -1px;
}
.se-ph-sub {
  font: 400 1rem/1.5 var(--font-body, 'Sora');
  color: var(--text-dim, #6b8cac);
  margin: 0;
}
.se-ph-meta { text-align: right; flex-shrink: 0; }

/* ── Stat bar (row of quick stats under the header) ──────────────────── */

.se-statbar {
  display: flex;
  gap: var(--s3, 12px);
  flex-wrap: wrap;
  margin-bottom: var(--s6, 32px);
}
.se-stat {
  flex: 1 1 140px;
  background: var(--bg2, #080f18);
  border: 1px solid var(--border, rgba(0,255,231,.12));
  border-radius: var(--radius-lg, 8px);
  padding: var(--s4, 16px) var(--s5, 24px);
  position: relative;
  overflow: hidden;
  transition: border-color var(--t-mid, 200ms), box-shadow var(--t-mid, 200ms);
}
.se-stat:hover {
  border-color: var(--border-hover, rgba(0,255,231,.3));
  box-shadow: var(--shadow-hover);
}
.se-stat::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 2px;
  background: var(--se-stat-accent, var(--clr-neon, #00ffe7));
  opacity: .7;
}
.se-stat--pink  { --se-stat-accent: var(--clr-neon2, #ff2d78); }
.se-stat--gold  { --se-stat-accent: var(--clr-neon3, #ffe600); }
.se-stat--purple{ --se-stat-accent: var(--clr-neon4, #7b2fff); }
.se-stat--green { --se-stat-accent: var(--clr-green, #00ff88); }
.se-stat--blue  { --se-stat-accent: var(--clr-blue, #3b9eff); }
.se-stat-label {
  font: 600 .65rem/1 var(--font-ui, 'Rajdhani');
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--text-dim, #6b8cac);
  margin-bottom: var(--s2, 8px);
}
.se-stat-val {
  font: 700 1.9rem/1 var(--font-display, 'Orbitron');
  color: var(--se-stat-accent, var(--clr-neon, #00ffe7));
}
.se-stat-sub {
  font: 400 .75rem/1 var(--font-body, 'Sora');
  color: var(--text-dim, #6b8cac);
  margin-top: 4px;
}

/* ── Two-column page grid ─────────────────────────────────────────────── */

.se-page-grid {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: var(--s6, 32px);
  align-items: start;
}
@media (max-width: 900px) {
  .se-page-grid { grid-template-columns: 1fr; }
}

/* ── Cards ────────────────────────────────────────────────────────────── */

.se-panel {
  background: var(--bg2, #080f18);
  border: 1px solid var(--border, rgba(0,255,231,.12));
  border-radius: var(--radius-lg, 8px);
  overflow: hidden;
}
.se-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--s4, 16px) var(--s5, 24px);
  border-bottom: 1px solid var(--border, rgba(0,255,231,.12));
}
.se-panel-title {
  font: 600 .7rem/1 var(--font-ui, 'Rajdhani');
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--clr-neon, #00ffe7);
}
.se-panel-action {
  font: 500 .75rem/1 var(--font-ui);
  color: var(--text-dim, #6b8cac);
  text-decoration: none;
  transition: color var(--t-fast);
}
.se-panel-action:hover { color: var(--clr-neon, #00ffe7); }
.se-panel-body { padding: var(--s5, 24px); }

/* ── Section headings ─────────────────────────────────────────────────── */

.se-section-label {
  font: 600 .65rem/1 var(--font-ui);
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--clr-neon, #00ffe7);
  margin: 0 0 var(--s4, 16px);
  display: flex;
  align-items: center;
  gap: var(--s2, 8px);
}
.se-section-label::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--border, rgba(0,255,231,.12));
}

/* ── Buttons ──────────────────────────────────────────────────────────── */

.se-btn {
  display: inline-flex;
  align-items: center;
  gap: var(--s2, 8px);
  padding: 10px 20px;
  border-radius: var(--radius, 4px);
  font: 600 .8rem/1 var(--font-ui, 'Rajdhani');
  letter-spacing: 1px;
  text-transform: uppercase;
  border: 1px solid transparent;
  cursor: pointer;
  transition: all var(--t-mid, 200ms);
  text-decoration: none;
}
.se-btn--neon {
  background: rgba(0,255,231,.08);
  border-color: var(--clr-neon, #00ffe7);
  color: var(--clr-neon, #00ffe7);
}
.se-btn--neon:hover {
  background: rgba(0,255,231,.15);
  box-shadow: 0 0 16px rgba(0,255,231,.25);
}
.se-btn--solid {
  background: var(--clr-neon, #00ffe7);
  color: #050a0f;
  border-color: var(--clr-neon, #00ffe7);
}
.se-btn--solid:hover {
  filter: brightness(1.1);
  box-shadow: 0 0 20px rgba(0,255,231,.4);
}
.se-btn--ghost {
  background: transparent;
  border-color: var(--border-hover, rgba(0,255,231,.3));
  color: var(--text, #c8d8e8);
}
.se-btn--ghost:hover {
  border-color: var(--clr-neon, #00ffe7);
  color: var(--clr-neon, #00ffe7);
}
.se-btn--sm { padding: 6px 14px; font-size: .72rem; }
.se-btn--lg { padding: 14px 28px; font-size: .9rem; }

/* ── Login prompt ─────────────────────────────────────────────────────── */

.se-login-prompt {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--s4, 16px);
  padding: var(--s8, 64px) var(--s5, 24px);
  background: var(--bg2, #080f18);
  border: 1px solid var(--border, rgba(0,255,231,.12));
  border-radius: var(--radius-lg, 8px);
  text-align: center;
}
.se-login-prompt p {
  color: var(--text-dim, #6b8cac);
  font-size: .95rem;
  margin: 0;
}

/* ── Loading state ────────────────────────────────────────────────────── */

.se-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--s3, 12px);
  padding: var(--s8, 64px);
  color: var(--text-dim, #6b8cac);
  font: 500 .85rem/1 var(--font-ui);
  letter-spacing: 2px;
  text-transform: uppercase;
}
.se-spinner {
  width: 20px; height: 20px;
  border: 2px solid var(--border, rgba(0,255,231,.12));
  border-top-color: var(--clr-neon, #00ffe7);
  border-radius: 50%;
  animation: se-spin .7s linear infinite;
}
@keyframes se-spin { to { transform: rotate(360deg); } }

/* ══════════════════════════════════════════════════════════════════════ */
/* DASHBOARD PAGE                                                         */
/* ══════════════════════════════════════════════════════════════════════ */

.se-dash-hero {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: var(--s5, 24px);
  align-items: center;
  background: var(--bg2, #080f18);
  border: 1px solid var(--border, rgba(0,255,231,.12));
  border-radius: var(--radius-lg, 8px);
  padding: var(--s6, 32px);
  margin-bottom: var(--s5, 24px);
  position: relative;
  overflow: hidden;
}
.se-dash-hero::after {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 60% 80% at 90% 50%, rgba(0,255,231,.04), transparent);
  pointer-events: none;
}
.se-dash-hero-name {
  font: 700 .65rem/1 var(--font-ui);
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--text-dim, #6b8cac);
  margin-bottom: var(--s2, 8px);
}
.se-dash-hero-rank {
  font: 700 1.6rem/1.1 var(--font-display, 'Orbitron');
  color: var(--text-bright, #e8f4ff);
  margin-bottom: var(--s3, 12px);
}
.se-dash-hero-rank span {
  font-size: .85em;
  opacity: .6;
}
.se-dash-hero-xpbar {
  max-width: 420px;
}
.se-dash-avatar {
  width: 80px; height: 80px;
  border-radius: 50%;
  border: 2px solid var(--clr-neon, #00ffe7);
  box-shadow: 0 0 20px rgba(0,255,231,.2);
  object-fit: cover;
  background: var(--bg3, #0c1520);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
}
@media (max-width: 600px) {
  .se-dash-hero { grid-template-columns: 1fr; }
  .se-dash-avatar { display: none; }
}

/* Recent activity feed */
.se-activity { list-style: none; margin: 0; padding: 0; }
.se-activity-item {
  display: flex;
  align-items: flex-start;
  gap: var(--s3, 12px);
  padding: var(--s3, 12px) 0;
  border-bottom: 1px solid var(--border, rgba(0,255,231,.12));
}
.se-activity-item:last-child { border-bottom: none; }
.se-activity-icon {
  width: 32px; height: 32px;
  border-radius: 50%;
  background: var(--bg3, #0c1520);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: .95rem;
  flex-shrink: 0;
}
.se-activity-text {
  flex: 1;
  font: 400 .85rem/1.4 var(--font-body);
  color: var(--text, #c8d8e8);
}
.se-activity-xp {
  font: 700 .8rem/1 var(--font-mono, 'JetBrains Mono');
  color: var(--clr-neon, #00ffe7);
  white-space: nowrap;
}
.se-activity-time {
  font: 400 .72rem/1 var(--font-body);
  color: var(--text-dim, #6b8cac);
  margin-top: 3px;
}

/* ══════════════════════════════════════════════════════════════════════ */
/* LEADERBOARD PAGE                                                       */
/* ══════════════════════════════════════════════════════════════════════ */

.se-lb-controls {
  display: flex;
  gap: var(--s2, 8px);
  flex-wrap: wrap;
  margin-bottom: var(--s5, 24px);
}
.se-lb-tab {
  padding: 8px 20px;
  background: transparent;
  border: 1px solid var(--border, rgba(0,255,231,.12));
  border-radius: var(--radius, 4px);
  font: 600 .75rem/1 var(--font-ui);
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--text-dim, #6b8cac);
  cursor: pointer;
  transition: all var(--t-fast);
}
.se-lb-tab:hover,
.se-lb-tab.active {
  background: rgba(0,255,231,.08);
  border-color: var(--clr-neon, #00ffe7);
  color: var(--clr-neon, #00ffe7);
}

/* Podium (top 3) */
.se-podium {
  display: grid;
  grid-template-columns: 1fr 1.15fr 1fr;
  gap: var(--s3, 12px);
  margin-bottom: var(--s5, 24px);
  align-items: end;
}
.se-podium-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--s2, 8px);
  background: var(--bg2, #080f18);
  border: 1px solid var(--border, rgba(0,255,231,.12));
  border-radius: var(--radius-lg, 8px);
  padding: var(--s4, 16px) var(--s3, 12px);
  text-align: center;
  position: relative;
  transition: border-color var(--t-mid);
}
.se-podium-item--1 {
  border-color: var(--clr-neon3, #ffe600);
  box-shadow: 0 0 24px rgba(255,230,0,.1);
  padding-top: var(--s5, 24px);
}
.se-podium-item--2 { border-color: rgba(192,192,220,.25); }
.se-podium-item--3 { border-color: rgba(180,100,50,.25); }
.se-podium-crown {
  position: absolute;
  top: -14px; left: 50%;
  transform: translateX(-50%);
  font-size: 1.4rem;
}
.se-podium-pos {
  font: 700 1.5rem/1 var(--font-display);
  opacity: .5;
}
.se-podium-item--1 .se-podium-pos { color: var(--clr-neon3, #ffe600); opacity: 1; }
.se-podium-avatar {
  width: 56px; height: 56px;
  border-radius: 50%;
  border: 2px solid var(--border, rgba(0,255,231,.12));
  background: var(--bg3, #0c1520);
  display: flex; align-items: center; justify-content: center;
  font-size: 1.4rem;
  object-fit: cover;
}
.se-podium-item--1 .se-podium-avatar {
  width: 64px; height: 64px;
  border-color: var(--clr-neon3, #ffe600);
  box-shadow: 0 0 16px rgba(255,230,0,.2);
}
.se-podium-name {
  font: 600 .85rem/1.2 var(--font-ui);
  color: var(--text-bright, #e8f4ff);
  max-width: 100px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.se-podium-xp {
  font: 700 .8rem/1 var(--font-mono);
  color: var(--clr-neon, #00ffe7);
}

/* Leaderboard table rows */
.se-lb-list { list-style: none; margin: 0; padding: 0; }
.se-lb-row {
  display: grid;
  grid-template-columns: 48px 40px 1fr auto auto;
  align-items: center;
  gap: var(--s3, 12px);
  padding: var(--s3, 12px) var(--s4, 16px);
  border-radius: var(--radius, 4px);
  transition: background var(--t-fast);
  border-bottom: 1px solid var(--border, rgba(0,255,231,.07));
}
.se-lb-row:last-child { border-bottom: none; }
.se-lb-row:hover { background: var(--bg3, #0c1520); }
.se-lb-row--me {
  background: rgba(0,255,231,.04);
  border: 1px solid rgba(0,255,231,.15);
  border-radius: var(--radius-lg, 8px);
  margin: 4px 0;
}
.se-lb-pos {
  font: 700 .85rem/1 var(--font-mono);
  color: var(--text-dim, #6b8cac);
  text-align: center;
}
.se-lb-row-avatar {
  width: 36px; height: 36px;
  border-radius: 50%;
  background: var(--bg3, #0c1520);
  display: flex; align-items: center; justify-content: center;
  font-size: 1rem;
  object-fit: cover;
  border: 1px solid var(--border);
}
.se-lb-row-name {
  font: 500 .9rem/1 var(--font-body);
  color: var(--text, #c8d8e8);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.se-lb-row-rank {
  font: 500 .7rem/1 var(--font-ui);
  color: var(--text-dim, #6b8cac);
  letter-spacing: 1px;
  margin-top: 3px;
}
.se-lb-row-xp {
  font: 700 .85rem/1 var(--font-mono);
  color: var(--clr-neon, #00ffe7);
  white-space: nowrap;
}
.se-lb-row-badge {
  font-size: .8rem;
}
.se-lb-empty {
  text-align: center;
  padding: var(--s7, 48px);
  color: var(--text-dim, #6b8cac);
  font: 400 .9rem/1.5 var(--font-body);
}

/* ══════════════════════════════════════════════════════════════════════ */
/* MISSIONS PAGE                                                          */
/* ══════════════════════════════════════════════════════════════════════ */

.se-mission-tabs {
  display: flex;
  gap: 0;
  border-bottom: 1px solid var(--border, rgba(0,255,231,.12));
  margin-bottom: var(--s6, 32px);
  overflow-x: auto;
}
.se-mission-tab {
  padding: var(--s3, 12px) var(--s5, 24px);
  background: transparent;
  border: none;
  border-bottom: 2px solid transparent;
  font: 600 .75rem/1 var(--font-ui);
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--text-dim, #6b8cac);
  cursor: pointer;
  transition: all var(--t-fast);
  white-space: nowrap;
  margin-bottom: -1px;
}
.se-mission-tab:hover { color: var(--text, #c8d8e8); }
.se-mission-tab.active {
  color: var(--clr-neon, #00ffe7);
  border-bottom-color: var(--clr-neon, #00ffe7);
}

.se-missions-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: var(--s4, 16px);
}

.se-mission-card {
  background: var(--bg2, #080f18);
  border: 1px solid var(--border, rgba(0,255,231,.12));
  border-radius: var(--radius-lg, 8px);
  padding: var(--s5, 24px);
  display: flex;
  flex-direction: column;
  gap: var(--s3, 12px);
  transition: border-color var(--t-mid), box-shadow var(--t-mid);
  position: relative;
  overflow: hidden;
}
.se-mission-card:hover {
  border-color: var(--border-hover, rgba(0,255,231,.3));
  box-shadow: var(--shadow-hover);
}
.se-mission-card--complete {
  border-color: rgba(0,255,136,.3);
}
.se-mission-card--claimed {
  opacity: .5;
}
.se-mission-card-type {
  position: absolute;
  top: var(--s4, 16px); right: var(--s4, 16px);
  font: 600 .6rem/1 var(--font-ui);
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(0,255,231,.08);
  border: 1px solid var(--border);
  color: var(--text-dim);
}
.se-mission-card-type--daily  { background: rgba(0,255,136,.08); border-color: rgba(0,255,136,.25); color: var(--clr-green, #00ff88); }
.se-mission-card-type--weekly { background: rgba(59,158,255,.08); border-color: rgba(59,158,255,.25); color: var(--clr-blue, #3b9eff); }
.se-mission-card-type--event  { background: rgba(123,47,255,.08); border-color: rgba(123,47,255,.25); color: var(--clr-neon4, #7b2fff); }

.se-mission-card-name {
  font: 600 1.05rem/1.3 var(--font-ui);
  color: var(--text-bright, #e8f4ff);
  padding-right: 60px;
}
.se-mission-card-desc {
  font: 400 .82rem/1.5 var(--font-body);
  color: var(--text-dim, #6b8cac);
  margin: 0;
}

/* Progress bar */
.se-mission-progress {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.se-mission-progress-bar {
  height: 4px;
  background: var(--bg3, #0c1520);
  border-radius: 999px;
  overflow: hidden;
}
.se-mission-progress-fill {
  height: 100%;
  border-radius: 999px;
  background: var(--clr-neon, #00ffe7);
  box-shadow: 0 0 6px var(--clr-neon, #00ffe7);
  transition: width .4s ease;
}
.se-mission-progress-text {
  font: 500 .72rem/1 var(--font-mono);
  color: var(--text-dim);
  display: flex;
  justify-content: space-between;
}

.se-mission-card-rewards {
  display: flex;
  gap: var(--s3, 12px);
  flex-wrap: wrap;
}
.se-mission-reward {
  display: flex;
  align-items: center;
  gap: 5px;
  font: 600 .78rem/1 var(--font-mono);
  color: var(--text, #c8d8e8);
  background: var(--bg3, #0c1520);
  border-radius: var(--radius, 4px);
  padding: 5px 10px;
}
.se-mission-reward--xp { color: var(--clr-neon, #00ffe7); }
.se-mission-reward--coins { color: var(--clr-neon3, #ffe600); }

/* ══════════════════════════════════════════════════════════════════════ */
/* REWARDS PAGE                                                           */
/* ══════════════════════════════════════════════════════════════════════ */

.se-rewards-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: var(--s4, 16px);
}

.se-reward-card {
  background: var(--bg2, #080f18);
  border: 1px solid var(--border, rgba(0,255,231,.12));
  border-radius: var(--radius-lg, 8px);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: border-color var(--t-mid), box-shadow var(--t-mid), transform var(--t-mid);
}
.se-reward-card:hover {
  border-color: var(--border-hover, rgba(0,255,231,.3));
  box-shadow: var(--shadow-hover);
  transform: translateY(-2px);
}
.se-reward-card--locked { opacity: .55; }
.se-reward-card--locked:hover { transform: none; }

.se-reward-card-img {
  aspect-ratio: 16/9;
  background: var(--bg3, #0c1520);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 3rem;
  position: relative;
  overflow: hidden;
}
.se-reward-card-img::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, transparent 50%, rgba(8,15,24,.9));
}
.se-reward-card-type-badge {
  position: absolute;
  top: 10px; left: 10px;
  z-index: 1;
  font: 700 .6rem/1 var(--font-ui);
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(0,0,0,.7);
  border: 1px solid var(--border);
  color: var(--text-dim);
  backdrop-filter: blur(4px);
}

.se-reward-card-body { padding: var(--s4, 16px); flex: 1; }
.se-reward-card-name {
  font: 600 1rem/1.3 var(--font-ui);
  color: var(--text-bright, #e8f4ff);
  margin-bottom: var(--s2, 8px);
}
.se-reward-card-desc {
  font: 400 .78rem/1.5 var(--font-body);
  color: var(--text-dim, #6b8cac);
}

.se-reward-card-foot {
  padding: var(--s3, 12px) var(--s4, 16px);
  border-top: 1px solid var(--border, rgba(0,255,231,.12));
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s3, 12px);
  background: var(--bg3, #0c1520);
}
.se-reward-cost {
  display: flex;
  align-items: center;
  gap: var(--s2, 8px);
}
.se-reward-cost-item {
  display: flex;
  align-items: center;
  gap: 4px;
  font: 700 .85rem/1 var(--font-mono);
}
.se-reward-cost-item--xp   { color: var(--clr-neon,  #00ffe7); }
.se-reward-cost-item--coin { color: var(--clr-neon3, #ffe600); }
.se-reward-stock {
  font: 500 .72rem/1 var(--font-body);
  color: var(--text-dim, #6b8cac);
}
.se-reward-stock--low { color: var(--clr-neon2, #ff2d78); }

/* Spin wheel */
.se-spin-wrap {
  background: var(--bg2, #080f18);
  border: 1px solid var(--border, rgba(0,255,231,.12));
  border-radius: var(--radius-lg, 8px);
  padding: var(--s6, 32px);
  text-align: center;
  margin-bottom: var(--s6, 32px);
}
.se-spin-wheel {
  width: 200px; height: 200px;
  border-radius: 50%;
  border: 3px solid var(--clr-neon, #00ffe7);
  box-shadow: 0 0 32px rgba(0,255,231,.2), inset 0 0 32px rgba(0,255,231,.05);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto var(--s5, 24px);
  font-size: 3rem;
  position: relative;
  transition: box-shadow var(--t-slow);
}
.se-spin-wheel.spinning {
  animation: se-spin .3s linear infinite;
  box-shadow: 0 0 48px rgba(0,255,231,.4);
}
.se-spin-title {
  font: 700 1.1rem/1 var(--font-display);
  color: var(--text-bright, #e8f4ff);
  margin-bottom: var(--s2, 8px);
}
.se-spin-sub { font: 400 .8rem/1.4 var(--font-body); color: var(--text-dim); margin-bottom: var(--s4, 16px); }
.se-spin-result {
  font: 700 1.2rem/1 var(--font-display);
  color: var(--clr-neon, #00ffe7);
  padding: var(--s3, 12px);
  animation: se-fadein .4s ease;
}
@keyframes se-fadein { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

/* ══════════════════════════════════════════════════════════════════════ */
/* REFERRAL PAGE                                                          */
/* ══════════════════════════════════════════════════════════════════════ */

.se-referral-hero {
  background: var(--bg2, #080f18);
  border: 1px solid var(--border, rgba(0,255,231,.12));
  border-radius: var(--radius-lg, 8px);
  padding: var(--s6, 32px);
  margin-bottom: var(--s5, 24px);
  text-align: center;
  position: relative;
  overflow: hidden;
}
.se-referral-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse 60% 80% at 50% 100%, rgba(0,255,231,.06), transparent);
  pointer-events: none;
}
.se-referral-hero-icon { font-size: 3.5rem; margin-bottom: var(--s3, 12px); }
.se-referral-hero-title {
  font: 700 1.8rem/1.1 var(--font-display);
  color: var(--text-bright, #e8f4ff);
  margin-bottom: var(--s2, 8px);
}
.se-referral-hero-sub {
  font: 400 .95rem/1.5 var(--font-body);
  color: var(--text-dim, #6b8cac);
  max-width: 480px;
  margin: 0 auto var(--s5, 24px);
}

.se-ref-link-box {
  display: flex;
  gap: var(--s2, 8px);
  max-width: 560px;
  margin: 0 auto;
}
.se-ref-input {
  flex: 1;
  background: var(--bg3, #0c1520);
  border: 1px solid var(--border-hover, rgba(0,255,231,.3));
  border-radius: var(--radius, 4px);
  color: var(--clr-neon, #00ffe7);
  font: 500 .82rem/1 var(--font-mono);
  padding: 10px 14px;
  letter-spacing: .5px;
}
.se-ref-input:focus { outline: none; border-color: var(--clr-neon, #00ffe7); box-shadow: 0 0 0 3px rgba(0,255,231,.1); }

.se-referral-stats-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--s4, 16px);
  margin-bottom: var(--s5, 24px);
}

.se-referral-how {
  background: var(--bg2, #080f18);
  border: 1px solid var(--border, rgba(0,255,231,.12));
  border-radius: var(--radius-lg, 8px);
  padding: var(--s5, 24px);
}
.se-how-steps {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--s4, 16px);
  margin-top: var(--s4, 16px);
}
@media (max-width: 600px) {
  .se-how-steps { grid-template-columns: 1fr; }
  .se-referral-stats-grid { grid-template-columns: 1fr; }
}
.se-how-step {
  text-align: center;
  padding: var(--s4, 16px);
  background: var(--bg3, #0c1520);
  border-radius: var(--radius-lg, 8px);
  border: 1px solid var(--border, rgba(0,255,231,.12));
}
.se-how-step-num {
  width: 36px; height: 36px;
  border-radius: 50%;
  border: 2px solid var(--clr-neon, #00ffe7);
  display: flex; align-items: center; justify-content: center;
  font: 700 .85rem/1 var(--font-display);
  color: var(--clr-neon, #00ffe7);
  margin: 0 auto var(--s3, 12px);
}
.se-how-step-title {
  font: 600 .85rem/1.3 var(--font-ui);
  color: var(--text-bright, #e8f4ff);
  margin-bottom: var(--s1, 4px);
}
.se-how-step-desc {
  font: 400 .75rem/1.4 var(--font-body);
  color: var(--text-dim, #6b8cac);
}

/* Referred users table */
.se-ref-table { width: 100%; border-collapse: collapse; }
.se-ref-table th {
  font: 600 .65rem/1 var(--font-ui);
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--text-dim, #6b8cac);
  text-align: left;
  padding: var(--s2, 8px) var(--s3, 12px);
  border-bottom: 1px solid var(--border, rgba(0,255,231,.12));
}
.se-ref-table td {
  font: 400 .85rem/1 var(--font-body);
  color: var(--text, #c8d8e8);
  padding: var(--s3, 12px);
  border-bottom: 1px solid rgba(0,255,231,.06);
}
.se-ref-table tr:last-child td { border-bottom: none; }
.se-ref-table tr:hover td { background: var(--bg3, #0c1520); }

/* ══════════════════════════════════════════════════════════════════════ */
/* RESPONSIVE                                                             */
/* ══════════════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {
  .se-ph { grid-template-columns: 1fr; }
  .se-ph-meta { text-align: left; }
  .se-ph-title { font-size: 1.7rem; }
  .se-podium { grid-template-columns: 1fr; }
  .se-podium-item--1 { order: -1; }
  .se-missions-grid { grid-template-columns: 1fr; }
  .se-rewards-grid { grid-template-columns: 1fr; }
  .se-statbar .se-stat { flex: 1 1 calc(50% - 6px); }
}
@media (max-width: 480px) {
  .se-page { padding-inline: var(--s3, 12px); }
  .se-lb-row { grid-template-columns: 32px 32px 1fr auto; }
  .se-lb-row-badge { display: none; }
}

/* ── Tools Directory page (template-tools.php) ────────────────── */
.se-tools-hero       { padding: var(--s10, 80px) 0 var(--s7, 40px); text-align: center; }
.se-tools-hero-inner { max-width: 640px; margin: 0 auto; }
.se-tools-hero-title { font: 800 2.2rem/1.1 var(--font-display, monospace); color: var(--text-bright, #e8f4f8);
                        margin-bottom: var(--s3, 12px); }
.se-tools-hero-sub   { color: var(--text-dim, #8899aa); font-size: 1rem; line-height: 1.5; }
.se-tools-hero-text  { margin-top: var(--s5, 24px); }
.se-tools-stats-grid { display: flex; gap: var(--s5, 24px); justify-content: center;
                        flex-wrap: wrap; margin-top: var(--s5, 24px); }
.se-tools-stat-box   { text-align: center; }
.se-tools-stat-ico   { font-size: 1.2rem; margin-bottom: 4px; }
.se-tools-stat-num   { font: 800 1.6rem/1 var(--font-display, monospace); color: var(--se-neon, #00ffe7); }
.se-tools-stat-label { font: 400 .7rem/1 var(--font-ui, monospace); color: var(--text-dim, #8899aa);
                        letter-spacing: 1px; text-transform: uppercase; }

.se-tools-bar        { position: sticky; top: calc(var(--header-h, 60px) + 32px); z-index: 10;
                        background: rgba(5,10,15,.92); backdrop-filter: blur(12px);
                        padding: var(--s3, 12px) 0; border-bottom: 1px solid var(--border, rgba(0,255,231,.12)); }
.se-tools-bar-wrap   { display: flex; gap: var(--s3, 12px); align-items: center; flex-wrap: wrap; }
.se-tools-search-wrap{ position: relative; flex: 1; min-width: 200px; }
.se-tools-search-ico { position: absolute; left: var(--s3, 12px); top: 50%; transform: translateY(-50%);
                        color: var(--text-dim, #8899aa); pointer-events: none; }
.se-tools-search-input{ width: 100%; padding: var(--s3, 12px) var(--s3, 12px) var(--s3, 12px) calc(var(--s3,12px)*3);
                        background: var(--bg2, #080f18); border: 1px solid var(--border, rgba(0,255,231,.12));
                        border-radius: var(--radius, 4px); color: var(--text-bright, #e8f4f8);
                        font: 400 .85rem/1 var(--font-mono, monospace); }
.se-tools-search-input:focus { outline: none; border-color: var(--se-neon, #00ffe7); }
.se-tools-filters    { display: flex; gap: var(--s2, 8px); flex-wrap: wrap; }
.se-tools-filter     { padding: 6px 14px; background: transparent;
                        border: 1px solid var(--border, rgba(0,255,231,.12));
                        border-radius: 20px; cursor: pointer;
                        font: 500 .7rem/1 var(--font-mono, monospace); color: var(--text-dim, #8899aa);
                        transition: all var(--t-fast); white-space: nowrap; }
.se-tools-filter.active,.se-tools-filter:hover { background: rgba(0,255,231,.1);
                        border-color: var(--se-neon, #00ffe7); color: var(--se-neon, #00ffe7); }
.se-tools-filter-count{ margin-left: 4px; opacity: .6; }

.se-tc-icon   { font-size: 1.8rem; margin-bottom: var(--s2, 8px); line-height: 1; }
.se-tc-name   { font: 700 .9rem/1.2 var(--font-ui, monospace); color: var(--text-bright, #e8f4f8);
                margin-bottom: 4px; }
.se-tc-desc   { font: 400 .75rem/1.4 var(--font-ui, monospace); color: var(--text-dim, #8899aa); flex: 1; }
.se-tc-header { display: flex; align-items: center; gap: var(--s3, 12px); }
.se-tc-footer { display: flex; align-items: center; justify-content: space-between;
                padding-top: var(--s3, 12px); margin-top: auto;
                border-top: 1px solid var(--border, rgba(0,255,231,.08)); }
.se-tc-badge  { font: 700 .6rem/1 var(--font-mono, monospace); letter-spacing: 1px;
                text-transform: uppercase; padding: 3px 8px; border-radius: 3px;
                background: rgba(0,255,231,.1); color: var(--se-neon, #00ffe7); }
.se-tc-launch { font: 600 .7rem/1 var(--font-mono, monospace); color: var(--se-neon, #00ffe7);
                text-decoration: none; display: flex; align-items: center; gap: 4px; }
.se-tc-uses   { font: 400 .65rem/1 var(--font-mono, monospace); color: var(--text-dim, #8899aa); }

.se-tools-empty       { text-align: center; padding: var(--s9, 60px) var(--s5, 24px); }
.se-tools-empty-ico   { font-size: 3rem; margin-bottom: var(--s4, 16px); opacity: .5; }
.se-tools-empty-head  { font: 700 1.1rem/1 var(--font-display, monospace); color: var(--text-bright, #e8f4f8);
                        margin-bottom: var(--s2, 8px); }
.se-tools-empty-sub   { color: var(--text-dim, #8899aa); font-size: .85rem; }

.se-tools-cta         { padding: var(--s9, 60px) 0; }
.se-tools-cta-inner   { max-width: 560px; margin: 0 auto; text-align: center; }
.se-tools-cta-kicker  { font: 700 .65rem/1 var(--font-mono, monospace); letter-spacing: 3px;
                        text-transform: uppercase; color: var(--se-neon, #00ffe7); margin-bottom: var(--s3, 12px); }
.se-tools-cta-title   { font: 800 1.8rem/1.1 var(--font-display, monospace); color: var(--text-bright, #e8f4f8);
                        margin-bottom: var(--s3, 12px); }
.se-tools-cta-sub     { color: var(--text-dim, #8899aa); font-size: .9rem; line-height: 1.5;
                        margin-bottom: var(--s5, 24px); }
.se-tools-cta-btns    { display: flex; gap: var(--s3, 12px); justify-content: center; flex-wrap: wrap; }


/* ══════════════════════════════════════════════════════════════
   COURSE HUB (template-course-hub-body.php)
   ══════════════════════════════════════════════════════════════ */
.se-ch-hero {
  background: linear-gradient(135deg, var(--bg2, #080f18) 0%, rgba(0,0,0,.8) 100%);
  border-bottom: 1px solid var(--course-color, var(--se-neon, #00ffe7));
  padding: var(--s10, 80px) 0 var(--s7, 40px);
  position: relative;
  overflow: hidden;
}
.se-ch-hero::before {
  content: '';
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at 20% 50%, rgba(var(--course-color-rgb, 0,255,231), .06) 0%, transparent 60%);
  pointer-events: none;
}
.se-ch-hero-inner {
  display: flex;
  gap: var(--s7, 40px);
  align-items: flex-start;
}
.se-ch-icon {
  font-size: 4rem;
  line-height: 1;
  flex-shrink: 0;
  filter: drop-shadow(0 0 20px var(--course-color, #00ffe7));
}
.se-ch-kicker {
  font: 700 .65rem/1 var(--font-mono, monospace);
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--course-color, var(--se-neon, #00ffe7));
  margin-bottom: var(--s2, 8px);
}
.se-ch-title {
  font: 800 2.4rem/1.1 var(--font-display, monospace);
  color: var(--text-bright, #e8f4f8);
  margin: 0 0 var(--s3, 12px);
}
.se-ch-desc {
  color: var(--text-dim, #8899aa);
  font-size: .95rem;
  line-height: 1.6;
  max-width: 560px;
  margin: 0 0 var(--s4, 16px);
}
.se-ch-stats {
  display: flex;
  flex-wrap: wrap;
  gap: var(--s3, 12px);
  margin-bottom: var(--s5, 24px);
}
.se-ch-stat {
  font: 500 .75rem/1 var(--font-mono, monospace);
  color: var(--text-dim, #8899aa);
  background: rgba(255,255,255,.04);
  border: 1px solid var(--border, rgba(0,255,231,.12));
  border-radius: 20px;
  padding: 5px 12px;
}

/* Progress bar */
.se-ch-progress-wrap { margin-bottom: var(--s4, 16px); }
.se-ch-progress-bar  { height: 6px; background: rgba(255,255,255,.08); border-radius: 3px; overflow: hidden; margin-bottom: 6px; }
.se-ch-progress-fill { height: 100%; background: var(--course-color, var(--se-neon, #00ffe7)); border-radius: 3px; transition: width .6s ease; }
.se-ch-progress-label { font: 500 .75rem/1 var(--font-mono, monospace); color: var(--text-dim, #8899aa); }

/* CTA row */
.se-ch-cta-row { display: flex; gap: var(--s3, 12px); flex-wrap: wrap; }
.se-btn--outline {
  background: transparent;
  border: 1px solid rgba(255,255,255,.2);
  color: var(--text-dim, #8899aa);
  padding: var(--s3, 12px) var(--s5, 24px);
  border-radius: var(--radius, 4px);
  font: 600 .8rem/1 var(--font-ui, monospace);
  text-decoration: none;
  transition: all var(--t-fast);
}
.se-btn--outline:hover { border-color: rgba(255,255,255,.5); color: var(--text-bright, #e8f4f8); }

/* Body */
.se-ch-body { padding-top: var(--s7, 40px); }

/* Lesson rows */
.se-ch-lessons { display: flex; flex-direction: column; gap: 4px; }
.se-ch-lesson-row {
  display: grid;
  grid-template-columns: 80px 1fr 32px;
  align-items: center;
  gap: var(--s4, 16px);
  padding: var(--s4, 16px);
  background: var(--bg2, #080f18);
  border: 1px solid var(--border, rgba(0,255,231,.12));
  border-radius: var(--radius, 4px);
  text-decoration: none;
  color: var(--text-bright, #e8f4f8);
  transition: all var(--t-fast);
  cursor: pointer;
}
.se-ch-lesson-row:hover { border-color: rgba(0,255,231,.3); background: rgba(0,255,231,.03); }
.se-ch-lesson--next { border-color: var(--badge-color, var(--se-neon, #00ffe7)) !important; box-shadow: 0 0 12px rgba(0,255,231,.1); }
.se-ch-lesson--done { opacity: .65; }
.se-ch-lesson--done:hover { opacity: 1; }

.se-ch-day-badge {
  text-align: center;
  font: 700 .7rem/1 var(--font-mono, monospace);
  color: var(--badge-color, var(--se-neon, #00ffe7));
  border: 1px solid var(--badge-color, var(--se-neon, #00ffe7));
  border-radius: var(--radius, 4px);
  padding: 6px 4px;
  letter-spacing: .5px;
}
.se-ch-check { font-size: 1rem; }

.se-ch-lesson-title { font: 600 .9rem/1.3 var(--font-ui, monospace); margin-bottom: 4px; }
.se-ch-lesson-meta  { display: flex; gap: var(--s3, 12px); font: 400 .7rem/1 var(--font-mono, monospace); color: var(--text-dim, #8899aa); }
.se-ch-next-badge   { color: var(--se-neon, #00ffe7); font-weight: 700; }
.se-ch-lesson-arrow { text-align: center; color: var(--text-dim, #8899aa); font-size: 1.2rem; }

.se-ch-upcoming { padding: var(--s5, 24px) 0; }
.se-ch-upcoming-note { font: 400 .85rem/1 var(--font-mono, monospace); color: var(--text-dim, #8899aa); text-align: center; }

/* Responsive */
@media (max-width: 640px) {
  .se-ch-hero-inner { flex-direction: column; gap: var(--s4, 16px); }
  .se-ch-icon { font-size: 2.5rem; }
  .se-ch-title { font-size: 1.6rem; }
  .se-ch-lesson-row { grid-template-columns: 60px 1fr 24px; padding: var(--s3, 12px); }
}

/* ══════════════════════════════════════════════════════════════
   REGISTRATION PAGE (template-register.php)
   ══════════════════════════════════════════════════════════════ */
.se-reg-page { padding: var(--s9, 60px) 0; min-height: 80vh; display: flex; align-items: center; }
.se-reg-inner {
  display: grid;
  grid-template-columns: 1fr 420px;
  gap: var(--s9, 60px);
  align-items: center;
}
.se-reg-kicker {
  font: 700 .65rem/1 var(--font-mono, monospace);
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--se-neon, #00ffe7);
  margin-bottom: var(--s3, 12px);
}
.se-reg-headline {
  font: 800 3rem/1.1 var(--font-display, monospace);
  color: var(--text-bright, #e8f4f8);
  margin: 0 0 var(--s4, 16px);
}
.se-reg-sub {
  color: var(--text-dim, #8899aa);
  font-size: 1rem;
  line-height: 1.6;
  max-width: 480px;
  margin-bottom: var(--s5, 24px);
}
.se-reg-perks {
  list-style: none;
  padding: 0;
  margin: 0 0 var(--s5, 24px);
  display: flex;
  flex-direction: column;
  gap: var(--s2, 8px);
}
.se-reg-perks li {
  font: 500 .9rem/1.4 var(--font-ui, monospace);
  color: var(--text-dim, #8899aa);
  display: flex;
  align-items: center;
  gap: var(--s2, 8px);
}
.se-reg-social-proof {
  font: 400 .85rem/1.4 var(--font-ui, monospace);
  color: var(--text-dim, #8899aa);
  border-left: 2px solid var(--se-neon, #00ffe7);
  padding-left: var(--s3, 12px);
  font-style: italic;
}

/* Form card */
.se-reg-form-card {
  background: var(--bg2, #080f18);
  border: 1px solid var(--border, rgba(0,255,231,.12));
  border-radius: var(--radius-lg, 8px);
  padding: var(--s7, 40px);
}
.se-reg-form-title {
  font: 700 1.4rem/1 var(--font-display, monospace);
  color: var(--text-bright, #e8f4f8);
  margin: 0 0 var(--s5, 24px);
}
.se-reg-error {
  background: rgba(255,68,68,.1);
  border: 1px solid rgba(255,68,68,.3);
  border-radius: var(--radius, 4px);
  padding: var(--s3, 12px);
  color: #ff6666;
  font-size: .85rem;
  margin-bottom: var(--s4, 16px);
}
.se-reg-field { margin-bottom: var(--s4, 16px); }
.se-reg-field label {
  display: block;
  font: 600 .7rem/1 var(--font-mono, monospace);
  letter-spacing: 1px;
  text-transform: uppercase;
  color: var(--text-dim, #8899aa);
  margin-bottom: var(--s2, 8px);
}
.se-reg-input {
  width: 100%;
  background: var(--bg3, #0d1520);
  border: 1px solid var(--border, rgba(0,255,231,.12));
  border-radius: var(--radius, 4px);
  padding: var(--s3, 12px) var(--s4, 16px);
  color: var(--text-bright, #e8f4f8);
  font: 400 .9rem/1 var(--font-mono, monospace);
  width: 100%;
  box-sizing: border-box;
  transition: border-color var(--t-fast);
}
.se-reg-input:focus { outline: none; border-color: var(--se-neon, #00ffe7); }
.se-reg-submit { width: 100%; margin-top: var(--s2, 8px); padding: var(--s4, 16px); font-size: .9rem; }
.se-reg-login-link {
  text-align: center;
  margin-top: var(--s4, 16px);
  font: 400 .8rem/1 var(--font-ui, monospace);
  color: var(--text-dim, #8899aa);
}
.se-reg-login-link a { color: var(--se-neon, #00ffe7); text-decoration: none; }
.se-reg-legal {
  text-align: center;
  font: 400 .7rem/1.4 var(--font-mono, monospace);
  color: rgba(136,153,170,.6);
  margin-top: var(--s3, 12px);
}
.se-reg-legal a { color: rgba(0,255,231,.6); }

@media (max-width: 900px) {
  .se-reg-inner { grid-template-columns: 1fr; gap: var(--s6, 32px); }
  .se-reg-headline { font-size: 2rem; }
}

/* ══════════════════════════════════════════════════════════════
   ALL COURSES PAGE (template-all-courses.php)
   ══════════════════════════════════════════════════════════════ */

/* Breadcrumb */
.se-breadcrumb {
  padding: var(--s3, 12px) 0;
  border-bottom: 1px solid var(--border, rgba(0,255,231,.08));
  font: 400 .75rem/1 var(--font-mono, monospace);
  color: var(--text-dim, #8899aa);
}
.se-breadcrumb a { color: var(--text-dim, #8899aa); text-decoration: none; }
.se-breadcrumb a:hover { color: var(--se-neon, #00ffe7); }

/* Hero */
.se-ac-hero {
  padding: var(--s10, 80px) 0 var(--s8, 56px);
  background: linear-gradient(180deg, rgba(0,255,231,.04) 0%, transparent 100%);
  border-bottom: 1px solid var(--border, rgba(0,255,231,.1));
  text-align: center;
}
.se-ac-hero-inner { max-width: 740px; margin: 0 auto; }
.se-ac-kicker {
  font: 700 .65rem/1 var(--font-mono, monospace);
  letter-spacing: 3px;
  text-transform: uppercase;
  color: var(--se-neon, #00ffe7);
  margin-bottom: var(--s3, 12px);
}
.se-ac-h1 {
  font: 800 3rem/1.1 var(--font-display, monospace);
  color: var(--text-bright, #e8f4f8);
  margin: 0 0 var(--s4, 16px);
}
.se-ac-h1-accent { color: var(--se-neon, #00ffe7); }
.se-ac-hero-sub {
  font: 400 1.05rem/1.6 var(--font-ui, monospace);
  color: var(--text-dim, #8899aa);
  max-width: 560px;
  margin: 0 auto var(--s6, 32px);
}

/* Trust bar */
.se-ac-trust-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--s4, 16px);
  flex-wrap: wrap;
  margin-bottom: var(--s6, 32px);
}
.se-ac-trust-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}
.se-ac-trust-item strong {
  font: 700 1.4rem/1 var(--font-display, monospace);
  color: var(--se-neon, #00ffe7);
}
.se-ac-trust-item span {
  font: 400 .7rem/1 var(--font-mono, monospace);
  color: var(--text-dim, #8899aa);
  text-transform: uppercase;
  letter-spacing: 1px;
}
.se-ac-trust-divider {
  width: 1px;
  height: 32px;
  background: var(--border, rgba(0,255,231,.15));
}

/* Filter tabs */
.se-ac-filters {
  display: flex;
  gap: var(--s2, 8px);
  justify-content: center;
  flex-wrap: wrap;
}
.se-ac-filter {
  padding: 7px 18px;
  background: transparent;
  border: 1px solid var(--border, rgba(0,255,231,.15));
  border-radius: 20px;
  font: 500 .75rem/1 var(--font-mono, monospace);
  color: var(--text-dim, #8899aa);
  cursor: pointer;
  transition: all var(--t-fast);
}
.se-ac-filter.active,
.se-ac-filter:hover {
  background: rgba(0,255,231,.1);
  border-color: var(--se-neon, #00ffe7);
  color: var(--se-neon, #00ffe7);
}

/* Course cards grid */
.se-ac-cards-wrap { padding: var(--s8, 56px) 0; }
.se-ac-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: var(--s5, 24px);
}
.se-ac-card {
  position: relative;
  background: var(--bg2, #080f18);
  border: 1px solid var(--border, rgba(0,255,231,.12));
  border-radius: var(--radius-lg, 8px);
  padding: var(--s5, 24px);
  display: flex;
  flex-direction: column;
  gap: var(--s4, 16px);
  transition: transform var(--t-mid), box-shadow var(--t-mid), border-color var(--t-mid);
  overflow: hidden;
}
.se-ac-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 40px rgba(0,0,0,.35);
  border-color: var(--card-color, var(--se-neon, #00ffe7));
}
.se-ac-card-accent {
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: var(--card-color, var(--se-neon, #00ffe7));
  border-radius: var(--radius-lg, 8px) var(--radius-lg, 8px) 0 0;
}
.se-ac-card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.se-ac-card-icon { font-size: 2.2rem; line-height: 1; }

/* Course badges */
.se-ac-badge {
  font: 700 .6rem/1 var(--font-mono, monospace);
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 3px;
}
.se-ac-badge--popular  { background: rgba(0,255,231,.12); color: var(--se-neon, #00ffe7); border: 1px solid rgba(0,255,231,.3); }
.se-ac-badge--money    { background: rgba(255,230,0,.1);  color: #ffe600;                 border: 1px solid rgba(255,230,0,.3); }
.se-ac-badge--ceh      { background: rgba(255,68,204,.1); color: #ff44cc;                 border: 1px solid rgba(255,68,204,.3); }
.se-ac-badge--lab      { background: rgba(0,255,136,.1);  color: #00ff88;                 border: 1px solid rgba(0,255,136,.3); }

.se-ac-card-title {
  font: 700 1.15rem/1.2 var(--font-display, monospace);
  margin: 0;
}
.se-ac-card-title a {
  color: var(--text-bright, #e8f4f8);
  text-decoration: none;
}
.se-ac-card-title a:hover { color: var(--card-color, var(--se-neon, #00ffe7)); }
.se-ac-card-meta {
  display: flex;
  gap: var(--s2, 8px);
  flex-wrap: wrap;
}
.se-ac-meta-pill {
  font: 500 .68rem/1 var(--font-mono, monospace);
  color: var(--text-dim, #8899aa);
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 12px;
  padding: 3px 10px;
}
.se-ac-card-desc {
  font: 400 .85rem/1.5 var(--font-ui, monospace);
  color: var(--text-dim, #8899aa);
  flex: 1;
  margin: 0;
}

/* Topics list */
.se-ac-topics { background: rgba(0,0,0,.2); border-radius: var(--radius, 4px); padding: var(--s3, 12px); }
.se-ac-topics-label {
  font: 700 .65rem/1 var(--font-mono, monospace);
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--card-color, var(--se-neon, #00ffe7));
  margin-bottom: var(--s2, 8px);
}
.se-ac-topics-list {
  list-style: none;
  padding: 0; margin: 0;
  display: flex; flex-direction: column; gap: 5px;
}
.se-ac-topics-list li {
  font: 400 .78rem/1.3 var(--font-ui, monospace);
  color: var(--text-dim, #8899aa);
  padding-left: 16px;
  position: relative;
}
.se-ac-topics-list li::before {
  content: '>';
  position: absolute;
  left: 0;
  color: var(--card-color, var(--se-neon, #00ffe7));
  font-size: .7rem;
}
.se-ac-card-cta { margin-top: auto; text-align: center; }

/* Section headings */
.se-ac-section-h2 {
  font: 700 1.8rem/1.1 var(--font-display, monospace);
  color: var(--text-bright, #e8f4f8);
  text-align: center;
  margin: 0 0 var(--s3, 12px);
}
.se-ac-section-sub {
  text-align: center;
  color: var(--text-dim, #8899aa);
  font-size: .9rem;
  margin: 0 auto var(--s6, 32px);
  max-width: 520px;
}

/* Comparison table */
.se-ac-compare-wrap { padding: var(--s8, 56px) 0; background: rgba(0,0,0,.2); }
.se-ac-table-scroll { overflow-x: auto; }
.se-ac-table {
  width: 100%;
  border-collapse: collapse;
  font: 400 .85rem/1.4 var(--font-ui, monospace);
  color: var(--text-bright, #e8f4f8);
  min-width: 540px;
}
.se-ac-table th {
  text-align: left;
  padding: var(--s3, 12px) var(--s4, 16px);
  font: 700 .65rem/1 var(--font-mono, monospace);
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--text-dim, #8899aa);
  border-bottom: 1px solid var(--border, rgba(0,255,231,.15));
}
.se-ac-table td {
  padding: var(--s3, 12px) var(--s4, 16px);
  border-bottom: 1px solid rgba(255,255,255,.05);
  vertical-align: middle;
}
.se-ac-table a { color: var(--se-neon, #00ffe7); text-decoration: none; }
.se-ac-table a:hover { text-decoration: underline; }
.se-ac-table tr:last-child td { border-bottom: none; }
.se-ac-table tr:hover td { background: rgba(255,255,255,.02); }
.se-ac-level {
  font: 700 .65rem/1 var(--font-mono, monospace);
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 3px 8px;
  border-radius: 3px;
}
.se-ac-level--beginner     { background: rgba(0,255,136,.1); color: #00ff88; }
.se-ac-level--intermediate { background: rgba(255,140,0,.1);  color: #ff8c00; }

.se-ac-ceh-strip {
  margin-top: var(--s5, 24px);
  padding: var(--s4, 16px) var(--s5, 24px);
  background: rgba(0,255,231,.05);
  border: 1px solid rgba(0,255,231,.15);
  border-radius: var(--radius, 4px);
  display: flex;
  align-items: center;
  gap: var(--s3, 12px);
  flex-wrap: wrap;
  font: 500 .85rem/1 var(--font-ui, monospace);
  color: var(--text-dim, #8899aa);
}
.se-ac-ceh-link { color: var(--se-neon, #00ffe7); text-decoration: none; font-weight: 700; }
.se-ac-ceh-link:hover { text-decoration: underline; }

/* Learning path */
.se-ac-path-wrap { padding: var(--s8, 56px) 0; }
.se-ac-path {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--s2, 8px);
  flex-wrap: wrap;
  margin-top: var(--s4, 16px);
}
.se-ac-path-step {
  display: flex;
  align-items: center;
  gap: var(--s2, 8px);
  background: var(--bg2, #080f18);
  border: 1px solid var(--border, rgba(0,255,231,.12));
  border-radius: var(--radius, 4px);
  padding: var(--s3, 12px) var(--s4, 16px);
}
.se-ac-path-num {
  width: 24px; height: 24px;
  background: var(--se-neon, #00ffe7);
  color: #000;
  border-radius: 50%;
  font: 700 .75rem/24px var(--font-mono, monospace);
  text-align: center;
  flex-shrink: 0;
}
.se-ac-path-icon { font-size: 1.3rem; }
.se-ac-path-label { display: flex; flex-direction: column; gap: 2px; }
.se-ac-path-label a { font: 600 .8rem/1 var(--font-ui, monospace); color: var(--text-bright, #e8f4f8); text-decoration: none; }
.se-ac-path-label a:hover { color: var(--se-neon, #00ffe7); }
.se-ac-path-label span { font: 400 .65rem/1 var(--font-mono, monospace); color: var(--text-dim, #8899aa); }
.se-ac-path-arrow { font-size: 1.2rem; color: var(--text-dim, #8899aa); }

/* FAQ */
.se-ac-faq-wrap { padding: var(--s8, 56px) 0; background: rgba(0,0,0,.15); }
.se-ac-faq-list { max-width: 720px; margin: 0 auto; display: flex; flex-direction: column; gap: var(--s2, 8px); }
.se-ac-faq-item {
  background: var(--bg2, #080f18);
  border: 1px solid var(--border, rgba(0,255,231,.12));
  border-radius: var(--radius, 4px);
  overflow: hidden;
  transition: border-color var(--t-fast);
}
.se-ac-faq-item[open] { border-color: rgba(0,255,231,.3); }
.se-ac-faq-q {
  padding: var(--s4, 16px) var(--s5, 24px);
  font: 600 .9rem/1.3 var(--font-ui, monospace);
  color: var(--text-bright, #e8f4f8);
  cursor: pointer;
  list-style: none;
  display: flex;
  justify-content: space-between;
  align-items: center;
  user-select: none;
}
.se-ac-faq-q::after {
  content: '+';
  font: 700 1.2rem/1 var(--font-mono, monospace);
  color: var(--se-neon, #00ffe7);
  flex-shrink: 0;
  margin-left: var(--s3, 12px);
  transition: transform var(--t-fast);
}
.se-ac-faq-item[open] .se-ac-faq-q::after { transform: rotate(45deg); }
.se-ac-faq-a {
  padding: 0 var(--s5, 24px) var(--s4, 16px);
  font: 400 .85rem/1.6 var(--font-ui, monospace);
  color: var(--text-dim, #8899aa);
}

/* Bottom CTA */
.se-ac-bottom-cta {
  padding: var(--s9, 60px) 0;
  background: linear-gradient(135deg, rgba(0,255,231,.06) 0%, rgba(123,47,255,.06) 100%);
  border-top: 1px solid var(--border, rgba(0,255,231,.1));
}
.se-ac-bottom-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--s6, 32px);
  flex-wrap: wrap;
}
.se-ac-bottom-h2 {
  font: 700 1.6rem/1.2 var(--font-display, monospace);
  color: var(--text-bright, #e8f4f8);
  margin: 0 0 var(--s2, 8px);
}
.se-ac-bottom-text p { color: var(--text-dim, #8899aa); font-size: .9rem; margin: 0; }
.se-ac-bottom-btns { display: flex; gap: var(--s3, 12px); flex-wrap: wrap; }

/* Responsive */
@media (max-width: 900px) {
  .se-ac-h1 { font-size: 2.2rem; }
  .se-ac-grid { grid-template-columns: 1fr 1fr; }
  .se-ac-path { flex-direction: column; align-items: flex-start; }
  .se-ac-path-arrow { transform: rotate(90deg); }
  .se-ac-bottom-inner { flex-direction: column; text-align: center; }
  .se-ac-bottom-btns { justify-content: center; }
}
@media (max-width: 600px) {
  .se-ac-h1 { font-size: 1.7rem; }
  .se-ac-grid { grid-template-columns: 1fr; }
  .se-ac-trust-bar { gap: var(--s3, 12px); }
  .se-ac-trust-divider { display: none; }
}

/* ══════════════════════════════════════════════════════════════
   HACKING LABS PAGE (template-hacking-labs.php)
   ══════════════════════════════════════════════════════════════ */
.se-hl-hero .se-ac-h1-accent { color: #00ff88; }

/* What you need setup grid */
.se-hl-setup-wrap { padding: var(--s8, 56px) 0; }
.se-hl-setup-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: var(--s5, 24px);
  margin-top: var(--s6, 32px);
}
.se-hl-setup-card {
  background: var(--bg2, #080f18);
  border: 1px solid var(--border, rgba(0,255,231,.12));
  border-radius: var(--radius, 4px);
  padding: var(--s5, 24px);
  display: flex;
  flex-direction: column;
  gap: var(--s2, 8px);
  transition: border-color var(--t-fast);
}
.se-hl-setup-card:hover { border-color: rgba(0,255,231,.3); }
.se-hl-setup-icon { font-size: 2rem; line-height: 1; }
.se-hl-setup-title {
  font: 600 .95rem/1.2 var(--font-ui, monospace);
  color: var(--text-bright, #e8f4f8);
  margin: 0;
}
.se-hl-setup-title a { color: var(--se-neon, #00ffe7); text-decoration: none; }
.se-hl-setup-title a:hover { text-decoration: underline; }
.se-hl-setup-desc {
  font: 400 .8rem/1.5 var(--font-ui, monospace);
  color: var(--text-dim, #8899aa);
  margin: 0;
}
@media (max-width: 600px) {
  .se-hl-setup-grid { grid-template-columns: 1fr 1fr; }
}
