/* ══════════════════════════════════════════════════════════════
   RECOGNITION — Matrix-themed styles
   All rules scoped to .matrix-scope so nothing leaks outside.
   ══════════════════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=JetBrains+Mono:wght@400;500;700&display=swap');

.matrix-scope {
  --mx-bg: #04070a;
  --mx-panel: #0a1310;
  --mx-panel2: #0b1016;
  --mx-green: #00ff7b;
  --mx-green-soft: #3dffa0;
  --mx-green-dim: #0f7a4a;
  --mx-line: #163d2b;
  --mx-pink: #ff2d8e;
  --mx-text: #cfe8db;
  --mx-muted: #5e8270;
  --mx-gold: #ffd76a;
  --mx-silver: #b6c9d6;
  --mx-bronze: #d18b52;

  background: var(--mx-bg);
  color: var(--mx-text);
  padding: 28px 32px 60px;
  min-height: 100%;
  height: 100%;
  position: relative;
  font-family: 'Inter', 'Sora', sans-serif;
  overflow-y: auto;
  overflow-x: hidden;
}
/* Canvas + scanlines sit behind content and stay in the visible area on scroll. */
.matrix-scope canvas.mx-rain { position: sticky; top: 0; height: 100vh; margin-bottom: -100vh; }
.matrix-scope .mx-scanlines { position: sticky; top: 0; height: 100vh; margin-bottom: -100vh; pointer-events: none; }

.matrix-scope canvas.mx-rain {
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: .09;
  pointer-events: none;
}
.matrix-scope .mx-scanlines {
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: repeating-linear-gradient(to bottom, rgba(0,0,0,0) 0, rgba(0,0,0,0) 2px, rgba(0,0,0,.14) 3px, rgba(0,0,0,0) 4px);
  mix-blend-mode: multiply;
}
.matrix-scope .mx-wrap { position: relative; z-index: 2; max-width: 1080px; margin: 0 auto; }

.matrix-scope .mx-mono { font-family: 'JetBrains Mono', ui-monospace, monospace; }

.matrix-scope .mx-eyebrow {
  font-family: 'JetBrains Mono', monospace;
  font-size: .72rem; letter-spacing: .28em; text-transform: uppercase;
  color: var(--mx-green); font-weight: 500;
}
.matrix-scope h1.mx-hero {
  font-family: 'Space Grotesk', 'Sora', sans-serif;
  font-size: clamp(2.2rem, 6vw, 4rem);
  color: #fff; margin: 8px 0 6px; letter-spacing: -.02em; text-transform: uppercase;
}
.matrix-scope h1.mx-hero .mx-accent {
  color: var(--mx-green); text-shadow: 0 0 24px rgba(0,255,123,.35);
}
.matrix-scope .mx-sub {
  font-size: 1rem; color: var(--mx-text); max-width: 640px; margin: 0 0 22px;
}
.matrix-scope .mx-sub b { color: var(--mx-green-soft); font-weight: 600; }

.matrix-scope .mx-topbar {
  display: flex; justify-content: space-between; align-items: center;
  border-bottom: 1px solid var(--mx-line);
  padding-bottom: 12px; margin-bottom: 26px;
  font-family: 'JetBrains Mono', monospace; font-size: .7rem;
  color: var(--mx-muted); letter-spacing: .05em;
}
.matrix-scope .mx-pulse { color: var(--mx-green); }
.matrix-scope .mx-pulse::before {
  content: "●"; margin-right: 7px; animation: mx-blink 1.6s steps(1) infinite;
}
@keyframes mx-blink { 50% { opacity: .25; } }

/* Section headings */
.matrix-scope .mx-sec-head {
  display: flex; align-items: baseline; gap: 14px; margin: 30px 0 14px; flex-wrap: wrap;
}
.matrix-scope .mx-sec-num { font-family: 'JetBrains Mono', monospace; color: var(--mx-pink); font-size: .8rem; }
.matrix-scope .mx-sec-title {
  font-family: 'Space Grotesk', 'Sora', sans-serif; font-weight: 700;
  font-size: 1.4rem; color: #fff; text-transform: uppercase; letter-spacing: -.01em;
}

/* Panels */
.matrix-scope .mx-panel {
  background: linear-gradient(180deg, var(--mx-panel) 0%, #070d0a 100%);
  border: 1px solid var(--mx-line); border-radius: 5px;
  padding: 20px 22px; margin-bottom: 14px;
}
.matrix-scope .mx-panel.mx-alt { background: var(--mx-panel2); }

/* Cycle chips */
.matrix-scope .mx-chip {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: 'JetBrains Mono', monospace;
  font-size: .62rem; letter-spacing: .16em; text-transform: uppercase;
  padding: 4px 9px; border-radius: 3px; font-weight: 700;
}
.matrix-scope .mx-chip.st-nominating { background: rgba(0,255,123,.14); color: var(--mx-green); border: 1px solid rgba(0,255,123,.35); }
.matrix-scope .mx-chip.st-voting     { background: rgba(255,45,142,.14); color: var(--mx-pink); border: 1px solid rgba(255,45,142,.4); animation: mx-live 2s infinite; }
.matrix-scope .mx-chip.st-closed     { background: rgba(94,130,112,.18); color: var(--mx-muted); border: 1px solid rgba(94,130,112,.28); }
@keyframes mx-live {
  0%, 100% { box-shadow: 0 0 0 rgba(255,45,142,0); }
  50%      { box-shadow: 0 0 12px rgba(255,45,142,.5); }
}
.matrix-scope .mx-chip::before { content: attr(data-icon); font-size: .85rem; letter-spacing: 0; }

/* Category badges — used on nomination cards */
.matrix-scope .mx-cat-badge {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 3px 9px 3px 6px; border-radius: 3px;
  font-family: 'JetBrains Mono', monospace; font-size: .6rem;
  letter-spacing: .14em; text-transform: uppercase; font-weight: 700;
}
.matrix-scope .mx-cat-badge.cat-win  { background: rgba(255,215,106,.10); color: var(--mx-gold); border: 1px solid rgba(255,215,106,.35); }
.matrix-scope .mx-cat-badge.cat-bts  { background: rgba(61,255,160,.08); color: var(--mx-green-soft); border: 1px solid rgba(61,255,160,.28); }

/* Category guide — hero banners that explain each award */
.matrix-scope .mx-guide-intro {
  font-family: 'JetBrains Mono', monospace; font-size: .82rem;
  color: var(--mx-muted); margin: 0 0 14px;
  border-left: 2px solid var(--mx-green-dim);
  padding: 4px 0 4px 14px;
}
.matrix-scope .mx-guide-intro b { color: var(--mx-green); }
.matrix-scope .mx-guide-grid {
  display: grid; grid-template-columns: 1fr 1fr; gap: 16px;
  margin-bottom: 14px;
}
@media (max-width: 900px) { .matrix-scope .mx-guide-grid { grid-template-columns: 1fr; } }
.matrix-scope .mx-guide-card {
  border: 1px solid var(--mx-line); border-radius: 6px; overflow: hidden;
  background: var(--mx-panel2); transition: box-shadow .2s, transform .2s;
}
.matrix-scope .mx-guide-card.pill-red { }
.matrix-scope .mx-guide-card:hover {
  box-shadow: 0 0 20px rgba(0,255,123,.14);
  transform: translateY(-2px);
}
.matrix-scope .mx-guide-card.pill-red:hover { box-shadow: 0 0 20px rgba(255,45,142,.18); }
.matrix-scope .mx-guide-card img {
  display: block; width: 100%; height: auto;
}
.matrix-scope .mx-guide-card .mx-guide-summary {
  padding: 12px 16px;
  font-family: 'JetBrains Mono', monospace; font-size: .78rem;
  color: var(--mx-muted); letter-spacing: .04em;
  border-top: 1px solid var(--mx-line);
}
.matrix-scope .mx-guide-card .mx-guide-summary b {
  color: var(--mx-green-soft); text-transform: uppercase; letter-spacing: .1em;
  font-size: .68rem;
}
.matrix-scope .mx-guide-card.pill-red .mx-guide-summary b { color: var(--mx-pink); }

/* Inline callout — pointer to the guide from the nomination form */
.matrix-scope .mx-guide-hint {
  padding: 10px 14px; margin-bottom: 4px;
  background: rgba(0,255,123,.05);
  border: 1px dashed rgba(0,255,123,.25); border-radius: 4px;
  font-family: 'JetBrains Mono', monospace; font-size: .78rem;
  color: var(--mx-text);
}
.matrix-scope .mx-guide-hint b { color: var(--mx-green); }
.matrix-scope .mx-guide-hint a { color: var(--mx-pink); text-decoration: none; }
.matrix-scope .mx-guide-hint a:hover { text-decoration: underline; }

/* Category badges — the round Matrix medallions */
.matrix-scope .mx-cat-medallion {
  width: 120px; height: 120px; border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 0 24px rgba(0,255,123,.22);
  transition: transform .25s, box-shadow .25s;
}
.matrix-scope .mx-cat-medallion.pill-red { box-shadow: 0 0 24px rgba(255,45,142,.28); }
.matrix-scope .mx-cat-medallion:hover { transform: scale(1.04); }
.matrix-scope .mx-cat-medallion-sm {
  width: 44px; height: 44px; border-radius: 50%; object-fit: cover;
  box-shadow: 0 0 12px rgba(0,255,123,.25);
  flex-shrink: 0;
}
.matrix-scope .mx-cat-medallion-sm.pill-red { box-shadow: 0 0 12px rgba(255,45,142,.32); }

/* Full hero header for each category in the cycle detail view */
.matrix-scope .mx-cat-hero {
  display: flex; align-items: center; gap: 20px;
  margin: 30px 0 8px;
  padding: 18px 22px;
  background: linear-gradient(90deg, rgba(0,255,123,.05), rgba(0,0,0,0));
  border: 1px solid rgba(0,255,123,.18);
  border-radius: 6px;
}
.matrix-scope .mx-cat-hero.pill-red {
  background: linear-gradient(90deg, rgba(255,45,142,.05), rgba(0,0,0,0));
  border-color: rgba(255,45,142,.22);
}
.matrix-scope .mx-cat-hero .mx-cat-meta {
  flex: 1; min-width: 0;
}
.matrix-scope .mx-cat-hero .mx-cat-meta h2 {
  font-family: 'Space Grotesk', 'Sora', sans-serif; font-weight: 700;
  font-size: 1.6rem; color: #fff; text-transform: uppercase; letter-spacing: -.01em;
  margin: 0 0 4px;
}
.matrix-scope .mx-cat-hero .mx-cat-meta p {
  margin: 0; color: var(--mx-muted); font-size: .88rem;
  font-family: 'JetBrains Mono', monospace;
}
.matrix-scope .mx-cat-hero .mx-cat-count {
  font-family: 'JetBrains Mono', monospace; font-size: .72rem;
  letter-spacing: .12em; text-transform: uppercase;
  color: var(--mx-green); padding: 5px 10px;
  border: 1px solid rgba(0,255,123,.35); border-radius: 3px;
}
.matrix-scope .mx-cat-hero.pill-red .mx-cat-count { color: var(--mx-pink); border-color: rgba(255,45,142,.35); }

@media (max-width: 720px) {
  .matrix-scope .mx-cat-hero { flex-direction: column; align-items: flex-start; text-align: left; }
  .matrix-scope .mx-cat-medallion { width: 96px; height: 96px; }
}

/* Prize pool panel — three tiers per category */
.matrix-scope .mx-prize-pool {
  display: grid; grid-template-columns: 1fr 1fr; gap: 12px;
  margin: 14px 0 4px;
}
@media (max-width: 720px) { .matrix-scope .mx-prize-pool { grid-template-columns: 1fr; } }
.matrix-scope .mx-prize {
  background: linear-gradient(180deg, rgba(255,215,106,.05), rgba(255,215,106,.01));
  border: 1px solid rgba(255,215,106,.28); border-radius: 5px;
  padding: 14px 16px;
}
.matrix-scope .mx-prize.pill-red {
  background: linear-gradient(180deg, rgba(255,45,142,.05), rgba(255,45,142,.01));
  border-color: rgba(255,45,142,.28);
}
.matrix-scope .mx-prize .mx-prize-head {
  display: flex; align-items: center; gap: 12px; margin-bottom: 12px;
  font-family: 'JetBrains Mono', monospace; font-size: .74rem;
  letter-spacing: .14em; text-transform: uppercase; font-weight: 700;
  color: var(--mx-gold);
}
.matrix-scope .mx-prize .mx-prize-head img { width: 42px; height: 42px; border-radius: 50%; }
.matrix-scope .mx-prize.pill-red .mx-prize-head { color: var(--mx-pink); }
.matrix-scope .mx-prize-tier {
  display: grid; grid-template-columns: 140px 1fr; gap: 14px;
  padding: 12px 0; align-items: flex-start;
  border-top: 1px dashed rgba(255,255,255,.06);
}
.matrix-scope .mx-prize-tier:first-of-type { border-top: none; padding-top: 4px; }
.matrix-scope .mx-prize-tier .mx-tier-name { display: flex; flex-direction: column; gap: 2px; }
.matrix-scope .mx-prize-tier .mx-tier-label {
  display: inline-flex; align-items: center; gap: 6px;
  font-family: 'JetBrains Mono', monospace; font-size: .72rem;
  letter-spacing: .12em; text-transform: uppercase; font-weight: 700;
}
.matrix-scope .mx-prize-tier .mx-tier-tag {
  font-family: 'Inter', sans-serif; font-size: .7rem;
  color: var(--mx-muted); font-style: italic; font-weight: 400;
  letter-spacing: 0; text-transform: none;
}
/* Colours follow the mock: crew green · upload pink · loadout green */
.matrix-scope .mx-prize-tier.t-crew    .mx-tier-label { color: var(--mx-green-soft); }
.matrix-scope .mx-prize-tier.t-upload  .mx-tier-label { color: var(--mx-pink); }
.matrix-scope .mx-prize-tier.t-loadout .mx-tier-label { color: var(--mx-green-soft); }
.matrix-scope .mx-prize-tier .mx-tier-body {
  color: var(--mx-text); font-size: .9rem; line-height: 1.4;
  white-space: pre-wrap;
}
.matrix-scope .mx-prize-tier .mx-tier-body.empty {
  color: var(--mx-muted); font-family: 'JetBrains Mono', monospace;
  font-size: .78rem; font-style: italic;
}
@media (max-width: 720px) {
  .matrix-scope .mx-prize-tier { grid-template-columns: 1fr; gap: 4px; }
}
.matrix-scope .mx-prize-empty-all {
  color: var(--mx-muted); font-family: 'JetBrains Mono', monospace;
  font-size: .82rem; font-style: italic; padding: 8px 0;
}

/* Prize edit modal — two columns, three tier rows each */
.matrix-scope .mx-prize-edit {
  display: grid; grid-template-columns: 1fr 1fr; gap: 18px;
}
@media (max-width: 720px) { .matrix-scope .mx-prize-edit { grid-template-columns: 1fr; } }
.matrix-scope .mx-prize-edit-col .mx-pe-head {
  font-family: 'JetBrains Mono', monospace; font-size: .74rem;
  letter-spacing: .14em; text-transform: uppercase; font-weight: 700;
  color: var(--mx-gold); margin-bottom: 8px;
  padding-bottom: 8px; border-bottom: 1px solid var(--mx-line);
}
.matrix-scope .mx-prize-edit-col.rp .mx-pe-head { color: var(--mx-pink); }
.matrix-scope .mx-prize-edit-col .mx-pe-tier { margin-bottom: 10px; }
.matrix-scope .mx-prize-edit-col .mx-pe-tier textarea { min-height: 54px; }

/* Cultural badge — Matrix bonus name (Trinity, The Oracle, etc.) */
.matrix-scope .mx-culture-badge {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 3px 10px; border-radius: 3px;
  font-family: 'JetBrains Mono', monospace; font-size: .62rem;
  letter-spacing: .16em; text-transform: uppercase; font-weight: 700;
  background: linear-gradient(90deg, rgba(0,255,123,.14), rgba(255,45,142,.14));
  border: 1px solid rgba(0,255,123,.28);
  color: #fff;
  text-shadow: 0 0 8px rgba(0,255,123,.35);
}
.matrix-scope .mx-culture-badge::before { content: "▚"; color: var(--mx-green); }

/* Medal badges for Hall of Fame + winners */
.matrix-scope .mx-medal {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 4px 10px; border-radius: 999px;
  font-family: 'JetBrains Mono', monospace; font-size: .68rem;
  letter-spacing: .1em; font-weight: 700; text-transform: uppercase;
}
.matrix-scope .mx-medal.gold   { background: linear-gradient(135deg, rgba(255,215,106,.2), rgba(255,215,106,.05)); color: var(--mx-gold);   border: 1px solid rgba(255,215,106,.5); box-shadow: 0 0 18px rgba(255,215,106,.18); }
.matrix-scope .mx-medal.silver { background: linear-gradient(135deg, rgba(182,201,214,.2), rgba(182,201,214,.05)); color: var(--mx-silver); border: 1px solid rgba(182,201,214,.4); }
.matrix-scope .mx-medal.bronze { background: linear-gradient(135deg, rgba(209,139,82,.2),  rgba(209,139,82,.05));  color: var(--mx-bronze); border: 1px solid rgba(209,139,82,.4); }

/* Rubric-total badge — bronze/silver/gold based on 0-12 score */
.matrix-scope .mx-tot-badge {
  display: inline-flex; align-items: center; gap: 5px;
  padding: 2px 8px; border-radius: 999px;
  font-family: 'JetBrains Mono', monospace; font-size: .68rem; font-weight: 700;
  margin-left: auto;
}
.matrix-scope .mx-tot-badge.t-hi  { background: rgba(255,215,106,.15); color: var(--mx-gold);   border: 1px solid rgba(255,215,106,.4); }
.matrix-scope .mx-tot-badge.t-mid { background: rgba(0,255,123,.10);   color: var(--mx-green);  border: 1px solid rgba(0,255,123,.28); }
.matrix-scope .mx-tot-badge.t-lo  { background: rgba(94,130,112,.18);  color: var(--mx-muted);  border: 1px solid rgba(94,130,112,.28); }

/* Cycle list */
.matrix-scope .mx-cycles { display: grid; gap: 10px; }
.matrix-scope .mx-cycle-row {
  display: grid; grid-template-columns: 1fr auto auto auto; gap: 14px; align-items: center;
  background: var(--mx-panel2); border: 1px solid var(--mx-line); border-radius: 4px;
  padding: 14px 18px;
}
.matrix-scope .mx-cycle-row .mx-cn { font-weight: 700; color: #fff; }
.matrix-scope .mx-cycle-row .mx-cp { font-family: 'JetBrains Mono', monospace; font-size: .78rem; color: var(--mx-muted); }

/* Buttons */
.matrix-scope button.mx-btn {
  font-family: 'JetBrains Mono', monospace; font-size: .74rem; letter-spacing: .12em;
  text-transform: uppercase; font-weight: 600;
  padding: 8px 14px; border-radius: 3px; cursor: pointer; border: 1px solid var(--mx-green-dim);
  background: transparent; color: var(--mx-green); transition: all .15s;
}
.matrix-scope button.mx-btn:hover { background: rgba(0,255,123,.08); border-color: var(--mx-green); }
.matrix-scope button.mx-btn.mx-btn-primary {
  background: var(--mx-green); color: var(--mx-bg); border-color: var(--mx-green);
}
.matrix-scope button.mx-btn.mx-btn-primary:hover { background: var(--mx-green-soft); }
.matrix-scope button.mx-btn.mx-btn-pink { color: var(--mx-pink); border-color: rgba(255,45,142,.4); }
.matrix-scope button.mx-btn.mx-btn-pink:hover { background: rgba(255,45,142,.08); }
.matrix-scope button.mx-btn[disabled] { opacity: .35; cursor: not-allowed; }

/* Form fields */
.matrix-scope .mx-form { display: grid; gap: 14px; }
.matrix-scope .mx-label {
  font-family: 'JetBrains Mono', monospace; font-size: .68rem;
  letter-spacing: .14em; text-transform: uppercase; color: var(--mx-muted); margin-bottom: 6px;
}
.matrix-scope .mx-input,
.matrix-scope .mx-textarea,
.matrix-scope .mx-select {
  width: 100%; background: var(--mx-panel2); border: 1px solid var(--mx-line);
  color: var(--mx-text); font-family: 'Inter', sans-serif; font-size: .92rem;
  padding: 10px 12px; border-radius: 3px; outline: none;
}
.matrix-scope .mx-input:focus,
.matrix-scope .mx-textarea:focus,
.matrix-scope .mx-select:focus { border-color: var(--mx-green); }
.matrix-scope .mx-textarea { min-height: 88px; resize: vertical; font-family: inherit; }

/* Crew picker */
.matrix-scope .mx-crew-list {
  max-height: 220px; overflow-y: auto; border: 1px solid var(--mx-line);
  border-radius: 3px; padding: 8px; background: var(--mx-panel2);
  display: grid; gap: 4px;
}
.matrix-scope .mx-crew-item {
  display: flex; gap: 8px; align-items: center; padding: 4px 6px; cursor: pointer;
  font-size: .88rem; color: var(--mx-text);
}
.matrix-scope .mx-crew-item:hover { background: rgba(0,255,123,.05); }
.matrix-scope .mx-crew-item input { accent-color: var(--mx-green); }

/* Rubric scores */
.matrix-scope .mx-rubric { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.matrix-scope .mx-rub {
  background: var(--mx-panel2); border: 1px solid var(--mx-line); border-radius: 4px;
  padding: 12px 12px 14px;
}
.matrix-scope .mx-rub .mx-rk {
  font-family: 'JetBrains Mono', monospace; font-size: .6rem; letter-spacing: .12em;
  text-transform: uppercase; color: var(--mx-pink); margin-bottom: 6px;
}
.matrix-scope .mx-rub h4 { font-family: 'Space Grotesk', sans-serif; font-size: 1rem; color: #fff; margin: 0 0 8px; }
.matrix-scope .mx-rub .mx-scale {
  display: flex; gap: 4px;
}
.matrix-scope .mx-rub .mx-scale button {
  flex: 1; padding: 6px 0; font-family: 'JetBrains Mono', monospace; font-size: .8rem;
  background: transparent; border: 1px solid var(--mx-line); color: var(--mx-muted);
  border-radius: 3px; cursor: pointer;
}
.matrix-scope .mx-rub .mx-scale button.active { background: var(--mx-green); color: var(--mx-bg); border-color: var(--mx-green); font-weight: 700; }

@media (max-width: 720px) {
  .matrix-scope .mx-rubric { grid-template-columns: 1fr 1fr; }
  .matrix-scope .mx-cycle-row { grid-template-columns: 1fr; }
}

/* Nomination cards (digest / voting) */
.matrix-scope .mx-noms { display: grid; gap: 14px; }
.matrix-scope .mx-nom {
  background: var(--mx-panel2); border: 1px solid var(--mx-line); border-radius: 5px;
  padding: 18px 20px;
}
.matrix-scope .mx-nom-tag {
  font-family: 'JetBrains Mono', monospace; font-size: .62rem; letter-spacing: .14em;
  text-transform: uppercase; color: var(--mx-pink); margin-bottom: 6px;
  display: flex; align-items: center; gap: 8px; flex-wrap: wrap;
}
.matrix-scope .mx-nom-title {
  font-family: 'Space Grotesk', sans-serif; font-weight: 700;
  color: #fff; font-size: 1.05rem; margin: 0 0 6px;
}
.matrix-scope .mx-nom-impact { font-size: .92rem; color: var(--mx-green-soft); margin: 0 0 10px; }
.matrix-scope .mx-nom-crew { font-family: 'JetBrains Mono', monospace; font-size: .74rem; color: var(--mx-muted); margin-bottom: 8px; }
.matrix-scope .mx-nom-scores {
  display: flex; gap: 10px; flex-wrap: wrap; align-items: center;
  font-family: 'JetBrains Mono', monospace; font-size: .72rem; color: var(--mx-muted); margin-bottom: 12px;
}
.matrix-scope .mx-nom-scores b { color: var(--mx-green-soft); }
.matrix-scope .mx-nom-scores .mx-tot { color: var(--mx-pink); font-weight: 700; margin-left: auto; }
.matrix-scope .mx-nom-actions { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.matrix-scope .mx-nom.mx-voted { border-color: var(--mx-green-dim); box-shadow: inset 0 0 0 1px rgba(0,255,123,.12); }
.matrix-scope .mx-nom.mx-winner { border-color: var(--mx-pink); box-shadow: 0 0 24px rgba(255,45,142,.16); }
.matrix-scope .mx-nom.mx-winner .mx-nom-tag { color: var(--mx-green); }
.matrix-scope .mx-nom-votes {
  font-family: 'JetBrains Mono', monospace; font-size: .74rem;
  color: var(--mx-muted); padding: 4px 8px; border: 1px solid var(--mx-line); border-radius: 3px;
}
.matrix-scope .mx-nom-votes b { color: var(--mx-green); }

/* Info notes */
.matrix-scope .mx-note {
  font-family: 'JetBrains Mono', monospace; font-size: .78rem; color: var(--mx-muted);
  border-left: 2px solid var(--mx-green-dim); padding: 6px 0 6px 14px; margin: 10px 0;
}
.matrix-scope .mx-note.mx-pink { border-left-color: rgba(255,45,142,.5); }
.matrix-scope .mx-note b { color: var(--mx-green); }

/* Modal (nomination form) */
.matrix-scope .mx-modal-backdrop {
  position: fixed; inset: 0; background: rgba(0,0,0,.72);
  z-index: 100; display: flex; justify-content: center; align-items: flex-start; padding: 4vh 20px;
  overflow-y: auto;
}
.matrix-scope .mx-modal {
  background: var(--mx-panel); border: 1px solid var(--mx-green-dim); border-radius: 5px;
  max-width: 780px; width: 100%; padding: 26px 28px 24px;
  box-shadow: 0 0 40px rgba(0,255,123,.12);
}
.matrix-scope .mx-modal h2 {
  font-family: 'Space Grotesk', sans-serif; font-size: 1.4rem; color: #fff;
  text-transform: uppercase; letter-spacing: -.01em; margin: 0 0 4px;
}
.matrix-scope .mx-modal .mx-modal-sub { color: var(--mx-muted); font-size: .88rem; margin: 0 0 20px; }
.matrix-scope .mx-modal-actions {
  display: flex; gap: 10px; justify-content: flex-end; margin-top: 22px;
  padding-top: 18px; border-top: 1px solid var(--mx-line);
}

/* FAQ (details/summary) */
.matrix-scope .mx-faq {
  border-top: 1px solid var(--mx-line);
  padding: 0;
}
.matrix-scope .mx-faq:first-child { border-top: none; }
.matrix-scope .mx-faq summary {
  list-style: none; cursor: pointer;
  padding: 14px 4px; display: flex; align-items: center; justify-content: space-between;
  font-family: 'Space Grotesk', sans-serif; font-weight: 600; color: #fff; font-size: 1rem;
  transition: color .15s;
}
.matrix-scope .mx-faq summary::-webkit-details-marker { display: none; }
.matrix-scope .mx-faq summary:hover { color: var(--mx-green); }
.matrix-scope .mx-faq .mx-faq-q { flex: 1; padding-right: 12px; }
.matrix-scope .mx-faq .mx-faq-toggle {
  font-family: 'JetBrains Mono', monospace; color: var(--mx-green-dim);
  transition: transform .2s;
}
.matrix-scope .mx-faq[open] .mx-faq-toggle { transform: rotate(180deg); color: var(--mx-green); }
.matrix-scope .mx-faq .mx-faq-a {
  padding: 4px 4px 18px; color: var(--mx-text); font-size: .92rem; line-height: 1.55;
}
.matrix-scope .mx-faq .mx-faq-a b { color: var(--mx-green-soft); }
.matrix-scope .mx-faq .mx-faq-a i { color: var(--mx-pink); font-style: normal; }

/* ══════════════════════════════════════
   Sidebar "Enter the Matrix" nav button
   Lives OUTSIDE .matrix-scope on purpose — this styles the SPA sidebar
   ══════════════════════════════════════ */
#nav-awards {
  font-family: 'JetBrains Mono', ui-monospace, monospace !important;
  color: #00ff7b !important;
  text-shadow: 0 0 8px rgba(0,255,123,.35);
  letter-spacing: .1em;
  text-transform: uppercase;
  font-size: 12px !important;
  border: 1px solid rgba(0,255,123,.25) !important;
  background: linear-gradient(90deg, rgba(0,255,123,.05), rgba(0,0,0,0)) !important;
  transition: all .18s;
  position: relative;
  overflow: hidden;
}
#nav-awards:hover {
  color: #3dffa0 !important;
  border-color: rgba(0,255,123,.55) !important;
  background: linear-gradient(90deg, rgba(0,255,123,.12), rgba(0,0,0,0)) !important;
  box-shadow: 0 0 14px rgba(0,255,123,.18);
}
#nav-awards.active {
  color: #04070a !important;
  background: linear-gradient(90deg, #00ff7b, #3dffa0) !important;
  border-color: #00ff7b !important;
  text-shadow: none;
  box-shadow: 0 0 22px rgba(0,255,123,.35);
}
#nav-awards .nav-icon {
  color: inherit !important;
  animation: nav-matrix-pulse 2.4s infinite;
}
@keyframes nav-matrix-pulse {
  0%, 100% { text-shadow: 0 0 4px rgba(0,255,123,.6); }
  50%      { text-shadow: 0 0 12px rgba(0,255,123,1); }
}

/* Empty state */
.matrix-scope .mx-empty {
  text-align: center; padding: 40px 20px; color: var(--mx-muted);
  border: 1px dashed var(--mx-line); border-radius: 5px; font-family: 'JetBrains Mono', monospace;
}
