#ps-events-hub{
  --ps-bg:#0a0c10;
  --ps-panel:#11151b;
  --ps-panel-2:#161b22;
  --ps-text:#eef2f6;
  --ps-muted:#9da7b3;
  --ps-line:rgba(255,255,255,.08);
  --ps-brand:#b5121b;
  --ps-brand-2:#e03a45;
  --ps-green:#22c55e;
  --ps-wrap:1180px;
  background:
    radial-gradient(circle at top center, rgba(181,18,27,.10), transparent 42%),
    linear-gradient(180deg, #08090c 0%, #0d1117 100%);
  color:var(--ps-text);
  padding:56px 18px;
  position:relative;
  overflow:hidden;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
}
#ps-events-hub *{box-sizing:border-box}
#ps-events-hub a{color:inherit;text-decoration:none}
#ps-events-hub .ps-wrap{max-width:var(--ps-wrap);margin:0 auto}
#ps-events-hub .ps-hero{text-align:center;margin-bottom:24px}
#ps-events-hub .ps-kicker{
  display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;
  border:1px solid rgba(224,58,69,.22);background:rgba(224,58,69,.08);color:#ffd3d7;
  font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px;
}
#ps-events-hub .ps-hero h2{margin:0 0 10px;font-size:clamp(30px,4vw,46px);line-height:1.05;letter-spacing:-.02em}
#ps-events-hub .ps-hero h2 span{color:var(--ps-brand-2)}
#ps-events-hub .ps-hero p{margin:0 auto;max-width:820px;color:var(--ps-muted);line-height:1.65;font-size:15px}
#ps-events-hub .ps-shell{
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.015));
  border:1px solid var(--ps-line);border-radius:28px;overflow:hidden;
  box-shadow:0 18px 40px rgba(0,0,0,.30);backdrop-filter:blur(10px);
}
#ps-events-hub .ps-tabs{
  display:flex;flex-wrap:wrap;gap:10px;padding:18px;border-bottom:1px solid var(--ps-line);
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0));
}
#ps-events-hub .ps-tab{
  appearance:none;border:1px solid var(--ps-line);background:rgba(255,255,255,.04);color:var(--ps-text);
  padding:10px 14px;border-radius:999px;cursor:pointer;font-size:14px;font-weight:600;transition:.18s ease;
}
#ps-events-hub .ps-tab:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.06)}
#ps-events-hub .ps-tab.is-active{
  background:linear-gradient(180deg, var(--ps-brand-2), var(--ps-brand));
  border-color:rgba(224,58,69,.65);color:#fff;box-shadow:0 10px 20px rgba(181,18,27,.28);
}
#ps-events-hub .ps-panel{display:none;animation:psFade .2s ease}
#ps-events-hub .ps-panel.is-active{display:block}
@keyframes psFade{from{opacity:.5;transform:translateY(5px)}to{opacity:1;transform:none}}
#ps-events-hub .ps-panel-head{
  display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:18px 18px 12px;
}
#ps-events-hub .ps-panel-head h3{margin:0;font-size:20px;letter-spacing:-.01em}
#ps-events-hub .ps-hint{color:var(--ps-muted);font-size:13px}
#ps-events-hub .ps-controls{padding:0 18px 18px;display:grid;gap:12px}
#ps-events-hub .ps-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
#ps-events-hub .ps-chip{
  appearance:none;border:1px solid var(--ps-line);background:rgba(255,255,255,.04);color:var(--ps-text);
  padding:9px 12px;border-radius:999px;cursor:pointer;font-size:13px;transition:.18s ease;
}
#ps-events-hub .ps-chip:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.16)}
#ps-events-hub .ps-chip.is-active{background:rgba(224,58,69,.16);border-color:rgba(224,58,69,.35);color:#fff}
#ps-events-hub .ps-input,#ps-events-hub .ps-select{
  background:rgba(255,255,255,.05);border:1px solid var(--ps-line);color:var(--ps-text);
  border-radius:14px;padding:11px 13px;min-width:180px;outline:none;
}
#ps-events-hub .ps-input{flex:1 1 280px}
#ps-events-hub .ps-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px;padding:0 18px 22px}
#ps-events-hub .ps-card{
  position:relative;display:flex;flex-direction:column;min-height:340px;overflow:hidden;border-radius:22px;
  border:1px solid var(--ps-line);background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.02));
  box-shadow:0 14px 28px rgba(0,0,0,.22);transition:.18s ease;
}
#ps-events-hub .ps-card:hover{transform:translateY(-3px);border-color:rgba(255,255,255,.14);box-shadow:0 18px 36px rgba(0,0,0,.34)}
#ps-events-hub .ps-card.is-past{filter:grayscale(1);opacity:.56}
#ps-events-hub .ps-card.is-past.is-duty{filter:grayscale(.35);opacity:.84}
#ps-events-hub .ps-media{
  position:relative;height:142px;background:
  linear-gradient(135deg, rgba(224,58,69,.28), rgba(0,0,0,0)),
  linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.62)),
  radial-gradient(circle at 20% 20%, rgba(255,255,255,.08), transparent 45%),
  repeating-linear-gradient(135deg, rgba(255,255,255,.045) 0 12px, transparent 12px 24px);
  background-size:cover;background-position:center;border-bottom:1px solid rgba(255,255,255,.06);
}
#ps-events-hub .ps-media::after{
  content:"";position:absolute;inset:0;background:linear-gradient(180deg, rgba(0,0,0,0), rgba(0,0,0,.55));pointer-events:none;
}
#ps-events-hub .ps-status-pill{
  position:absolute;left:12px;bottom:12px;z-index:2;font-size:11px;font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;padding:8px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.14);
  background:rgba(0,0,0,.34);backdrop-filter:blur(6px);color:#fff;
}
#ps-events-hub .ps-status-pill.upcoming{background:rgba(34,197,94,.10);border-color:rgba(34,197,94,.35)}
#ps-events-hub .ps-status-pill.past-duty{background:rgba(224,58,69,.12);border-color:rgba(224,58,69,.35)}
#ps-events-hub .ps-ribbon-duty{
  position:absolute;top:12px;right:-44px;z-index:2;transform:rotate(45deg);
  background:linear-gradient(180deg, var(--ps-brand-2), var(--ps-brand));color:#fff;font-size:11px;
  font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:9px 56px;box-shadow:0 10px 20px rgba(0,0,0,.25);
}
#ps-events-hub .ps-ribbon-private{
  position:absolute;top:12px;left:-56px;z-index:2;transform:rotate(-35deg);background:#5b6470;color:#fff;
  font-size:10px;font-weight:900;letter-spacing:.18em;text-transform:uppercase;padding:10px 76px;box-shadow:0 10px 20px rgba(0,0,0,.25);
}
#ps-events-hub .ps-body{display:flex;flex-direction:column;gap:10px;padding:16px;flex:1}
#ps-events-hub .ps-title{margin:0;font-size:19px;line-height:1.2;letter-spacing:-.01em}
#ps-events-hub .ps-meta{margin:0;color:var(--ps-muted);font-size:13.5px;line-height:1.4}
#ps-events-hub .ps-blurb{margin:0;color:#d5dce4;font-size:14px;line-height:1.6}
#ps-events-hub .ps-tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto}
#ps-events-hub .ps-tags span{
  display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;border:1px solid var(--ps-line);
  background:rgba(255,255,255,.04);color:#cbd4dd;font-size:12px;
}
#ps-events-hub .ps-cta{display:flex;gap:8px;flex-wrap:wrap;padding:0 16px 16px}
#ps-events-hub .ps-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px;border-radius:12px;
  font-size:13px;font-weight:700;border:1px solid var(--ps-line);background:rgba(255,255,255,.05);color:var(--ps-text);transition:.18s ease;
}
#ps-events-hub .ps-btn:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.16)}
#ps-events-hub .ps-btn.is-primary{background:linear-gradient(180deg, var(--ps-brand-2), var(--ps-brand));border-color:rgba(224,58,69,.45);color:#fff}
#ps-events-hub .ps-state{padding:0 18px 22px;color:var(--ps-muted);font-size:14px}
#ps-events-hub .ps-state.is-error{color:#ffb4b4}
#ps-events-hub .ps-static-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px;padding:0 18px 22px}
#ps-events-hub .ps-static-card{background:rgba(255,255,255,.03);border:1px solid var(--ps-line);border-radius:18px;padding:16px}
#ps-events-hub .ps-static-card h4{margin:0 0 8px;font-size:17px}
#ps-events-hub .ps-static-card p,#ps-events-hub .ps-static-card li{color:#d4dbe3;line-height:1.6;font-size:14px}
#ps-events-hub .ps-static-card ul{margin:0;padding-left:18px}
#ps-events-hub .ps-print-btn{
  appearance:none;border:1px solid var(--ps-line);background:rgba(255,255,255,.05);color:var(--ps-text);
  padding:10px 14px;border-radius:999px;font-size:13px;cursor:pointer;
}
@media (max-width:740px){
  #ps-events-hub{padding:44px 14px}
  #ps-events-hub .ps-tabs,#ps-events-hub .ps-controls,#ps-events-hub .ps-panel-head{padding-left:14px;padding-right:14px}
  #ps-events-hub .ps-grid,#ps-events-hub .ps-state,#ps-events-hub .ps-static-grid{padding-left:14px;padding-right:14px}
}
@media print{
  #ps-events-hub .ps-tabs,#ps-events-hub .ps-controls,#ps-events-hub .ps-panel-head{display:none !important}
}
