:root{
  --pg-color-bg:#030604;
  --pg-color-bg-soft:#070c09;
  --pg-color-surface:#101711;
  --pg-color-surface-strong:#151f18;
  --pg-color-surface-muted:#0b110d;
  --pg-color-border:#244734;
  --pg-color-border-strong:#357a51;
  --pg-color-accent:#2f9f62;
  --pg-color-accent-soft:#8fd8aa;
  --pg-color-highlight:#d4a24d;
  --pg-color-highlight-warm:#e48637;
  --pg-color-text:#f4f7f1;
  --pg-color-text-muted:#9aa89d;
  --pg-color-text-faint:#718075;
  --pg-color-danger:#c84f4f;
  --pg-color-danger-soft:#3a1515;
  --pg-color-warning:#d4a24d;
  --pg-color-warning-soft:#372811;
  --pg-color-success:#3ebd73;
  --pg-color-success-soft:#102b1d;
  --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(47,159,98,.28);
  --pg-content-max:1180px;
  --pg-list-thumb:72px;
  --pg-list-thumb-compact:54px;
  --pg-control-height:42px;
  --pg-breakpoint-wide:1100px;
  --pg-breakpoint-tablet:820px;
  --pg-breakpoint-mobile:600px;
  --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(3,8,6,.96) 0%,
    rgba(3,8,6,.80) 42%,
    rgba(3,8,6,.58) 72%,
    rgba(3,8,6,.70) 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(47,159,98,.14),transparent 28%),
    linear-gradient(135deg,var(--pg-color-bg) 0%,var(--pg-color-bg-soft) 52%,#020302 100%);
}

.pg-page::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  opacity:.18;
  background:
    linear-gradient(90deg,rgba(143,216,170,.07) 1px,transparent 1px),
    linear-gradient(180deg,rgba(143,216,170,.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,17,13,.98),rgba(3,6,4,.96));
  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{border-color:var(--pg-color-border-strong);transform:translateY(-1px)}
.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:#041008;
  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--success{color:#041008;border-color:var(--pg-color-success);background:linear-gradient(135deg,var(--pg-color-success),var(--pg-color-accent-soft))}
.pg-button--ghost{color:var(--pg-color-text-muted);border-color:transparent;background:transparent}
.pg-button--icon{width:var(--pg-control-height);padding:0;aspect-ratio:1}
.pg-button--compact{min-height:36px;padding:7px 10px;font-size:12px}
.pg-button.is-loading{cursor:progress;opacity:.78}
.pg-button.is-loading::before{content:"";width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:pg-spin .75s linear infinite}
@keyframes pg-spin{to{transform:rotate(360deg)}}

.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);
}

.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:var(--pg-color-accent-soft);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-badge--draft,.pg-badge--pending{color:var(--pg-color-text-muted)}
.pg-badge--scheduled,.pg-badge--archived,.pg-badge--hidden{color:#cfd8ff;border-color:#56618a;background:#171b31}
.pg-badge--open,.pg-badge--voting,.pg-badge--approved{color:var(--pg-color-accent-soft);border-color:var(--pg-color-success);background:var(--pg-color-success-soft)}
.pg-badge--tie,.pg-badge--winner{color:var(--pg-color-highlight);border-color:var(--pg-color-warning);background:var(--pg-color-warning-soft)}
.pg-badge--closed{color:var(--pg-color-text-muted);border-color:var(--pg-color-border-strong);background:var(--pg-color-surface-muted)}
.pg-badge--rejected,.pg-badge--error{color:#ffd8d8;border-color:var(--pg-color-danger);background:var(--pg-color-danger-soft)}

.pg-list{display:grid;gap:var(--pg-space-3);min-width:0}.pg-list--joined{gap:0;overflow:hidden;border:1px solid var(--pg-color-border);border-radius:var(--pg-radius-lg);background:rgba(5,13,9,.55)}.pg-list--joined>.pg-list-row{border-width:0 0 1px;border-radius:0}.pg-list--joined>.pg-list-row:last-child{border-bottom:0}
.pg-list-row{display:grid;grid-template-columns:var(--pg-list-thumb) minmax(0,1fr) auto;align-items:center;gap:var(--pg-space-4);min-width:0;padding:var(--pg-space-3);border:1px solid var(--pg-color-border);border-radius:var(--pg-radius-lg);background:linear-gradient(145deg,var(--pg-color-surface-strong),var(--pg-color-surface-muted));box-shadow:var(--pg-shadow-sm)}
.pg-list-row--compact{grid-template-columns:var(--pg-list-thumb-compact) minmax(0,1fr) auto;padding:var(--pg-space-2) var(--pg-space-3)}.pg-list-row--highlight,.pg-list-row--winner{border-color:var(--pg-color-highlight);background:linear-gradient(100deg,rgba(212,162,77,.16),var(--pg-color-surface-muted))}.pg-list-row--selected{border-color:var(--pg-color-accent);box-shadow:inset 3px 0 var(--pg-color-accent),var(--pg-shadow-sm)}.pg-list-row--tie{border-color:var(--pg-color-warning)}.pg-list-row--archived{background:var(--pg-color-surface-muted)}.pg-list-row--pending{border-style:dashed}.pg-list-row--disabled{opacity:.62}
.pg-list-media{display:grid;width:var(--pg-list-thumb);height:var(--pg-list-thumb);place-items:center;overflow:hidden;border:1px solid var(--pg-color-border);border-radius:var(--pg-radius-md);background:linear-gradient(135deg,#07100b,#173522 60%,#251d0e);color:var(--pg-color-highlight);font-size:11px;font-weight:900;text-align:center}.pg-list-row--compact .pg-list-media{width:var(--pg-list-thumb-compact);height:var(--pg-list-thumb-compact)}.pg-list-media img,.pg-list-media video{display:block;width:100%;height:100%;object-fit:cover}.pg-list-media video{background:#000}.pg-list-media.is-loading::after{content:"Loading…"}.pg-list-media.is-error::after{content:"Preview unavailable"}
.pg-list-main{display:grid;gap:var(--pg-space-1);min-width:0}.pg-list-title{margin:0;color:var(--pg-color-text);font-size:18px;line-height:1.2;overflow-wrap:anywhere}.pg-list-subtitle{margin:0;color:var(--pg-color-accent-soft);font-size:13px;font-weight:800;overflow-wrap:anywhere}.pg-list-meta{display:flex;flex-wrap:wrap;gap:var(--pg-space-2);color:var(--pg-color-text-muted);font-size:12px}.pg-list-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:var(--pg-space-2)}
.pg-video-thumb{position:relative}.pg-video-play{position:absolute;inset:auto 5px 5px;min-height:30px;padding:4px 8px}

.pg-nav{display:flex;flex-wrap:wrap;gap:var(--pg-space-2)}.pg-nav a[aria-current="page"],.pg-nav .is-active{color:var(--pg-color-accent-soft);border-color:var(--pg-color-border-strong);background:var(--pg-color-surface)}
.pg-help{color:var(--pg-color-text-muted);font-size:13px;line-height:1.5}.pg-message{padding:var(--pg-space-3);border:1px solid var(--pg-color-border);border-radius:var(--pg-radius-md);background:var(--pg-color-surface-muted)}.pg-message--success{border-color:var(--pg-color-success);color:var(--pg-color-accent-soft)}.pg-message--warning{border-color:var(--pg-color-warning);color:var(--pg-color-highlight)}.pg-message--error{border-color:var(--pg-color-danger);color:#ffd8d8}
.pg-form-group{display:grid;gap:var(--pg-space-2)}.pg-form-group>label,.pg-label{color:var(--pg-color-text);font-size:13px;font-weight:900}.pg-check{display:inline-flex;align-items:flex-start;gap:var(--pg-space-2)}.pg-check input{flex:0 0 auto;width:18px;height:18px;accent-color:var(--pg-color-accent)}

.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(47,159,98,.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,17,13,.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(3,8,6,.97) 0%,
      rgba(3,8,6,.86) 48%,
      rgba(3,8,6,.68) 78%,
      rgba(3,8,6,.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(3,8,6,.94) 0%,
      rgba(3,8,6,.86) 52%,
      rgba(3,8,6,.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}
  .pg-list-row,.pg-list-row--compact{grid-template-columns:var(--pg-list-thumb-compact) minmax(0,1fr);align-items:start}.pg-list-media{width:var(--pg-list-thumb-compact);height:var(--pg-list-thumb-compact)}.pg-list-actions{grid-column:1/-1;justify-content:flex-start;padding-left:calc(var(--pg-list-thumb-compact) + var(--pg-space-4))}.pg-list-actions .pg-button{min-height:40px}.pg-nav{width:100%}
}

@media(max-width:430px){.pg-list-row,.pg-list-row--compact{gap:var(--pg-space-3);padding:var(--pg-space-2)}.pg-list-actions{padding-left:0}.pg-list-title{font-size:16px}.pg-list-actions .pg-button{flex:1 1 auto}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}
