:root{
  --pg-color-bg:#04091a;
  --pg-color-bg-soft:#091229;
  --pg-color-surface:#101a35;
  --pg-color-surface-strong:#172443;
  --pg-color-surface-muted:#0b142b;
  --pg-color-border:#263d69;
  --pg-color-border-strong:#3e6aa3;
  --pg-color-accent:#20bfe8;
  --pg-color-accent-soft:#8ae8ff;
  --pg-color-highlight:#f1b84b;
  --pg-color-highlight-warm:#ec7e42;
  --pg-color-text:#f7f9ff;
  --pg-color-text-muted:#aab7d5;
  --pg-color-text-faint:#7888aa;
  --pg-color-danger:#c84f4f;
  --pg-color-danger-soft:#3a1515;
  --pg-color-warning:#d4a24d;
  --pg-color-warning-soft:#372811;
  --pg-color-success:#6f7fe8;
  --pg-color-success-soft:#171b43;
  --pg-color-purple:#9b7cff;
  --pg-space-1:4px;
  --pg-space-2:8px;
  --pg-space-3:12px;
  --pg-space-4:16px;
  --pg-space-5:20px;
  --pg-space-6:24px;
  --pg-space-8:32px;
  --pg-space-10:40px;
  --pg-radius-sm:4px;
  --pg-radius-md:8px;
  --pg-radius-lg:12px;
  --pg-radius-xl:16px;
  --pg-shadow-sm:0 10px 24px rgba(0,0,0,.24);
  --pg-shadow-md:0 18px 46px rgba(0,0,0,.32);
  --pg-shadow-lg:0 28px 70px rgba(0,0,0,.42);
  --pg-font-body:Arial,Helvetica,sans-serif;
  --pg-font-weight-strong:800;
  --pg-transition-fast:140ms ease;
  --pg-transition-base:180ms ease;
  --pg-focus-ring:0 0 0 3px rgba(32,191,232,.34);
  --pg-dashboard-background:url("../images/backgrounds/dashboard-background.png");
  --pg-dashboard-background-active:var(--pg-dashboard-background);
  --pg-challenges-background:url("../images/backgrounds/challenges-background.png");
  --pg-hall-of-fame-background:url("../images/backgrounds/hall-of-fame-background.png");
  --pg-member-galleries-background:url("../images/backgrounds/member-galleries-background.png");
  --pg-administration-background:url("../images/backgrounds/administration-background.png");
  --pg-page-overlay-strong:linear-gradient(
    90deg,
    rgba(4,9,26,.96) 0%,
    rgba(4,9,26,.82) 42%,
    rgba(4,9,26,.62) 72%,
    rgba(4,9,26,.74) 100%
  );
}

.pg-page{
  min-height:100vh;
  color:var(--pg-color-text);
  font-family:var(--pg-font-body);
  background:
    radial-gradient(circle at 80% 8%,rgba(32,191,232,.16),transparent 28%),
    radial-gradient(circle at 16% 84%,rgba(155,124,255,.10),transparent 30%),
    linear-gradient(135deg,var(--pg-color-bg) 0%,var(--pg-color-bg-soft) 52%,#030615 100%);
}

.pg-page::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.18;
  background:
    linear-gradient(90deg,rgba(138,232,255,.07) 1px,transparent 1px),
    linear-gradient(180deg,rgba(155,124,255,.05) 1px,transparent 1px);
  background-size:48px 48px;
}

.pg-page-background{
  --pg-page-background-image:none;
  --pg-page-background-overlay:var(--pg-page-overlay-strong);
  --pg-page-background-position:center center;
  background-color:var(--pg-color-bg);
  background-image:
    var(--pg-page-background-overlay),
    var(--pg-page-background-image);
  background-size:cover;
  background-repeat:no-repeat;
  background-position:center,var(--pg-page-background-position);
  background-attachment:fixed;
}

.pg-page-background--dashboard{
  --pg-page-background-image:var(--pg-dashboard-background-active);
  --pg-page-background-position:center right;
}

.pg-page-background--challenges{
  --pg-page-background-image:var(--pg-challenges-background);
  --pg-page-background-position:center center;
}

.pg-page-background--hall-of-fame{
  --pg-page-background-image:var(--pg-hall-of-fame-background);
  --pg-page-background-position:center left;
}

.pg-page-background--member-galleries{
  --pg-page-background-image:var(--pg-member-galleries-background);
  --pg-page-background-position:right center;
}

.pg-page-background--administration{
  --pg-page-background-image:var(--pg-administration-background);
  --pg-page-background-position:90% center;
}

.pg-sidebar{
  color:var(--pg-color-text);
  border-right:1px solid var(--pg-color-border-strong);
  background:linear-gradient(180deg,rgba(11,20,43,.98),rgba(4,9,26,.97));
  box-shadow:var(--pg-shadow-md);
}

.pg-brand{
  display:flex;
  flex-direction:column;
  gap:var(--pg-space-1);
  color:var(--pg-color-text);
}

.pg-brand__name{
  font-size:18px;
  font-weight:900;
  letter-spacing:0;
}

.pg-brand__accent{
  color:var(--pg-color-highlight);
  font-size:13px;
  font-weight:900;
  font-style:normal;
}

.pg-heading-xl,
.pg-heading-lg,
.pg-heading-md{
  margin:0;
  color:var(--pg-color-text);
  font-weight:900;
  letter-spacing:0;
}

.pg-heading-xl{font-size:64px;line-height:.95}
.pg-heading-lg{font-size:36px;line-height:1.05}
.pg-heading-md{font-size:24px;line-height:1.15}

.pg-muted{
  color:var(--pg-color-text-muted);
  line-height:1.55;
}

.pg-panel,
.pg-card{
  color:var(--pg-color-text);
  border:1px solid var(--pg-color-border);
  border-top-color:var(--pg-color-border-strong);
  background:linear-gradient(145deg,var(--pg-color-surface-strong),var(--pg-color-surface-muted));
  box-shadow:var(--pg-shadow-md);
}

.pg-panel{padding:var(--pg-space-6);border-radius:var(--pg-radius-lg)}
.pg-card{padding:var(--pg-space-5);border-radius:var(--pg-radius-md)}

.pg-card:hover{
  border-color:var(--pg-color-border-strong);
  transform:translateY(-1px);
  transition:transform var(--pg-transition-fast),border-color var(--pg-transition-fast);
}

.pg-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  gap:var(--pg-space-2);
  padding:10px 14px;
  border:1px solid var(--pg-color-border);
  border-radius:var(--pg-radius-sm);
  color:var(--pg-color-text);
  background:var(--pg-color-surface);
  font:inherit;
  font-weight:900;
  text-decoration:none;
  cursor:pointer;
  transition:background var(--pg-transition-fast),border-color var(--pg-transition-fast),color var(--pg-transition-fast),transform var(--pg-transition-fast);
}

.pg-button:hover{color:#fff;border-color:var(--pg-color-accent);background:var(--pg-color-surface-strong);transform:translateY(-1px)}
.pg-button:active{transform:translateY(0);background:var(--pg-color-bg-soft)}
.pg-button:focus-visible{outline:0;box-shadow:var(--pg-focus-ring)}
.pg-button:disabled,.pg-button[aria-disabled="true"]{cursor:not-allowed;opacity:.55;transform:none}

.pg-button--primary{
  color:#03131c;
  border-color:var(--pg-color-accent-soft);
  background:linear-gradient(135deg,var(--pg-color-accent),var(--pg-color-accent-soft));
}

.pg-button--secondary{
  color:var(--pg-color-text);
  background:linear-gradient(145deg,var(--pg-color-surface),var(--pg-color-bg-soft));
}

.pg-button--warning{
  color:#120c03;
  border-color:var(--pg-color-highlight);
  background:linear-gradient(135deg,var(--pg-color-warning),var(--pg-color-highlight-warm));
}

.pg-button--danger{
  color:#fff7f7;
  border-color:var(--pg-color-danger);
  background:linear-gradient(135deg,var(--pg-color-danger),#8d3030);
}

/* NDC public media controls must never inherit the former green access style. */
.song-play{border-color:var(--pg-color-border-strong);background:rgba(32,191,232,.14)}
.ndc-home-events{margin:0 0 34px}.ndc-home-events>div:first-child{margin:0 0 16px}.ndc-home-events>div:first-child h2{margin:6px 0 0;font-size:clamp(28px,4vw,42px)}

.pg-field{
  width:100%;
  min-height:42px;
  padding:10px 12px;
  border:1px solid var(--pg-color-border);
  border-radius:var(--pg-radius-sm);
  color:var(--pg-color-text);
  background:var(--pg-color-bg-soft);
  font:inherit;
  transition:border-color var(--pg-transition-fast),box-shadow var(--pg-transition-fast),background var(--pg-transition-fast);
}

.pg-field::placeholder{color:var(--pg-color-text-faint)}
.pg-field:hover{border-color:var(--pg-color-border-strong)}
.pg-field:focus{outline:0;border-color:var(--pg-color-accent);box-shadow:var(--pg-focus-ring)}
textarea.pg-field{min-height:120px;resize:vertical}

.pg-badge{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:5px 8px;
  border:1px solid var(--pg-color-border);
  border-radius:var(--pg-radius-sm);
  color:var(--pg-color-text-muted);
  background:var(--pg-color-bg-soft);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.pg-badge--success{color:#d9deff;border-color:var(--pg-color-success);background:var(--pg-color-success-soft)}
.pg-badge--warning{color:var(--pg-color-highlight);border-color:var(--pg-color-warning);background:var(--pg-color-warning-soft)}
.pg-badge--danger{color:#ffd8d8;border-color:var(--pg-color-danger);background:var(--pg-color-danger-soft)}

.pg-table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  color:var(--pg-color-text);
  border:1px solid var(--pg-color-border);
  border-radius:var(--pg-radius-md);
  overflow:hidden;
  background:var(--pg-color-surface-muted);
}

.pg-table th,
.pg-table td{
  padding:12px 14px;
  border-bottom:1px solid var(--pg-color-border);
  text-align:left;
}

.pg-table th{
  color:var(--pg-color-accent-soft);
  background:var(--pg-color-surface);
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}

.pg-table tr:last-child td{border-bottom:0}
.pg-table tbody tr:hover{background:rgba(32,191,232,.08)}

.pg-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:var(--pg-space-2);
  border-bottom:1px solid var(--pg-color-border);
}

.pg-tab{
  min-height:40px;
  padding:9px 12px;
  border:1px solid transparent;
  border-bottom:0;
  border-radius:var(--pg-radius-sm) var(--pg-radius-sm) 0 0;
  color:var(--pg-color-text-muted);
  background:transparent;
  font:inherit;
  font-weight:900;
  cursor:pointer;
}

.pg-tab:hover,
.pg-tab:focus-visible{
  color:var(--pg-color-text);
  border-color:var(--pg-color-border);
  outline:0;
}

.pg-tab[aria-selected="true"],
.pg-tab.is-active{
  color:var(--pg-color-accent-soft);
  border-color:var(--pg-color-border-strong);
  background:var(--pg-color-surface);
}

.pg-empty{
  display:grid;
  place-items:center;
  min-height:180px;
  padding:var(--pg-space-8);
  border:1px dashed var(--pg-color-border);
  border-radius:var(--pg-radius-lg);
  color:var(--pg-color-text-muted);
  background:rgba(11,20,43,.64);
  text-align:center;
}

.pg-empty strong{
  display:block;
  margin-bottom:var(--pg-space-2);
  color:var(--pg-color-text);
  font-size:20px;
}

.pg-focusable:focus-visible,
.pg-card:focus-visible,
.pg-panel:focus-visible{
  outline:0;
  box-shadow:var(--pg-focus-ring),var(--pg-shadow-md);
}

@media(min-width:761px) and (max-width:1100px){
  .pg-page-background--dashboard{
    --pg-page-background-position:75% center;
    --pg-page-background-overlay:linear-gradient(
      90deg,
      rgba(4,9,26,.97) 0%,
      rgba(4,9,26,.86) 48%,
      rgba(4,9,26,.68) 78%,
      rgba(4,9,26,.76) 100%
    );
  }

  .pg-page-background--member-galleries{
    --pg-page-background-position:62% center;
  }
}

@media(max-width:760px){
  .pg-page-background--dashboard{
    --pg-page-background-position:82% center;
    --pg-page-background-overlay:linear-gradient(
      180deg,
      rgba(4,9,26,.94) 0%,
      rgba(4,9,26,.86) 52%,
      rgba(4,9,26,.94) 100%
    );
  }

  .pg-page-background--challenges,
  .pg-page-background--hall-of-fame{
    --pg-page-background-position:center center;
  }

  .pg-page-background--member-galleries{
    --pg-page-background-position:72% center;
  }

  .pg-page-background--administration{
    --pg-page-background-position:82% center;
  }

  .pg-page-background{
    background-attachment:scroll;
  }

  .pg-heading-xl{font-size:40px}
  .pg-heading-lg{font-size:30px}
  .pg-panel{padding:var(--pg-space-5)}
  .pg-table{font-size:14px}
}
