@import url('https://fonts.googleapis.com/css2?family=Ubuntu:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500;1,700&family=Plus+Jakarta+Sans:ital,wght@0,300..800;1,300..800&family=Outfit:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&family=Syne:wght@700;800&display=swap');

:root{
  --green:#35a845;
  --green-2:#277a35;
  --deep:#0d100e;
  --panel:rgba(13,16,14,.78);
  --panel-2:rgba(22,27,24,.74);
  --glass:rgba(255,255,255,.08);
  --line:rgba(255,255,255,.13);
  --text:#f3f5f1;
  --muted:#c1c8bd;
  --dim:#899287;
  --shadow:0 24px 80px rgba(0,0,0,.42);
  --radius:18px;
  color:var(--text);
  font-family: 'Ubuntu', sans-serif !important;
  font-synthesis:none;
  background:var(--deep);
}

*, *::before, *::after {
  font-family: 'Ubuntu', sans-serif;
}

body, p, span, a, li, b, strong, button, input, select, textarea, label, td, th, div, article, section, header, footer,
h1, h2, h3, h4, h5, h6,
h1 *, h2 *, h3 *, h4 *, h5 *, h6 *,
.hero-content h1,
.page-hero h1,
.schedule-head h1,
.section-heading h2,
.leaderboard-header h1,
.leader-identity-copy h2,
.signup-card h1,
.home-footer-utility>h2,
.footer-pulse-copy>h2,
.schedule-banner-title,
.schedule-banner-title *,
.home-redesign-copy h1,
.home-redesign-copy h1 *,
.home-access header h2,
.musabaqa-title,
.musabaqa-hero h1,
.students-hero h1,
.students-page-hero h1,
.participant-title h1,
.review-hero h1,
.scoreboard-title,
.admin-title,
.home-event-highlights h3 {
  font-family: 'Ubuntu', sans-serif !important;
}

/* 2026 homepage redesign --------------------------------------------------- */
body.page-home {
  --home-green: #56e47a;
  --home-green-soft: #a8f6ba;
  --home-ink: #061009;
  --home-surface: rgba(8, 18, 11, .72);
  --page-image: url("../kauzariyya5.webp");
  background:
    radial-gradient(circle at 50% 0%, rgba(36, 140, 75, 0.22), transparent 55%),
    radial-gradient(circle at 90% 40%, rgba(16, 80, 40, 0.18), transparent 45%),
    linear-gradient(180deg, rgba(4, 10, 7, 0.48), rgba(3, 8, 5, 0.85)),
    linear-gradient(90deg, rgba(4, 12, 7, 0.68), rgba(4, 12, 7, 0.35)),
    var(--page-image) center / cover fixed !important;
}

body.page-home::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(circle at 20% 25%, rgba(46, 170, 88, 0.15), transparent 45%),
    linear-gradient(180deg, rgba(4, 10, 7, 0.38), rgba(3, 8, 5, 0.82)),
    var(--page-image) center / cover no-repeat !important;
  pointer-events: none;
}

body.page-home main {
  max-width: 1240px;
  padding-inline: 28px;
  overflow: visible;
}

body.page-home .site-footer { display: none; }

body.page-home .site-header {
  width: min(1184px, calc(100% - 56px));
  min-height: 66px;
  grid-template-columns: minmax(250px, 1fr) auto minmax(250px, 1fr);
  margin: 18px auto 0;
  padding: 9px 12px;
  border-color: rgba(255, 255, 255, .11);
  border-radius: 16px;
  background: rgba(4, 11, 7, .68);
  box-shadow: 0 20px 60px rgba(0, 0, 0, .25);
}

body.page-home .site-logo img {
  width: 45px;
  height: 45px;
  border-radius: 12px;
}

body.page-home .site-logo b {
  font-family: "Ubuntu", sans-serif !important;
  font-size: 13px;
  letter-spacing: -.02em;
}

body.page-home .site-logo small {
  margin-top: 3px;
  color: rgba(255,255,255,.43);
  font-size: 8px;
  letter-spacing: .1em;
  text-transform: uppercase;
}

body.page-home .site-nav {
  gap: 3px;
  padding: 4px;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 12px;
  background: rgba(255,255,255,.035);
}

body.page-home .site-nav a {
  padding: 9px 13px;
  border-radius: 9px;
  color: rgba(255,255,255,.55);
  font-size: 10px;
  letter-spacing: .02em;
}

body.page-home .site-nav a:hover,
body.page-home .site-nav a.active {
  color: #fff;
  background: rgba(86,228,122,.13);
  box-shadow: inset 0 0 0 1px rgba(86,228,122,.12);
}

body.page-home .visitor-logout-floating {
  top: 31px;
  right: max(42px, calc(50% - 575px));
  z-index: 55;
  height: 39px;
  border-color: rgba(86,228,122,.2);
  background: rgba(8,24,13,.78);
}

.home-redesign {
  width: 100%;
  padding-bottom: 34px;
}

.home-redesign-hero {
  position: relative;
  min-height: min(720px, calc(100svh - 84px));
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(330px, .8fr);
  grid-template-rows: 1fr auto;
  column-gap: clamp(44px, 7vw, 100px);
  align-items: center;
  padding: clamp(82px, 10vh, 126px) 0 38px;
}

.home-redesign-copy {
  align-self: center;
  max-width: 680px;
}

.home-welcome {
  width: max-content;
  max-width: 100%;
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 28px;
  color: rgba(255,255,255,.58);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .04em;
}

.home-welcome i {
  width: 7px;
  height: 7px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--home-green);
  box-shadow: 0 0 0 5px rgba(86,228,122,.1), 0 0 18px rgba(86,228,122,.55);
}

.home-welcome strong {
  max-width: 220px;
  overflow: hidden;
  color: #fff;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.home-kicker {
  margin: 0 0 14px;
  color: var(--home-green-soft);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.home-kicker span { color: rgba(255,255,255,.32); }

.home-redesign-copy h1 {
  margin: 0;
  color: #fff;
  font-family: "Ubuntu", sans-serif !important;
  font-size: clamp(58px, 7.4vw, 96px);
  font-weight: 800;
  line-height: .92;
  letter-spacing: -.065em;
  text-shadow: 0 18px 55px rgba(0,0,0,.3);
}

.home-redesign-copy h1 em {
  color: var(--home-green);
  font-family: inherit !important;
  font-style: normal;
}

.home-lead {
  max-width: 560px;
  margin: 25px 0 0;
  color: rgba(255,255,255,.63);
  font-family: "Ubuntu", sans-serif !important;
  font-size: 13px;
  line-height: 1.8;
}

.home-primary-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}

.home-primary-actions .button {
  min-width: 176px;
  min-height: 51px;
  justify-content: space-between;
  gap: 26px;
  border-radius: 12px;
  padding-inline: 18px;
  font-family: "Ubuntu", sans-serif !important;
  font-size: 10px;
}

.home-primary-actions .button-light {
  border-color: var(--home-green);
  background: var(--home-green);
  box-shadow: 0 14px 40px rgba(50,206,88,.2);
}

.home-primary-actions .button-ghost {
  background: rgba(255,255,255,.055);
  backdrop-filter: blur(12px);
}

.home-trust-row {
  display: flex;
  flex-wrap: wrap;
  gap: 19px;
  margin-top: 18px;
  color: rgba(255,255,255,.38);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.home-trust-row span { display: flex; align-items: center; gap: 6px; }
.home-trust-row i { color: var(--home-green); font-style: normal; }

.festival-pulse {
  position: relative;
  align-self: center;
  min-height: 410px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  padding: 25px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 24px;
  background: linear-gradient(155deg, rgba(14,40,21,.69), rgba(4,12,7,.78));
  box-shadow: 0 34px 90px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.07);
  backdrop-filter: blur(18px);
}

.festival-pulse::before {
  content: "";
  position: absolute;
  width: 270px;
  height: 270px;
  right: -110px;
  top: -120px;
  border: 45px solid rgba(86,228,122,.045);
  border-radius: 50%;
}

.festival-pulse > * { position: relative; z-index: 1; }

.festival-pulse header,
.pulse-program > div,
.pulse-progress > div,
.festival-pulse footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.pulse-label {
  display: flex;
  align-items: center;
  gap: 9px;
  color: var(--home-green-soft);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.pulse-label i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--home-green);
  box-shadow: 0 0 0 6px rgba(86,228,122,.1);
  animation: pulse 1.6s infinite;
}

.pulse-year {
  padding: 6px 8px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 8px;
  color: rgba(255,255,255,.45);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .12em;
}

.pulse-program small {
  display: block;
  margin-bottom: 10px;
  color: rgba(255,255,255,.4);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.pulse-program h2 {
  max-width: 11ch;
  margin: 0 0 18px;
  color: #fff;
  font-family: "Ubuntu", sans-serif !important;
  font-size: clamp(31px, 3.3vw, 45px);
  line-height: 1;
  letter-spacing: -.045em;
}

.pulse-program > div {
  justify-content: flex-start;
  color: rgba(255,255,255,.5);
  font-size: 9px;
}

.pulse-program time {
  padding-left: 14px;
  border-left: 1px solid rgba(255,255,255,.13);
  color: #fff;
  font-weight: 800;
}

.pulse-progress > div {
  margin-bottom: 9px;
  color: rgba(255,255,255,.42);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.pulse-progress strong { color: #fff; font-size: 10px; }

.pulse-progress > i {
  height: 5px;
  display: block;
  overflow: hidden;
  border-radius: 99px;
  background: rgba(255,255,255,.09);
}

.pulse-progress > i span {
  height: 100%;
  display: block;
  border-radius: inherit;
  background: linear-gradient(90deg, #28b64c, #75f395);
  box-shadow: 0 0 18px rgba(86,228,122,.6);
}

.festival-pulse footer {
  justify-content: flex-start;
  padding-top: 21px;
  border-top: 1px solid rgba(255,255,255,.1);
}

.festival-pulse footer > span {
  min-width: 76px;
  display: grid;
  gap: 2px;
}

.festival-pulse footer strong {
  color: #fff;
  font-family: "Ubuntu", sans-serif !important;
  font-size: 21px;
  line-height: 1;
}

.festival-pulse footer small {
  color: rgba(255,255,255,.35);
  font-size: 7px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.festival-pulse footer a {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  margin-left: auto;
  border: 1px solid rgba(86,228,122,.25);
  border-radius: 50%;
  color: var(--home-green);
  font-size: 18px;
  transition: transform .2s, background .2s;
}

.festival-pulse footer a:hover { transform: translateX(3px); background: rgba(86,228,122,.1); }

.home-verse {
  grid-column: 1 / -1;
  min-height: 94px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 18px;
  align-items: center;
  margin: 56px 0 0;
  padding: 17px 22px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 16px;
  background: rgba(3,11,6,.46);
  box-shadow: inset 3px 0 0 var(--home-green);
  backdrop-filter: blur(12px);
}

.verse-mark {
  color: var(--home-green);
  font-family: Georgia, serif !important;
  font-size: 36px;
  line-height: 1;
}

.home-verse div { min-width: 0; }

.home-verse p {
  margin: 0 0 2px;
  color: #fff;
  font-family: "Noto Naskh Arabic", serif !important;
  font-size: 22px;
  line-height: 1.4;
  text-align: left;
}

.home-verse div > span {
  color: rgba(255,255,255,.44);
  font-size: 9px;
}

.home-verse cite {
  color: var(--home-green-soft);
  font-size: 9px;
  font-style: normal;
  font-weight: 800;
  letter-spacing: .12em;
}

.home-access {
  padding: 84px 0 38px !important;
}

.home-access > header {
  display: grid;
  grid-template-columns: 1fr minmax(260px, .55fr);
  gap: 50px;
  align-items: end;
  margin-bottom: 32px;
}

.home-access > header p {
  margin: 0 0 11px;
  color: var(--home-green-soft);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.home-access > header h2 {
  margin: 0;
  color: #fff;
  font-family: "Ubuntu", sans-serif !important;
  font-size: clamp(35px, 4vw, 50px);
  line-height: 1.02;
  letter-spacing: -.05em;
}

.home-access > header h2 em { color: var(--home-green); font-family: inherit !important; }

.home-access > header > span {
  max-width: 390px;
  padding-left: 0;
  border-left: none !important;
  color: rgba(255, 255, 255, 0.65);
  font-family: "Ubuntu", sans-serif !important;
  font-size: 11px;
  line-height: 1.7;
}

.home-access-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

body.page-home .home-access-grid .feature-card {
  min-height: 200px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 22px;
  border: 1px solid rgba(255, 255, 255, 0.09) !important;
  border-radius: 20px !important;
  background: linear-gradient(150deg, rgba(8, 22, 14, 0.82), rgba(4, 14, 8, 0.92)) !important;
  box-shadow: 0 16px 45px rgba(0, 0, 0, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
  transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.28s ease, background 0.28s ease, box-shadow 0.28s ease !important;
}

body.page-home .home-access-grid .feature-card::before { display: none !important; }

body.page-home .home-access-grid .feature-card:hover {
  transform: translateY(-5px) !important;
  border-color: rgba(105, 231, 135, 0.35) !important;
  background: linear-gradient(150deg, rgba(12, 32, 20, 0.92), rgba(6, 18, 11, 0.96)) !important;
  box-shadow: 0 24px 50px rgba(0, 0, 0, 0.35), 0 0 28px rgba(105, 231, 135, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.1) !important;
}

body.page-home .home-access-grid .feature-card > div {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

body.page-home .home-access-grid .feature-card .card-icon {
  min-width: 42px;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  margin: 0;
  border: 1px solid rgba(86,228,122,.19);
  border-radius: 12px;
  background: rgba(86,228,122,.09);
  color: var(--home-green);
  box-shadow: none;
}

body.page-home .home-access-grid .feature-card > div small {
  color: rgba(255,255,255,.25);
  font-family: "Ubuntu", sans-serif !important;
  font-size: 9px;
  font-weight: 700;
}

body.page-home .home-access-grid .card-copy {
  display: block;
  margin: auto 0 0;
  background: none;
}

body.page-home .home-access-grid .feature-card h3 {
  margin: 0 0 8px;
  color: #fff;
  font-family: "Ubuntu", sans-serif !important;
  font-size: 15px;
  letter-spacing: -.025em;
}

body.page-home .home-access-grid .feature-card p {
  margin: 0;
  color: rgba(255,255,255,.4);
  font-family: "Ubuntu", sans-serif !important;
  font-size: 9px;
  line-height: 1.65;
}

body.page-home .home-access-grid .feature-card > b {
  position: absolute;
  right: 18px;
  bottom: 18px;
  color: var(--home-green);
  font-size: 13px;
  opacity: 0;
  transform: translate(-5px, 5px);
  transition: opacity .2s, transform .2s;
}

body.page-home .home-access-grid .feature-card:hover > b { opacity: 1; transform: none; }

.home-redesign-footer {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 25px 0 8px;
  border-top: 1px solid rgba(255,255,255,.08);
  color: rgba(255,255,255,.34);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

@media (max-width: 980px) {
  body.page-home .site-header {
    width: calc(100% - 36px);
    grid-template-columns: 1fr auto;
  }

  body.page-home .site-nav {
    position: absolute;
    top: 74px;
    left: 0;
    right: 0;
    display: none;
    padding: 9px;
    background: rgba(4,11,7,.96);
  }

  body.page-home .site-nav.open { display: grid; }
  body.page-home .menu-toggle { display: grid; }
  body.page-home .visitor-logout-floating { right: 86px; }

  .home-redesign-hero {
    grid-template-columns: minmax(0, 1fr) minmax(300px, .72fr);
    column-gap: 30px;
  }

  .home-redesign-copy h1 { font-size: clamp(55px, 8vw, 75px); }
  .home-access-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  body.page-home .home-access-grid .feature-card { min-height: 180px; }
}

@media (max-width: 700px) {
  body.page-home main {
    max-width: 100%;
    padding-inline: 16px;
  }

  body.page-home .site-header {
    top: 10px;
    width: calc(100% - 24px);
    min-height: 59px;
    margin-top: 10px;
    padding: 7px 78px 7px 8px;
    border-radius: 16px;
  }

  body.page-home .site-logo { gap: 9px; }
  body.page-home .site-logo img { width: 41px; height: 41px; }
  body.page-home .site-logo b { font-size: 11px; }
  body.page-home .site-logo small { font-size: 6px; }
  body.page-home .menu-toggle { display: none; }

  body.page-home .visitor-logout-floating {
    top: 23px;
    right: 22px;
    height: 34px;
    padding-right: 9px;
    font-size: 7px;
  }

  .home-redesign { padding-bottom: 90px; }

  .home-redesign-hero {
    min-height: auto;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding: 79px 0 28px;
  }

  .home-redesign-copy { max-width: 100%; }

  .home-welcome {
    margin-bottom: 22px;
    font-size: 9px;
  }

  .home-welcome strong { max-width: 155px; }
  .home-kicker { margin-bottom: 12px; font-size: 7px; }

  .home-redesign-copy h1 {
    max-width: 390px;
    font-size: clamp(44px, 13.2vw, 62px);
    line-height: .94;
    letter-spacing: -.06em;
  }

  .home-lead {
    max-width: 39em;
    margin-top: 19px;
    font-size: 10px;
    line-height: 1.7;
  }

  .home-primary-actions {
    display: grid;
    grid-template-columns: 1fr 1fr;
    margin-top: 21px;
  }

  .home-primary-actions .button {
    min-width: 0;
    min-height: 47px;
    gap: 8px;
    padding-inline: 13px;
    font-size: 8px;
  }

  .home-trust-row { gap: 13px; margin-top: 14px; font-size: 6px; }

  .festival-pulse {
    min-height: 285px;
    margin-top: 26px;
    padding: 19px;
    border-radius: 19px;
  }

  .pulse-program h2 {
    max-width: 15ch;
    margin-bottom: 13px;
    font-size: 29px;
  }

  .festival-pulse footer { padding-top: 15px; }

  .home-verse {
    order: 3;
    min-height: 82px;
    gap: 12px;
    margin-top: 12px;
    padding: 13px 14px;
    border-radius: 14px;
  }

  .verse-mark { display: none; }
  .home-verse p { font-size: 18px; }
  .home-verse div > span { font-size: 7px; }
  .home-verse cite { font-size: 7px; }

  .home-access { padding: 48px 0 22px !important; }

  .home-access > header {
    grid-template-columns: 1fr;
    gap: 14px;
    margin-bottom: 21px;
  }

  .home-access > header h2 { font-size: 31px; }
  .home-access > header > span { max-width: 42em; font-size: 8px; }
  .home-access-grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px; }

  body.page-home .home-access-grid .feature-card {
    min-height: 175px;
    padding: 14px;
    border-radius: 15px;
  }

  body.page-home .home-access-grid .feature-card .card-icon {
    width: 37px;
    min-width: 37px;
    height: 37px;
    border-radius: 10px;
  }

  body.page-home .home-access-grid .feature-card h3 { font-size: 12px; }
  body.page-home .home-access-grid .feature-card p { font-size: 7px; }
  body.page-home .home-access-grid .feature-card > b { display: none; }

  .home-redesign-footer {
    display: grid;
    justify-content: center;
    text-align: center;
    font-size: 6px;
  }
}

@media (max-width: 370px) {
  body.page-home main { padding-inline: 12px; }
  body.page-home .site-logo b { font-size: 9px; }
  body.page-home .site-logo small { display: none; }
  .home-redesign-copy h1 { font-size: 42px; }
  .home-primary-actions { grid-template-columns: 1fr; }
  .home-access-grid { grid-template-columns: 1fr; }
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--deep)}
body{
  min-width:320px;
  min-height:100vh;
  margin:0;
  overflow-x:hidden;
  color:var(--text);
  background:
    linear-gradient(90deg,rgba(12,14,12,.9),rgba(12,14,12,.72) 42%,rgba(12,14,12,.86)),
    linear-gradient(180deg,rgba(12,14,12,.64),rgba(12,14,12,.94)),
    var(--page-image,url("../kauzariyya.png")) center/cover fixed;
}
body.page-home{--page-image:url("../kauzariyya4.webp")}
body.page-admin{--page-image:url("../kauzariyya4.webp")}
body.page-scoreboard{--page-image:url("../kauzariyya6.webp")}
body.page-schedule{--page-image:url("../kauzariyya5.webp")}
body.page-participants{--page-image:url("../kauzariyya7.webp")}
body.page-musabaqa{--page-image:url("../kauzariyya9.webp")}
body.page-review{--page-image:url("../kauzariyya8.webp")}
body.page-schedule,body.page-review{background:linear-gradient(90deg,rgba(7,11,8,.64),rgba(7,11,8,.38) 54%,rgba(7,11,8,.58)),linear-gradient(180deg,rgba(7,11,8,.2),rgba(7,11,8,.62)),var(--page-image) center/cover fixed}
body:before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:radial-gradient(circle at 78% 12%,rgba(53,168,69,.14),transparent 24%),linear-gradient(180deg,transparent,rgba(0,0,0,.45));
}
button,input{font:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a{color:inherit;text-decoration:none}
img,video{display:block;max-width:100%}
.home-video-bg{position:fixed;inset:0;z-index:0;display:none;overflow:hidden;pointer-events:none;background:#050b07}.home-video-bg video{width:100%;height:100%;max-width:none;object-fit:cover;filter:saturate(.78) brightness(var(--video-brightness,.62)) contrast(1.06);transform:scale(1.015)}body.page-home .home-video-bg{display:block}body.page-home main,body.page-home .site-footer{position:relative;z-index:2}body.page-home .site-header{z-index:50}body.page-home:before{z-index:1;background:linear-gradient(90deg,rgba(4,9,6,.78),rgba(4,9,6,.34) 55%,rgba(4,9,6,.62)),linear-gradient(180deg,rgba(4,9,6,.18),rgba(4,9,6,.58));filter:none}
h1,h2,h3,p,figure{margin-top:0}
main{width:100%;max-width:1120px;margin:0 auto;padding:0 16px;overflow:visible}
#react-root{animation:pageEnter .55s ease both}
.section-wrap{width:100%;min-width:0;margin-inline:auto}
.overline{margin:0 0 12px;color:#8ce094;font-size:11px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
em{color:#8ce094;font-style:normal}

.site-header{
  position:sticky;
  top:10px;
  z-index:50;
  width:auto;
  min-height:58px;
  margin:10px 16px 0;
  display:grid;
  grid-template-columns:1fr auto;
  gap:12px;
  align-items:center;
  padding:8px;
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(14,17,15,.68);
  box-shadow:0 16px 50px rgba(0,0,0,.28);
  backdrop-filter:blur(18px);
}
.site-header.is-scrolled{background:rgba(14,17,15,.88)}
.site-logo{display:flex;align-items:center;gap:12px;min-width:0}
.site-logo img{width:42px;height:42px;object-fit:contain;border-radius:12px;background:#fff;padding:6px;box-shadow:0 14px 30px rgba(0,0,0,.26)}
.site-logo span{display:grid;gap:1px;line-height:1.04}
.site-logo b{font: 900 14px "Ubuntu", sans-serif;letter-spacing:.02em}
.site-logo small{color:var(--muted);font-size:9px;font-weight:800}
.menu-toggle{width:42px;height:42px;display:grid;place-content:center;gap:6px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.07);cursor:pointer}
.menu-toggle span{width:18px;height:2px;border-radius:2px;background:var(--text)}
.site-nav{
  position:absolute;
  top:68px;
  left:0;
  right:0;
  display:none;
  gap:6px;
  padding:8px;
  border:1px solid var(--line);
  border-radius:18px;
  background:rgba(14,17,15,.94);
  box-shadow:var(--shadow);
}
.site-nav.open{display:grid}
.site-nav a{padding:12px 14px;border-radius:12px;color:var(--muted);font-size:13px;font-weight:900;text-align:center;transition:background .25s,color .25s,transform .25s}
.site-nav a:hover,.site-nav a.active{color:#071008;background:var(--green);transform:translateY(-1px)}
.festival-date{display:none}
.header-account-actions{display:none}

.home-hero{
  min-height:390px;
  display:grid;
  gap:22px;
  align-items:center;
  padding:76px 0 40px;
}
.hero-content{width:min(100%,340px);min-width:0}
.hero-content h1,.page-hero h1,.schedule-head h1{
  max-width:760px;
  margin:0;
  color:#fff;
  font: 700 clamp(40px,9vw,76px)/1.02 "Ubuntu", sans-serif;
  letter-spacing:-.015em;
  text-shadow:0 6px 30px rgba(0,0,0,.3);
}
.hero-copy{max-width:660px;margin:18px 0 0;color:var(--muted);font-size:15px;line-height:1.72}
.welcome-chip{width:max-content;display:flex;align-items:center;gap:8px;margin-bottom:18px;padding:7px 11px;border:1px solid rgba(78,232,131,.24);border-radius:999px;background:rgba(78,232,131,.08);color:#b8f8cb;font-size:10px;font-weight:800;letter-spacing:.08em}.welcome-chip i{width:7px;height:7px;border-radius:50%;background:#4ee883;box-shadow:0 0 0 5px rgba(78,232,131,.1)}
.hero-greeting{width:min(100%,430px);display:flex;align-items:center;gap:10px;margin-bottom:24px;padding-bottom:12px;border-bottom:1px solid rgba(78,232,131,.3);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.hero-greeting span{color:#8ce094}.hero-greeting strong{min-width:0;overflow:hidden;color:#fff;text-overflow:ellipsis;white-space:nowrap}.hero-greeting span:after{content:"/";margin-left:10px;color:rgba(255,255,255,.25)}
.hero-actions{display:grid;gap:10px;margin-top:22px}
.hero-ayah{position:relative;max-width:520px;margin:22px 0 0;padding:20px 22px 18px;overflow:hidden;border:1px solid rgba(255,255,255,.13);border-radius:16px;background:linear-gradient(135deg,rgba(7,18,11,.58),rgba(7,12,9,.3));box-shadow:inset 3px 0 0 #4ee883;backdrop-filter:blur(10px)}
.hero-ayah:after{content:"";position:absolute;right:-28px;top:-36px;width:110px;height:110px;border:1px solid rgba(78,232,131,.12);border-radius:50%}
.hero-ayah .ayah-mark{position:absolute;right:18px;top:12px;color:rgba(78,232,131,.34);font-size:23px}
.hero-ayah p{margin:0 0 8px;color:#fff;font:600 30px/1.65 "Noto Naskh Arabic",serif!important;text-align:left}
.hero-ayah>span:not(.ayah-mark){display:block;color:rgba(244,248,243,.78);font-size:12px;line-height:1.5}.hero-ayah cite{display:block;margin-top:8px;color:#8ce094;font-size:9px;font-style:normal;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
body.page-home .hero-ayah:after{display:none}body.page-home .hero-ayah{border-radius:12px;background:rgba(5,13,8,.42);box-shadow:inset 2px 0 0 #4ee883}
.hero-shield-card{position:relative;min-height:280px;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:34px;border:1px solid rgba(255,255,255,.12);border-radius:24px;background:linear-gradient(155deg,rgba(10,12,11,.68),rgba(15,18,16,.92));box-shadow:0 30px 80px rgba(0,0,0,.5);backdrop-filter:blur(20px)}
.hero-shield-card:before{content:"";position:absolute;right:-90px;top:-100px;width:290px;height:290px;border:52px solid rgba(53,168,69,.04);border-radius:50%}
.shield-card-icon{display:flex;align-items:center;justify-content:center;width:64px;height:64px;margin-bottom:20px;border-radius:18px;background:rgba(53,168,69,.12);color:var(--green);box-shadow:inset 0 0 20px rgba(53,168,69,.08)}
.hero-shield-card p{position:relative;margin:0;color:#fff;font-size:16px;line-height:1.6;font-weight:500}
.button-icon{display:inline-flex;align-items:center;margin-right:8px}
.home-footer{text-align:center;color:var(--dim);font-size:12px;margin-top:40px;padding-top:24px;border-top:1px solid var(--line)}
.home-hero{position:relative;isolation:isolate}
.hero-motion{position:absolute;inset:30px -8vw 0;z-index:-1;overflow:hidden;pointer-events:none}.hero-motion span{position:absolute;border-radius:50%;filter:blur(3px);opacity:.45}.hero-motion span:nth-child(1){width:340px;height:340px;right:4%;top:4%;border:1px solid rgba(78,232,131,.28);box-shadow:inset 0 0 80px rgba(78,232,131,.08);animation:heroOrbit 13s ease-in-out infinite}.hero-motion span:nth-child(2){width:160px;height:160px;right:32%;bottom:5%;background:radial-gradient(circle,rgba(78,232,131,.18),transparent 68%);animation:heroFloat 8s ease-in-out infinite reverse}.hero-motion span:nth-child(3){width:2px;height:75%;left:51%;top:8%;border-radius:0;background:linear-gradient(transparent,rgba(78,232,131,.35),transparent);animation:lineGlow 4s ease-in-out infinite}
.hero-title span{display:inline-block;animation:titleReveal .9s cubic-bezier(.2,.8,.2,1) both}.hero-title em{display:inline-block;background:linear-gradient(90deg,#4ee883,#c5ffd5,#4ee883);background-size:200% auto;-webkit-background-clip:text;background-clip:text;color:transparent;animation:titleReveal .9s .12s cubic-bezier(.2,.8,.2,1) both,gradientTravel 4s linear infinite}
.home-live-panel{min-height:430px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(155deg,rgba(9,40,18,.6),rgba(5,12,8,.38));animation:panelFloat 6s ease-in-out infinite}.home-live-panel>header,.home-live-panel>footer,.live-program-main,.festival-progress{position:relative;z-index:1}.home-live-panel>header{display:flex;align-items:center;justify-content:space-between}.home-live-panel>header span{display:flex;align-items:center;gap:8px;color:#7bf09d;font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.home-live-panel>header i{width:8px;height:8px;border-radius:50%;background:#4ee883;box-shadow:0 0 0 6px rgba(78,232,131,.12);animation:pulse 1.4s infinite}.home-live-panel>header time{color:#fff;font-weight:800}.live-program-main small{color:#8ce094;font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.live-program-main h2{max-width:9ch;margin:9px 0;color:#fff;font-size:clamp(36px,5vw,56px);line-height:.92}.live-program-main p{margin:0;color:var(--muted);font-size:12px}.festival-progress{display:grid;gap:8px}.festival-progress>div{display:flex;justify-content:space-between;color:var(--muted);font-size:9px;letter-spacing:.1em;text-transform:uppercase}.festival-progress>i{height:5px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.1)}.festival-progress>i span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#21a844,#7aff9e);box-shadow:0 0 18px #4ee883;animation:progressGlow 2s ease-in-out infinite}.home-live-panel>footer{display:grid;grid-template-columns:repeat(3,1fr);padding-top:18px;border-top:1px solid var(--line)}.home-live-panel>footer div{display:grid;text-align:center;border-left:1px solid var(--line)}.home-live-panel>footer div:first-child{border:0}.home-live-panel>footer strong{color:#fff;font-size:24px}.home-live-panel>footer span{color:var(--dim);font-size:8px;text-transform:uppercase;letter-spacing:.1em}
.festival-marquee{width:100vw;margin-left:calc(50% - 50vw);overflow:hidden;border-block:1px solid rgba(78,232,131,.18);background:rgba(5,14,8,.5);backdrop-filter:blur(8px);transform:rotate(-1deg)}.festival-marquee>div{width:max-content;display:flex;align-items:center;gap:26px;padding:13px 0;color:#dfffe7;font-size:11px;font-weight:900;letter-spacing:.22em;text-transform:uppercase;animation:marqueeMove 18s linear infinite}.festival-marquee i{color:#4ee883;font-style:normal}
body.page-home .feature-card{animation:cardBreathe 5s ease-in-out infinite}.feature-card:nth-child(2){animation-delay:.5s!important}.feature-card:nth-child(3){animation-delay:1s!important}.feature-card:nth-child(4){animation-delay:1.5s!important}.card-icon{transition:transform .35s,color .35s}.feature-card:hover .card-icon{transform:rotate(-8deg) scale(1.15);color:#4ee883}
@keyframes heroOrbit{50%{transform:translate(-30px,22px) rotate(110deg) scale(1.08)}}@keyframes heroFloat{50%{transform:translate(20px,-34px) scale(1.18)}}@keyframes lineGlow{50%{opacity:.15;transform:scaleY(.72)}}@keyframes titleReveal{from{opacity:0;transform:translateY(45px) skewY(4deg)}to{opacity:1;transform:none}}@keyframes gradientTravel{to{background-position:200% center}}@keyframes panelFloat{50%{transform:translateY(-9px);box-shadow:0 38px 90px rgba(0,0,0,.55)}}@keyframes progressGlow{50%{filter:brightness(1.45)}}@keyframes marqueeMove{to{transform:translateX(-50%)}}@keyframes cardBreathe{50%{border-color:rgba(78,232,131,.3);box-shadow:0 20px 50px rgba(0,0,0,.28)}}
.button{
  position:relative;
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:10px;
  padding:0 20px;
  font-size:12px;
  font-weight:900;
  letter-spacing:.02em;
  transition:transform .25s,box-shadow .25s,background .25s;
}
.button:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 32%,rgba(255,255,255,.18),transparent 64%);transform:translateX(-110%) skewX(-18deg);transition:transform .65s}
.button:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(0,0,0,.26)}
.button:hover:before{transform:translateX(110%) skewX(-18deg)}
.button-light{border-color:rgba(53,168,69,.8);background:var(--green);color:#071008}
.button-ghost{background:rgba(255,255,255,.08);color:#fff}
.hero-panel{
  position:relative;
  min-height:230px;
  display:grid;
  place-items:center;
  gap:18px;
  padding:30px;
  border:1px solid var(--line);
  border-radius:28px;
  background:linear-gradient(135deg,rgba(0,0,0,.78),rgba(23,25,22,.72));
  box-shadow:var(--shadow);
  overflow:hidden;
}
.hero-panel:before,.feature-card:before,.result-card:before,.speaker-card:before,.schedule-column:before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(120deg,transparent,rgba(53,168,69,.28),transparent);
  opacity:.55;
  mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  padding:1px;
  -webkit-mask-composite:xor;
  mask-composite:exclude;
}
.hero-panel img{width:92px;padding:10px;border-radius:14px;background:#fff;filter:drop-shadow(0 12px 28px rgba(0,0,0,.3))}
.hero-panel strong{max-width:280px;color:#fff;font-size:16px;line-height:1.35;text-align:center}

.feature-section{padding:22px 0 30px}
.section-heading{margin-bottom:18px}
.section-heading h2{margin:0;color:#fff;font: 900 clamp(25px,7vw,38px)/1.08 "Ubuntu", sans-serif}
.feature-grid{display:grid;gap:12px}
.feature-card{
  position:relative;
  min-height:126px;
  padding:18px;
  border:1px solid var(--line);
  border-radius:12px;
  background:rgba(12,18,14,.68);
  box-shadow:0 14px 36px rgba(0,0,0,.22);
  overflow:hidden;
  transition:transform .25s,background .25s,border-color .25s;
}
.feature-card:hover{transform:translateY(-4px);border-color:rgba(53,168,69,.5);background:rgba(13,28,17,.78)}
.feature-card span{display:inline-grid;place-items:center;min-width:40px;height:40px;margin-bottom:14px;border-radius:10px;background:rgba(53,168,69,.12);color:#8ce094;font-size:11px;font-weight:900;box-shadow:inset 0 0 12px rgba(53,168,69,.08)}
.feature-card h3{margin:0 0 8px;color:#fff;font-size:16px}
.feature-card p{margin:0;color:var(--muted);font-size:13px;line-height:1.45}
.notice-bar{
  margin-top:22px;
  padding:16px 18px;
  border:1px solid var(--line);
  border-radius:10px;
  background:rgba(0,0,0,.52);
  color:var(--muted);
  font-size:13px;
}
.notice-bar strong{color:#fff}
.festival-info-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 17px;border-color:rgba(78,232,131,.2);background:linear-gradient(100deg,rgba(10,31,16,.58),rgba(3,10,6,.42));backdrop-filter:blur(9px)}.festival-info-bar>div{display:flex;align-items:center;gap:12px}.festival-info-bar>div>i{width:10px;height:10px;flex:0 0 10px;border-radius:50%;background:#4ee883;box-shadow:0 0 0 6px rgba(78,232,131,.1)}.festival-info-bar span{display:grid;gap:2px}.festival-info-bar strong{font-size:12px}.festival-info-bar small{color:var(--muted);font-size:10px}.festival-info-bar>a{flex:0 0 auto;display:flex;align-items:center;gap:9px;padding:9px 12px;border:1px solid rgba(78,232,131,.25);border-radius:9px;color:#a8f8be;font-size:10px;font-weight:800;transition:background .2s,border-color .2s}.festival-info-bar>a:hover{border-color:#4ee883;background:rgba(78,232,131,.1)}.festival-info-bar>a b{font-size:15px}

.page-hero.compact,.schedule-head{
  min-height:270px;
  display:grid;
  gap:18px;
  align-items:end;
  padding:80px 0 34px;
}
.page-intro,.schedule-head>p{color:var(--muted);line-height:1.7}
.live-label,.verified{display:inline-flex;align-items:center;gap:9px;margin-top:14px;color:#8ce094;font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.live-label i,.now-time i{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 7px rgba(53,168,69,.16);animation:pulse 1.5s infinite}

.score-stage{display:grid;grid-template-columns:1fr;gap:12px;padding:12px 0}
.score-orbit{display:none}
.team-score{
  position:relative;
  min-height:150px;
  display:grid;
  align-content:space-between;
  overflow:hidden;
  padding:18px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:16px;
  background:linear-gradient(135deg,var(--team),rgba(0,0,0,.18));
  color:#071008;
  box-shadow:var(--shadow);
}
.team-score.team-blue{color:#fff}
.team-score:after{content:"";position:absolute;inset:-30%;background:linear-gradient(110deg,transparent,rgba(255,255,255,.28),transparent);transform:translateX(-70%) rotate(15deg);transition:transform .7s}
.team-score:hover:after{transform:translateX(70%) rotate(15deg)}
.team-top{display:flex;justify-content:space-between;gap:12px;font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.team-top span{padding:5px 8px;border:1px solid currentColor;border-radius:999px;opacity:.68}
.team-score p{position:relative;margin:28px 0 4px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.team-score strong{position:relative;font: 900 56px/1 "Ubuntu", sans-serif}
.team-score small{position:relative;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}
.score-arc{display:none}
.score-note{padding:18px 0;display:grid;gap:8px;border-top:1px solid var(--line);color:var(--muted);font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}

.scoreboard-modern{margin-top:42px;padding:clamp(22px,4vw,48px);background:linear-gradient(145deg,rgba(6,15,9,.48),rgba(4,9,6,.32));backdrop-filter:blur(8px);border-color:rgba(255,255,255,.18)}
.scoreboard-heading{display:grid;gap:18px;align-items:end;margin-bottom:34px}
.scoreboard-heading h1{margin:0;color:#fff;font: 900 clamp(44px,8vw,76px)/.94 "Ubuntu", sans-serif;letter-spacing:-.045em}
.scoreboard-heading>p{max-width:420px;margin:0;color:var(--muted);line-height:1.65}
.scoreboard-layout{display:grid;gap:14px}
.score-leader{position:relative;min-height:320px;display:grid;align-content:end;overflow:hidden;padding:26px;border:1px solid rgba(255,255,255,.22);border-radius:24px;background:linear-gradient(155deg,rgba(9,42,19,.58),rgba(4,10,6,.42));box-shadow:0 25px 70px rgba(0,0,0,.22),inset 0 4px 0 var(--team);backdrop-filter:blur(9px)}
.score-leader:after{content:"";position:absolute;width:240px;height:240px;right:-80px;top:-80px;border:45px solid rgba(255,255,255,.08);border-radius:50%}
.score-leader span,.score-leader small{position:relative;z-index:1;color:rgba(255,255,255,.76);font-size:9px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.score-leader>b{position:absolute;right:24px;top:22px;font: 900 38px "Ubuntu", sans-serif;color:rgba(255,255,255,.24)}
.score-leader h2{position:relative;z-index:1;margin:12px 0 4px;color:#fff;font: 900 25px "Ubuntu", sans-serif;text-transform:uppercase}
.score-leader strong{position:relative;z-index:1;color:#fff;font: 900 clamp(76px,14vw,120px)/.9 "Ubuntu", sans-serif}
.standing-list{display:grid;gap:10px}
.standing-row{min-height:86px;display:grid;grid-template-columns:36px 1fr auto;gap:14px;align-items:center;padding:14px 16px;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:linear-gradient(100deg,rgba(8,17,11,.46),rgba(8,13,10,.28));box-shadow:0 12px 30px rgba(0,0,0,.12);backdrop-filter:blur(7px);transition:transform .25s,border-color .25s}
.standing-row:hover{transform:translateX(4px);border-color:rgba(78,232,131,.4)}
.standing-row>b{color:#8ce094;font-size:11px}.standing-row h2{margin:0 0 10px;color:#fff;font-size:14px;text-transform:uppercase;letter-spacing:.08em}
.standing-row div>span{display:block;height:4px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.1)}
.standing-row i{display:block;height:100%;border-radius:inherit;background:var(--team);box-shadow:0 0 16px var(--team)}
.standing-row>strong{color:#fff;font: 900 32px "Ubuntu", sans-serif}
.championship-board{display:grid;gap:16px}.champion-spotlight{position:relative;min-height:340px;display:grid;grid-template-columns:1fr auto;align-items:center;overflow:hidden;padding:clamp(24px,5vw,54px);border:1px solid rgba(255,255,255,.18);border-radius:28px;background:linear-gradient(120deg,rgba(7,35,16,.65),rgba(4,11,7,.34));box-shadow:inset 0 4px 0 var(--team),0 30px 80px rgba(0,0,0,.24);backdrop-filter:blur(8px)}.champion-spotlight:before{content:"";position:absolute;right:8%;width:330px;height:330px;border:1px solid rgba(78,232,131,.1);border-radius:50%;animation:championHalo 7s ease-in-out infinite}.champion-copy{position:relative;z-index:1}.champion-label{display:flex;align-items:center;gap:9px;color:#8cf2aa;font-size:9px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}.champion-label i{width:9px;height:9px;border-radius:50%;background:#4ee883;box-shadow:0 0 0 7px rgba(78,232,131,.12)}.champion-copy>p{margin:42px 0 8px;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.champion-copy h2{margin:0;color:#fff;font-size:clamp(40px,7vw,76px);line-height:.92;text-transform:uppercase}.champion-copy small{display:block;margin-top:13px;color:var(--muted)}.score-dial{position:relative;z-index:1;width:190px;height:190px;display:grid;place-items:center;border-radius:50%;background:conic-gradient(var(--team) var(--score-progress),rgba(255,255,255,.08) 0);box-shadow:0 0 60px color-mix(in srgb,var(--team) 18%,transparent);animation:dialIn 1.2s cubic-bezier(.2,.8,.2,1) both}.score-dial:before{content:"";position:absolute;inset:10px;border-radius:50%;background:rgba(5,14,8,.9);border:1px solid rgba(255,255,255,.12)}.score-dial>div{position:relative;display:grid;text-align:center}.score-dial strong{color:#fff;font-size:67px;line-height:.9}.score-dial span{color:var(--muted);font-size:9px;letter-spacing:.15em;text-transform:uppercase}
.challenger-section{padding:22px;border:1px solid rgba(255,255,255,.14);border-radius:24px;background:rgba(5,12,8,.28);backdrop-filter:blur(7px)}.challenger-section>header{display:flex;align-items:end;justify-content:space-between;margin-bottom:17px}.challenger-section>header h2{margin:0;color:#fff;font-size:28px}.challenger-section>header>span{color:var(--dim);font-size:9px;letter-spacing:.12em;text-transform:uppercase}.challenger-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.challenger-card{position:relative;min-height:190px;overflow:hidden;padding:17px;border:1px solid rgba(255,255,255,.14);border-radius:17px;background:linear-gradient(150deg,rgba(12,20,15,.52),rgba(5,10,7,.26));transition:transform .3s,border-color .3s}.challenger-card:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--team) 55%,white)}.challenger-top{display:flex;justify-content:space-between;color:var(--muted);font-size:8px;text-transform:uppercase;letter-spacing:.1em}.challenger-top b{color:#8ce094}.challenger-color{display:block;width:25px;height:4px;margin:29px 0 12px;border-radius:99px;background:var(--team);box-shadow:0 0 13px var(--team)}.challenger-card h3{margin:0;color:#fff;font-size:16px;text-transform:uppercase}.challenger-score{display:flex;align-items:end;gap:5px;margin-top:12px}.challenger-score strong{color:#fff;font-size:38px;line-height:.9}.challenger-score small{color:var(--dim);font-size:8px;text-transform:uppercase}.challenger-track{position:absolute;left:17px;right:17px;bottom:15px;height:3px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.08)}.challenger-track span{display:block;height:100%;border-radius:inherit;background:var(--team);box-shadow:0 0 12px var(--team);animation:trackIn 1s cubic-bezier(.2,.8,.2,1) both}@keyframes championHalo{50%{transform:scale(1.12);opacity:.5}}@keyframes dialIn{from{opacity:0;transform:rotate(-90deg) scale(.7)}}@keyframes trackIn{from{width:0!important}}
.score-podium-modern{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px;align-items:end}.podium-modern{position:relative;min-height:230px;display:grid;align-content:end;overflow:hidden;padding:20px;border:1px solid rgba(255,255,255,.16);border-radius:20px;background:linear-gradient(150deg,rgba(9,26,14,.54),rgba(4,10,6,.3));box-shadow:inset 0 4px 0 var(--team),0 18px 45px rgba(0,0,0,.16);backdrop-filter:blur(8px)}.podium-modern.rank-1{min-height:275px;background:linear-gradient(150deg,rgba(15,58,27,.62),rgba(4,12,7,.36));border-color:rgba(78,232,131,.3)}.podium-modern:after{content:"";position:absolute;right:-42px;top:-50px;width:140px;height:140px;border:24px solid color-mix(in srgb,var(--team) 12%,transparent);border-radius:50%}.podium-rank{position:absolute;left:18px;top:17px;display:flex;gap:6px;color:#8ce094;font-size:10px;font-weight:900}.podium-modern p{margin:0 0 7px;color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.podium-modern h2{margin:0 0 9px;color:#fff;font-size:18px;text-transform:uppercase}.podium-modern strong{color:#fff;font-size:60px;line-height:.82}.podium-modern small{margin-top:7px;color:var(--muted);font-size:8px;letter-spacing:.14em;text-transform:uppercase}.ranking-board{padding:8px;border:1px solid rgba(255,255,255,.14);border-radius:20px;background:rgba(4,10,6,.25);backdrop-filter:blur(7px)}.ranking-head{display:grid;grid-template-columns:48px 1fr auto;padding:7px 12px 11px;color:var(--dim);font-size:8px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.ranking-head span:last-child{text-align:right}.standing-row{grid-template-columns:28px 11px minmax(0,1fr) auto}.standing-row .team-dot{width:9px;height:9px;border-radius:50%;background:var(--team);box-shadow:0 0 12px var(--team)}.standing-row>strong small{color:var(--dim);font-size:9px}

.review-shell{min-height:calc(100vh - 110px);display:grid;gap:28px;align-items:center;padding:90px 0 30px}
.review-copy h1{max-width:760px;margin:0;color:#fff;font: 900 clamp(46px,9vw,82px)/.94 "Ubuntu", sans-serif;letter-spacing:-.05em}
.review-copy>p:last-child{max-width:560px;margin:24px 0 0;color:var(--muted);font-size:15px;line-height:1.7}
.review-card{display:grid;gap:22px;padding:24px;border:1px solid rgba(255,255,255,.16);border-radius:24px;background:rgba(7,14,10,.4);box-shadow:var(--shadow);backdrop-filter:blur(9px)}
.review-card label{display:grid;gap:9px}.field-label{color:#fff;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.field-label small{color:var(--dim);font-weight:600}
.review-card input,.review-card textarea{width:100%;border:1px solid var(--line);border-radius:12px;outline:0;padding:14px;background:rgba(255,255,255,.07);color:#fff;resize:vertical;transition:border-color .2s,background .2s}
.review-card input:focus,.review-card textarea:focus{border-color:#4ee883;background:rgba(53,168,69,.08)}
.rating-buttons{display:flex;gap:6px;margin-top:10px}.rating-buttons button{padding:0;border:0;background:none;color:rgba(255,255,255,.2);font-size:30px;cursor:pointer;transition:color .2s,transform .2s}.rating-buttons button.active{color:#4ee883;text-shadow:0 0 20px rgba(78,232,131,.4)}.rating-buttons button:hover{transform:translateY(-2px)}
.review-thanks{min-height:340px;display:grid;place-items:center;align-content:center;text-align:center}.review-thanks>span{width:62px;height:62px;display:grid;place-items:center;border-radius:50%;background:#4ee883;color:#071008;font-size:28px}.review-thanks h2{margin:18px 0 6px;font: 900 36px "Ubuntu", sans-serif}.review-thanks p{color:var(--muted)}
.review-error{color:#ffb2b2;font-size:11px;font-weight:700}.button-review-submit{border-color:#4ee883;background:#4ee883;color:#06170d}.button-review-submit:disabled{cursor:wait;opacity:.65}

.scoreboard-dashboard{
  position:relative;
  display:grid;
  gap:18px;
  overflow:hidden;
  padding:22px;
  border:1px solid rgba(53,168,69,.18);
  border-radius:26px;
  background:
    radial-gradient(circle at 82% 16%,rgba(53,168,69,.24),transparent 24%),
    linear-gradient(135deg,rgba(0,43,19,.94),rgba(4,14,10,.98));
  box-shadow:var(--shadow);
  isolation:isolate;
}
.scoreboard-watermark{position:absolute;right:-90px;bottom:-110px;z-index:-1;opacity:.055}
.scoreboard-watermark img{width:420px;filter:brightness(0) invert(1)}
.scoreboard-hero{
  display:grid;
  gap:18px;
  align-items:stretch;
}
.scoreboard-hero h1{
  max-width:650px;
  margin:0;
  color:#fff;
  font: 900 clamp(38px,8vw,72px)/.95 "Ubuntu", sans-serif;
  letter-spacing:-.04em;
}
.scoreboard-hero p{max-width:560px;color:var(--muted);line-height:1.7}
.leader-card{
  position:relative;
  min-height:220px;
  display:grid;
  align-content:end;
  overflow:hidden;
  padding:24px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:24px;
  background:linear-gradient(145deg,var(--team),rgba(0,0,0,.26));
  color:#071008;
  box-shadow:0 22px 70px rgba(0,0,0,.28);
}
.leader-card:before{content:"";position:absolute;inset:-40%;background:linear-gradient(110deg,transparent,rgba(255,255,255,.24),transparent);transform:rotate(18deg)}
.leader-card span,.leader-card small{position:relative;font-size:10px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.leader-card h2{position:relative;margin:8px 0;color:currentColor;font-size:24px}
.leader-card strong{position:relative;font: 900 86px/1 "Ubuntu", sans-serif}
.leader-blue,.leader-green{color:#fff}
.score-podium{display:grid;gap:12px}
.podium-card{
  position:relative;
  min-height:150px;
  display:grid;
  align-content:space-between;
  overflow:hidden;
  padding:18px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:18px;
  background:rgba(255,255,255,.06);
  box-shadow:0 14px 36px rgba(0,0,0,.2);
}
.podium-card:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:var(--team)}
.podium-card span{position:relative;width:36px;height:32px;display:grid;place-items:center;border-radius:9px;background:rgba(53,168,69,.18);color:#8ce094;font-size:11px;font-weight:900}
.podium-card h3{position:relative;margin:16px 0 4px;color:#fff;font-size:16px}
.podium-card strong{position:relative;color:#fff;font: 900 50px/1 "Ubuntu", sans-serif}
.podium-card small{position:relative;color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.podium-card i{position:absolute;left:0;bottom:0;height:4px;max-width:100%;background:var(--team);box-shadow:0 0 24px var(--team)}
.score-table{
  display:grid;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:16px;
  background:rgba(0,0,0,.34);
}
.score-row{
  min-height:62px;
  display:grid;
  grid-template-columns:42px 12px 1fr auto;
  gap:12px;
  align-items:center;
  padding:12px 14px;
  border-top:1px solid var(--line);
}
.score-row:first-child{border-top:0}
.score-row b{color:#8ce094;font-size:12px}
.score-row span{width:12px;height:36px;border-radius:999px;background:var(--team);box-shadow:0 0 18px var(--team)}
.score-row p{margin:0;color:#fff;font-weight:900}
.score-row strong{color:#fff;font: 900 28px "Ubuntu", sans-serif}

.schedule-tabs{display:flex;width:100%;max-width:660px;margin:0 auto 20px;padding:5px;overflow:auto;border:1px solid var(--line);border-radius:12px;background:rgba(0,0,0,.3);backdrop-filter:blur(8px);box-sizing:border-box}
.schedule-tabs button{flex:1;min-width:92px;padding:10px 14px;border:0;border-radius:8px;background:none;color:var(--muted);font-size:12px;font-weight:900;cursor:pointer}
.schedule-tabs button.active{background:var(--green);color:#071008}
.schedule-grid{display:grid;gap:14px}
.schedule-column{
  position:relative;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:16px;
  background:rgba(8,16,11,.44);
  backdrop-filter:blur(8px);
  box-shadow:var(--shadow);
}
.schedule-column:not(.mobile-active){display:none}
.schedule-column>header{min-height:82px;padding:18px;display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:center;background:rgba(0,0,0,.34)}
.schedule-column>header span{color:#8ce094;font-size:11px;font-weight:900}
.schedule-column>header h2{margin:0;color:#fff;font: 900 24px "Ubuntu", sans-serif}
.schedule-column>header small{grid-column:2;color:var(--muted)}
.schedule-row{min-height:76px;padding:14px;display:grid;grid-template-columns:52px 1fr auto;gap:12px;align-items:center;border-top:1px solid var(--line);transition:background .25s}
.schedule-row:hover,.schedule-row.live{background:rgba(53,168,69,.1)}
.schedule-row.live{border-left:4px solid var(--green)}
.schedule-row time{color:#8ce094;font-size:11px;font-weight:900}
.schedule-row h3{margin:0 0 4px;color:#fff;font-size:14px}
.schedule-row p,.schedule-row small{margin:0;color:var(--muted);font-size:10px}
.schedule-empty{min-height:76px;display:grid;place-items:center;padding:14px;color:var(--muted);font-size:11px;text-align:center;border-top:1px solid var(--line)}
.program-form label>small{color:var(--muted);font-size:9px}
.admin-schedule-groups{display:grid;gap:14px}.admin-schedule-group{overflow:hidden;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.025)}.admin-schedule-group-head{min-height:76px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 13px;background:rgba(0,0,0,.2)}.admin-schedule-group-head>span{color:#8ce094;font-size:10px;font-weight:900}.admin-schedule-group-head h3{margin:0 0 3px;color:#fff;font-size:16px}.admin-schedule-group-head small{color:var(--muted);font-size:10px}.admin-schedule-group-actions{display:flex;align-items:center;gap:8px}.admin-schedule-group-actions b{padding:5px 8px;border-radius:99px;background:rgba(78,232,131,.08);color:#9fe8b4;font-size:9px;white-space:nowrap}.admin-schedule-group-actions button{min-height:34px;padding:0 11px;border:1px solid rgba(78,232,131,.3);border-radius:8px;background:rgba(78,232,131,.1);color:#bff8ce;font-size:10px;font-weight:800;cursor:pointer}.admin-schedule-group-actions button:hover{background:#4ee883;color:#071008}.admin-program-modal-backdrop{position:fixed;z-index:350;inset:0;display:grid;place-items:center;padding:20px;background:rgba(1,6,3,.78);backdrop-filter:blur(10px)}.admin-program-modal{width:min(760px,100%);max-height:min(760px,88vh);overflow:hidden;border:1px solid rgba(78,232,131,.25);border-radius:20px;background:#0a130d;box-shadow:0 30px 90px rgba(0,0,0,.65)}.admin-program-modal>header{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,rgba(78,232,131,.1),rgba(255,255,255,.02))}.admin-program-modal>header h2{margin:2px 0 5px;color:#fff;font-size:27px}.admin-program-modal>header small{color:var(--muted);font-size:10px}.admin-program-modal>header>button{width:40px;height:40px;flex:0 0 auto;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.06);color:#fff;font-size:26px;cursor:pointer}.admin-program-modal-list{max-height:calc(88vh - 100px);overflow:auto;padding:8px 22px 20px}.admin-program-modal-list .program-admin-row{padding-inline:4px}.admin-modal-empty{min-height:220px;display:grid;place-content:center;justify-items:center;gap:14px;color:var(--muted);text-align:center}.admin-modal-empty p{margin:0}.admin-modal-empty .button{min-height:42px}
.admin-time-modal{width:min(560px,100%)}.admin-time-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;padding:24px}.admin-time-fields label{display:grid;gap:7px}.admin-time-fields label span{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.admin-time-fields input{width:100%;height:52px;padding:0 14px;border:1px solid var(--line);border-radius:10px;outline:0;background:#111914;color:#fff}.admin-time-fields input:focus{border-color:#4ee883}.admin-time-fields p{grid-column:1/-1;margin:3px 0;color:var(--muted);font-size:11px}.admin-time-fields p strong{color:#bff8ce}.admin-time-fields .button{grid-column:1/-1;min-height:48px}
@media(max-width:560px){.admin-schedule-group-head{grid-template-columns:24px minmax(0,1fr)}.admin-schedule-group-actions{grid-column:2;justify-content:flex-start;flex-wrap:wrap}.admin-schedule-group-actions b{width:100%;background:none;padding:0}.admin-program-modal-backdrop{padding:8px}.admin-program-modal{max-height:92vh;border-radius:16px}.admin-program-modal>header{min-height:90px;padding:16px}.admin-program-modal>header h2{font-size:23px}.admin-program-modal-list{max-height:calc(92vh - 90px);padding:6px 14px 16px}.admin-time-fields{grid-template-columns:1fr;padding:18px}.admin-time-fields p,.admin-time-fields .button{grid-column:1}}
.venue-card{margin:12px;padding:16px;border-radius:12px;background:var(--green);color:#071008}
.venue-card p{margin:5px 0 0;color:rgba(7,16,8,.72)}

.participant-shell,.schedule-shell{padding:90px 0 0}
.participant-title{display:grid;grid-template-columns:1fr auto;align-items:end;gap:24px;margin-bottom:34px}
.participant-title h1{margin:0;color:#fff;font: 900 clamp(46px,10vw,78px)/1 "Ubuntu", sans-serif;letter-spacing:-.03em;max-width:12ch}
.participant-title h1 em{color:#75ed94;font-style:normal}
.participant-title p{max-width:44em;color:var(--muted);line-height:1.75}
.participant-page-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:center;min-width:320px;padding:20px;border:1px solid rgba(78,232,131,.18);border-radius:22px;background:rgba(6,16,10,.72);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.participant-page-summary span{display:grid;gap:6px;padding:16px;border-radius:18px;background:rgba(255,255,255,.04)}
.participant-page-summary span strong{font: 900 clamp(32px,5vw,46px)/1 "Ubuntu", sans-serif;color:#fff}
.participant-page-summary span small{color:#b8f8c4;font-size:11px;text-transform:uppercase;letter-spacing:.12em}
.participant-page-summary a{justify-self:end;padding:12px 18px;border-radius:999px;border:1px solid rgba(78,232,131,.28);background:rgba(78,232,131,.08);color:#d8ffd9;font-size:12px;font-weight:700;text-decoration:none;transition:background .2s,color .2s}
.participant-page-summary a:hover{background:#4ee883;color:#061009}
.participant-layout{display:grid;grid-template-columns:1.3fr .75fr;gap:24px}
.speaker-card{
  position:relative;
  min-height:420px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  overflow:hidden;
  padding:28px;
  border:1px solid rgba(78,232,131,.18);
  border-radius:26px;
  background:linear-gradient(180deg,rgba(7,18,11,.95),rgba(14,39,19,.92));
  box-shadow:0 30px 90px rgba(0,0,0,.28);
}
.speaker-card:before{
  content:'';
  position:absolute;
  inset:0;
  background:radial-gradient(circle at top right,rgba(78,232,131,.18),transparent 24%);
  pointer-events:none;
}
.speaker-card *{position:relative;z-index:1}
.speaker-card p{color:#8ce094;font-size:11px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.speaker-card h2{margin:0;color:#fff;font: 900 clamp(42px,10vw,84px)/.96 "Ubuntu", sans-serif;letter-spacing:-.035em;line-height:1}
.speaker-card footer{display:grid;gap:8px;padding-top:24px;border-top:1px solid rgba(255,255,255,.08)}
.speaker-card footer strong{color:#8ce094;font: 900 40px "Ubuntu", sans-serif}
.speaker-card footer span{color:var(--muted)}
.list-head{display:flex;align-items:center;justify-content:space-between}
.list-head h2{margin:0;color:#fff;font-size:13px;letter-spacing:.14em;text-transform:uppercase}
.list-head span{color:var(--muted);font-size:10px}
.participant-search{position:relative;width:100%;height:auto;margin:0;padding:0;border:none;background:transparent;box-shadow:none}
.participant-row{
  width:100%;
  min-height:82px;
  margin:8px 0;
  padding:16px;
  display:grid;
  grid-template-columns:52px minmax(0,1fr) 40px;
  gap:14px;
  align-items:center;
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  background:rgba(12,18,14,.72);
  color:inherit;
  text-align:left;
  cursor:pointer;
  transition:transform .25s,background .25s,border-color .25s,box-shadow .25s;
}
.participant-row:hover,.participant-row.active{transform:translateX(3px);border-color:rgba(78,232,131,.45);background:linear-gradient(90deg,rgba(78,232,131,.14),rgba(78,232,131,.06));box-shadow:0 18px 40px rgba(0,0,0,.15)}
.participant-row time,.participant-row small{color:var(--muted);font-size:11px}
.participant-row span{display:grid;gap:6px;min-width:0}
.participant-row strong{color:#fff;overflow-wrap:anywhere;font-size:15px}
.participant-row b{width:40px;height:40px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.08);border-radius:50%;font-size:12px;background:rgba(255,255,255,.06)}
.participant-row[hidden]{display:none}
.reporting-note{margin:16px 0 0;padding:14px 16px;border:1px solid rgba(78,232,131,.12);border-radius:14px;background:rgba(78,232,131,.05);color:var(--muted);font-size:12px;line-height:1.6}
.reporting-note strong{color:#8ce094}

.admin-dashboard{padding:76px 0 0}
.admin-head{display:grid;gap:20px;align-items:end;margin-bottom:28px}
.admin-head h1{max-width:720px;margin:0;color:#fff;font: 900 clamp(36px,8vw,64px)/1 "Ubuntu", sans-serif;letter-spacing:-.035em}
.admin-head p{max-width:700px;color:var(--muted);line-height:1.7}
.admin-grid{display:grid;gap:14px;margin-bottom:20px}
.admin-metric,.admin-panel{
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(12,18,14,.72);
  box-shadow:var(--shadow);
}
.admin-metric{min-height:124px;padding:18px}
.admin-metric span,.admin-panel h2,.admin-database-card span{color:#8ce094;font-size:11px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.admin-metric strong{display:block;margin:12px 0 8px;color:#fff;font: 900 25px "Ubuntu", sans-serif}
.admin-metric p,.admin-panel li,.admin-panel p{color:var(--muted);font-size:13px;line-height:1.55}
.admin-split{display:grid;gap:16px}
.admin-panel{padding:20px;overflow:hidden}
.admin-panel h2{margin:0 0 14px;color:#fff;font: 900 22px "Ubuntu", sans-serif;letter-spacing:0;text-transform:none}
.admin-panel ol{margin:0;padding-left:20px}
.admin-panel code{padding:2px 5px;border:1px solid var(--line);border-radius:6px;background:rgba(255,255,255,.07);color:#fff}
.admin-database-card{position:relative;display:grid;align-content:center;min-height:270px;background:radial-gradient(circle at 55% 34%,rgba(53,168,69,.18),transparent 28%),rgba(12,18,14,.72)}
.admin-database-card:before{content:"";position:absolute;inset:14px;border-radius:10px;background-image:radial-gradient(rgba(255,255,255,.2) 1px,transparent 1px);background-size:18px 18px;opacity:.18}
.admin-database-card>*{position:relative}
.admin-database-card strong{margin:8px 0 12px;color:#fff;font: 900 32px "Ubuntu", sans-serif}
.admin-database-card div{display:flex;gap:8px;margin-top:14px}
.admin-database-card b{padding:8px 10px;border:1px solid rgba(53,168,69,.35);border-radius:9px;background:rgba(53,168,69,.14);color:#8ce094;font-size:11px}

.results-wrap{display:grid;gap:12px}
.result-card{
  position:relative;
  min-height:156px;
  display:grid;
  grid-template-columns:58px 1fr;
  gap:14px;
  align-items:center;
  overflow:hidden;
  padding:16px;
  border:1px solid var(--line);
  border-radius:16px;
  background:rgba(12,18,14,.72);
  box-shadow:var(--shadow);
}
.result-card.featured{min-height:210px;background:linear-gradient(135deg,rgba(12,18,14,.84),rgba(31,72,36,.62))}
.result-rank{text-align:center;border-right:1px solid var(--line)}
.result-rank span{display:block;color:#8ce094;font: 900 42px "Ubuntu", sans-serif}
.result-rank small,.result-main>p{color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.result-main{min-width:0}.result-main>p{margin-bottom:6px;color:#8ce094}
.result-main h2{margin:0 0 8px;color:#fff;font: 900 22px "Ubuntu", sans-serif}
.result-main h3{margin:0 0 6px;color:#fff;font-size:15px}
.team-tag{color:var(--muted);font-size:9px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.result-score{grid-column:2;display:flex;align-items:baseline;color:#8ce094}
.result-score strong{font: 900 44px "Ubuntu", sans-serif}.result-score span{color:var(--muted)}

.site-footer{
  width:auto;
  max-width:1120px;
  margin:48px 16px 0;
  padding:26px 0 34px;
  display:grid;
  gap:12px;
  border-top:1px solid var(--line);
  color:var(--dim);
  font-size:12px;
  text-align:center;
}
.footer-brand{display:flex;justify-content:center;align-items:center;gap:10px;color:#fff;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.footer-brand img{width:34px;height:34px;object-fit:contain;border-radius:10px;background:#fff;padding:5px}
.site-footer p{margin:0}

.js-ready .reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
  will-change: opacity, transform;
}
.js-ready .reveal.visible {
  opacity: 1;
  transform: translateY(0);
}
@keyframes pulse{50%{opacity:.45;transform:scale(.75)}}
@keyframes orbitSpin{to{rotate:360deg}}
/* Keep the React root untransformed: a transformed ancestor changes the
   containing block of the fixed mobile tab bar and pulls it above the
   bottom of the phone frame. */
@keyframes pageEnter{from{opacity:0}to{opacity:1}}

@media(min-width:760px){
  main{width:min(1120px,calc(100% - 72px));padding:0}
  .site-header{width:min(1120px,calc(100% - 72px));margin:10px auto 0;grid-template-columns:1fr auto 1fr;border-radius:12px}
  .menu-toggle{display:none}
  .site-nav{position:static;display:flex;padding:0;border:0;border-radius:0;background:none;box-shadow:none}
  .site-nav a{padding:10px 12px;border-radius:8px}
  .header-account-actions{display:flex;align-items:center;justify-self:end;gap:11px}.festival-date{display:block;text-align:right}.festival-date span{display:block;color:var(--muted);font-size:9px;font-weight:900}.festival-date b{color:#fff;font-size:11px}.visitor-logout{height:34px;display:flex;align-items:center;gap:6px;padding:0 11px;border:1px solid rgba(255,255,255,.14);border-radius:9px;background:rgba(255,255,255,.05);color:rgba(255,255,255,.7);font-size:9px;font-weight:800;cursor:pointer;transition:background .2s,border-color .2s,color .2s}.visitor-logout span{color:#75ed97;font-size:13px}.visitor-logout:hover{border-color:rgba(78,232,131,.42);background:rgba(78,232,131,.1);color:#fff}
  .home-hero{grid-template-columns:1fr;min-height:560px;padding-top:72px}.home-hero .hero-content{width:min(100%,760px)}
  .hero-content{width:auto}
  .hero-actions{display:flex}
  .feature-grid{grid-template-columns:repeat(4,1fr)}
  .page-hero.compact,.schedule-head{grid-template-columns:1.1fr .7fr}
  .score-stage{grid-template-columns:repeat(4,1fr)}
  .scoreboard-hero{grid-template-columns:1fr 320px}
  .scoreboard-heading{grid-template-columns:1fr .65fr}
  .scoreboard-layout{grid-template-columns:minmax(280px,.8fr) 1.2fr;gap:18px}
  .review-shell{grid-template-columns:1.1fr .9fr;gap:54px}
  .score-podium{grid-template-columns:repeat(4,1fr)}
  .admin-head{grid-template-columns:1fr auto}
  .admin-grid{grid-template-columns:repeat(4,1fr)}
  .admin-split{grid-template-columns:1.1fr .9fr}
  .schedule-grid{grid-template-columns:repeat(5,minmax(205px,1fr));align-items:stretch;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin;scrollbar-color:rgba(78,232,131,.45) rgba(0,0,0,.18)}.schedule-column,.schedule-column:not(.mobile-active){display:block}.schedule-column>header{padding:15px}.schedule-column>header h2{font-size:21px}.schedule-row{min-height:82px;grid-template-columns:40px minmax(0,1fr);gap:7px 8px;padding:12px 10px}.schedule-row>div{min-width:0}.schedule-row h3,.schedule-row p{overflow:hidden;text-overflow:ellipsis}.schedule-row>small{grid-column:2}.schedule-row time{align-self:start;padding-top:2px}
  .participant-title{grid-template-columns:1fr auto;align-items:end}.clock-block{text-align:right}
  .participant-layout{grid-template-columns:1.2fr .8fr;gap:22px}
  .result-card{grid-template-columns:96px 1fr auto}.result-score{grid-column:auto}.result-rank span{font-size:60px}
  .site-footer{width:min(1120px,calc(100% - 72px));margin:48px auto 0;grid-template-columns:1fr auto 1fr;text-align:left}.site-footer p:last-child{text-align:right}
}

@media(max-width:759px){
  main,.site-header,.site-footer{max-width:100%}
  main{overflow:visible}
  .home-hero{padding-top:70px}
  .hero-content,.feature-section,.page-hero,.schedule-head,.participant-shell{min-width:0;max-width:100%}
  .hero-content h1,.page-hero h1,.schedule-head h1,.section-heading h2{
    max-width:100%;
    font-size:clamp(34px,11vw,48px);
    overflow-wrap:break-word;
    text-wrap:balance;
  }
  .hero-copy,.page-intro,.schedule-head>p,.feature-card p,.notice-bar{max-width:100%;overflow-wrap:break-word}
  .feature-grid,.score-stage,.schedule-grid,.participant-layout,.results-wrap,.score-podium{min-width:0}
  .scoreboard-dashboard{padding:16px}
}

@media(max-width:480px){
  main{padding:0 12px}
  .site-header{margin-inline:12px}
  .site-footer{margin-inline:12px}
  .site-logo span{display:none}
  .home-hero{padding-top:62px}
  .hero-content h1,.page-hero h1,.schedule-head h1{font-size:clamp(36px,12vw,48px)}
  .hero-panel{min-height:190px;padding:22px}
  .feature-card{min-height:112px}
  .schedule-row{grid-template-columns:46px 1fr}.schedule-row small{display:none}
  .leader-card{min-height:190px}
  .leader-card strong{font-size:64px}
  .score-row{grid-template-columns:34px 10px 1fr auto;padding-inline:10px}
}

@media (min-width: 561px) {
  .mobile-tabbar {
    display: none;
  }
}

@media (max-width: 560px) {
  html {
    background: #15171c;
  }

  body {
    min-height: 100svh;
    padding: 10px 0 92px;
    background: #15171c;
  }

  body::before {
    z-index: 0;
    inset: 18px auto 18px 50%;
    width: min(calc(100% - 24px), 420px);
    transform: translateX(-50%);
    border-radius: 26px;
    background:
      linear-gradient(180deg, rgba(7, 9, 9, .42), rgba(7, 9, 9, .74)),
      var(--page-image, url("../kauzariyya3.png")) center/cover no-repeat;
    filter: saturate(.78) brightness(.72);
  }

  body::after {
    content: "";
    position: fixed;
    z-index: 1000;
    top: 10px;
    bottom: 10px;
    left: 50%;
    width: min(calc(100% - 12px), 430px);
    transform: translateX(-50%);
    pointer-events: none;
    border: 6px solid #9da3ad;
    border-radius: 30px;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.14), 0 18px 48px rgba(0,0,0,.52);
  }

  .site-header {
    position: fixed;
    z-index: 80;
    top: 22px;
    left: 50%;
    width: min(calc(100% - 42px), 392px);
    transform: translateX(-50%);
    margin: 0;
    padding: 0;
    border: 0;
    background: rgba(15, 17, 17, .62);
    box-shadow: none;
    backdrop-filter: blur(12px);
  }

  .header-inner {
    min-height: 38px;
    padding: 4px 8px;
    gap: 8px;
  }

  .site-logo {
    gap: 8px;
    min-width: 0;
  }

  .site-logo img {
    width: 29px;
    height: 29px;
    padding: 5px;
    border-radius: 7px;
    background: #fff;
    box-shadow: 0 8px 18px rgba(45, 232, 124, .25);
  }

  .site-logo span {
    display: grid !important;
    line-height: 1;
  }

  .site-logo b {
    font-size: 14px;
    letter-spacing: 0;
  }

  .site-logo small {
    margin-top: 2px;
    font-size: 7px;
    letter-spacing: .16em;
  }

  .menu-toggle {
    display: grid;
    place-items: center;
    width: 29px;
    height: 29px;
    border-radius: 999px;
    background: rgba(255,255,255,.12);
    border-color: rgba(255,255,255,.16);
  }

  .menu-toggle span {
    width: 11px;
    background: #f4f7f1;
  }

  .site-nav {
    display: none !important;
  }

  main {
    position: relative;
    z-index: 1;
    width: min(calc(100% - 24px), 418px);
    max-width: none;
    min-height: calc(100svh - 20px);
    margin: 0 auto;
    padding: 0 10px;
    border-radius: 26px;
    overflow-x: hidden;
  }

  .site-footer {
    display: none;
  }

  .home-hero {
    display: flex;
    min-height: calc(100svh - 20px);
    align-items: flex-end;
    padding: 118px 0 82px;
  }

  .hero-content {
    width: 100%;
    padding: 0 0 0 2px;
  }

  .overline {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-bottom: 18px;
    font-size: 9px;
    letter-spacing: .18em;
    color: #4ee883;
  }

  .overline::before {
    content: "";
    width: 6px;
    height: 6px;
    flex: 0 0 6px;
    border-radius: 50%;
    background: #4ee883;
    box-shadow: 0 0 14px rgba(78,232,131,.8);
  }

  .hero-content h1,
  .page-hero h1,
  .schedule-head h1 {
    max-width: 11ch;
    font-size: clamp(45px, 16vw, 68px);
    line-height: .96;
    letter-spacing: 0;
    text-shadow: 0 2px 0 rgba(51, 105, 82, .38), 0 18px 36px rgba(0,0,0,.38);
  }

  .hero-copy {
    max-width: 30ch;
    margin-top: 20px;
    font-size: 12px;
    line-height: 1.55;
    color: rgba(246, 249, 243, .88);
  }

  .hero-actions {
    display: block;
    margin-top: 24px;
  }

  .hero-actions .button {
    width: 100%;
    min-height: 34px;
    border-radius: 7px;
    font-size: 10px;
  }

  .hero-actions .button-light {
    color: #082113;
    background: #4ee883;
    box-shadow: 0 12px 28px rgba(78, 232, 131, .28);
  }

  .hero-actions .button-ghost {
    display: none;
  }

  .hero-panel {
    display: none;
  }

  .page-hero,
  .schedule-head,
  .participant-shell,
  .admin-dashboard,
  .review-shell,
  .scoreboard-dashboard {
    margin-top: 76px;
    margin-bottom: 78px;
  }

  .schedule-head {
    display: grid;
    gap: 14px;
    margin-top: 54px;
    margin-bottom: 12px;
    padding-top: 0;
    padding-bottom: 0;
  }

  .schedule-head>p {
    margin: 0;
  }

  .schedule-head+.schedule-tabs {
    margin-top: 0;
  }

  .schedule-tabs {
    width: 100%;
    max-width: 100%;
    margin-top: 6px;
    margin-bottom: 16px;
    box-sizing: border-box;
  }

  .score-note {
    margin-bottom: 86px;
  }

  .review-shell {
    min-height: calc(100svh - 96px);
    padding: 34px 2px 82px;
  }

  .review-copy h1 {
    font-size: clamp(43px, 14vw, 60px);
  }

  .review-copy > p:last-child {
    margin-top: 16px;
    font-size: 12px;
  }

  .review-card {
    padding: 18px;
    border-radius: 18px;
    background: rgba(8, 14, 10, .52);
  }

  .mobile-tabbar {
    position: fixed;
    z-index: 90;
    left: 50%;
    bottom: 20px;
    width: min(calc(100% - 42px), 394px);
    height: 56px;
    transform: translateX(-50%);
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 10px;
    border-radius: 28px;
    background: rgba(14, 16, 16, .92);
    border: 1px solid rgba(255,255,255,.08);
    backdrop-filter: blur(18px);
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
  }

  .mobile-tabbar a {
    position: relative;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 2px;
    height: 100%;
    min-width: 0;
    color: rgba(255, 255, 255, .5);
    text-decoration: none;
    font-size: 9px;
    font-weight: 600;
    line-height: 1;
    isolation: isolate;
    transition: color .3s ease;
  }

  .mobile-tabbar a::before {
    content: "";
    position: absolute;
    z-index: -1;
    left: 50%;
    top: 50%;
    width: 0;
    height: 32px;
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(78, 232, 131, 0.25), rgba(78, 232, 131, 0.08));
    box-shadow: inset 0 0 12px rgba(78, 232, 131, 0.15);
    opacity: 0;
    transform: translate(-50%, -50%);
    transition: width .5s cubic-bezier(0.68, -0.6, 0.32, 1.6), opacity .2s ease;
  }

  .mobile-tabbar a.active {
    color: #4ee883;
  }

  .mobile-tabbar a.active::before {
    opacity: 1;
    width: 64px;
  }

  .mobile-tabbar a.active .tab-glyph {
    animation: navIconElastic .6s cubic-bezier(0.34, 1.56, 0.64, 1) both;
  }

  .mobile-tabbar a.active > span:last-child {
    font-weight: 800;
    animation: navLabelSlide .4s cubic-bezier(0.34, 1.56, 0.64, 1) both;
  }

  .tab-glyph,
  .tab-glyph-svg {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    color: currentColor;
    transition: color .3s ease, transform .3s ease;
  }

  .mobile-tabbar a.active .tab-glyph-svg {
    color: #59df7b;
    animation: navIconElastic .5s ease-out;
  }

  @keyframes navIconElastic {
    0% { transform: scale(1) translateY(0); }
    30% { transform: scaleX(1.3) scaleY(0.7) translateY(2px); }
    55% { transform: scaleX(0.8) scaleY(1.2) translateY(-4px); }
    80% { transform: scaleX(1.1) scaleY(0.9) translateY(1px); }
    100% { transform: scale(1) translateY(0); }
  }

  @keyframes navLabelSlide {
    0% { opacity: 0; transform: translateY(8px); }
    100% { opacity: 1; transform: translateY(0); }
  }

  .tab-glyph::before,
  .tab-glyph::after {
    content: "";
    position: absolute;
    border-color: currentColor;
  }

  .tab-home::before {
    left: 4px;
    top: 4px;
    width: 10px;
    height: 8px;
    border: 2px solid currentColor;
    border-top: 0;
    border-radius: 1px;
  }

  .tab-home::after {
    left: 3px;
    top: 1px;
    width: 10px;
    height: 10px;
    border-left: 2px solid currentColor;
    border-top: 2px solid currentColor;
    transform: rotate(45deg);
    border-radius: 1px;
  }

  .tab-scores::before {
    inset: 2px 2px 1px;
    border-left: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
  }

  .tab-scores::after {
    left: 5px;
    bottom: 3px;
    width: 3px;
    height: 6px;
    box-shadow: 4px -3px 0 currentColor, 8px -7px 0 currentColor;
    background: currentColor;
  }

  .tab-schedule::before {
    inset: 3px 2px 1px;
    border: 2px solid currentColor;
    border-radius: 2px;
  }

  .tab-schedule::after {
    left: 5px;
    top: 0;
    width: 2px;
    height: 6px;
    background: currentColor;
    box-shadow: 6px 0 0 currentColor;
  }

  .tab-directory::before {
    left: 6px;
    top: 1px;
    width: 6px;
    height: 6px;
    border: 2px solid currentColor;
    border-radius: 50%;
  }

  .tab-directory::after {
    left: 3px;
    bottom: 1px;
    width: 12px;
    height: 5px;
    border: 2px solid currentColor;
    border-radius: 9px 9px 2px 2px;
  }

  /* Separate Students Icon (Graduation Cap / Academic Badge) */
  .tab-students::before {
    left: 4px;
    top: 1px;
    width: 10px;
    height: 6px;
    border: 2px solid currentColor;
    border-top: 0;
    border-radius: 0 0 5px 5px;
  }

  .tab-students::after {
    left: 1px;
    top: 1px;
    width: 16px;
    height: 4px;
    border-top: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    border-radius: 2px;
  }

  .tab-review::before {
    left: 2px;
    top: 3px;
    width: 14px;
    height: 10px;
    border: 2px solid currentColor;
    border-radius: 8px;
  }

  .tab-review::after {
    left: 5px;
    top: 6px;
    width: 8px;
    height: 4px;
    border-bottom: 2px solid currentColor;
    border-radius: 50%;
  }
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.scoreboard-orbit-page {
  min-height: min(720px, calc(100vh - 118px));
  display: grid;
  place-items: center;
  margin-top: 42px;
  padding: clamp(32px, 5vw, 62px);
  border: 0;
  border-radius: 0;
  background:
    radial-gradient(circle at 50% 50%, rgba(68, 191, 82, .16), transparent 18%),
    radial-gradient(circle at 50% 48%, rgba(11, 113, 41, .42), transparent 34%),
    linear-gradient(135deg, #075023, #043416 42%, #052c16);
  box-shadow: none;
}

.scoreboard-orbit-page::before {
  content: "";
  position: absolute;
  inset: -80px;
  z-index: -1;
  background:
    radial-gradient(circle at 24% 30%, rgba(92, 239, 137, .09), transparent 18%),
    radial-gradient(circle at 74% 68%, rgba(92, 239, 137, .06), transparent 22%);
  opacity: .8;
}

.scoreboard-orbit-page .scoreboard-watermark {
  display: none;
}

.scoreboard-orbit {
  position: relative;
  width: min(78vw, 620px);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  isolation: isolate;
}

.orbit-ring {
  position: absolute;
  inset: 21%;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.22);
  box-shadow: 0 0 34px rgba(255,255,255,.1), inset 0 0 28px rgba(255,255,255,.08);
  animation: orbitSpin 24s linear infinite;
}

.orbit-ring::before,
.orbit-ring::after {
  content: "";
  position: absolute;
  inset: -8px;
  border-radius: 50%;
  border: 1px dashed rgba(255,255,255,.16);
}

.orbit-ring::after {
  inset: 12px;
  border-style: solid;
  border-color: rgba(78, 232, 131, .16);
}

.orbit-ring-two {
  inset: 24%;
  opacity: .72;
  animation-duration: 34s;
  animation-direction: reverse;
}

.orbit-line {
  position: absolute;
  z-index: -1;
  background: linear-gradient(90deg, transparent, rgba(203, 244, 207, .34), transparent);
  box-shadow: 0 0 18px rgba(110, 245, 144, .18);
}

.orbit-line-x {
  width: 68%;
  height: 2px;
}

.orbit-line-y {
  width: 2px;
  height: 68%;
  background: linear-gradient(180deg, transparent, rgba(203, 244, 207, .34), transparent);
}

.orbit-center {
  position: relative;
  z-index: 3;
  width: 92px;
  height: 92px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 26px;
  background: rgba(11, 58, 30, .82);
  box-shadow: 0 18px 48px rgba(0,0,0,.38), inset 0 0 30px rgba(78,232,131,.13);
}

.orbit-center img {
  width: 64px;
  opacity: .62;
  filter: saturate(1.1);
}

.orbit-score-card {
  position: absolute;
  z-index: 5;
  width: clamp(130px, 13vw, 170px);
  min-height: clamp(126px, 13vw, 166px);
  display: grid;
  align-content: start;
  overflow: hidden;
  padding: 20px 22px 16px;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 34px;
  background:
    linear-gradient(156deg, color-mix(in srgb, var(--team) 92%, #ffffff 8%), color-mix(in srgb, var(--team) 68%, #000000 32%));
  color: #071208;
  box-shadow: 0 28px 70px rgba(0,0,0,.34), inset 0 0 0 1px rgba(255,255,255,.08);
  animation: scoreCardIn .72s cubic-bezier(.2,.8,.2,1) both, scoreFloat 4.5s ease-in-out infinite;
  animation-delay: var(--delay), calc(var(--delay) + .72s);
}

.orbit-score-card::before {
  content: "";
  position: absolute;
  inset: -46% -28% auto;
  height: 88%;
  border-radius: 50%;
  background: rgba(255,255,255,.12);
  transform: rotate(-8deg);
}

.orbit-score-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, transparent 30%, rgba(255,255,255,.25), transparent 64%);
  transform: translateX(-120%) skewX(-16deg);
  animation: scoreSheen 5s ease-in-out infinite;
  animation-delay: calc(var(--delay) + 1.1s);
}

.orbit-blue,
.orbit-green {
  color: #fff;
}

.orbit-white {
  color: #0b1a13;
  background: linear-gradient(150deg, #ffffff, #e8eee9 68%, #cfdad2);
}

.orbit-yellow {
  color: #081006;
  background: linear-gradient(150deg, #d8ff15, #b8ed10 66%, #8dc900);
}

.score-card-head {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.score-card-head span {
  padding: 4px 9px;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-size: 7px;
}

.score-card-head b {
  font-size: 10px;
}

.orbit-score-card h2 {
  position: relative;
  z-index: 1;
  max-width: 8ch;
  margin: 10px 0 4px;
  font-size: 13px;
  line-height: 1.05;
  font-weight: 900;
  letter-spacing: .19em;
  text-transform: uppercase;
}

.orbit-score-card strong {
  position: relative;
  z-index: 1;
  font: 900 clamp(54px, 7vw, 76px)/.86 "Ubuntu", sans-serif;
  letter-spacing: 0;
}

.orbit-score-card small {
  position: absolute;
  right: 12px;
  bottom: 12px;
  z-index: 1;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .15em;
  text-transform: uppercase;
  opacity: .76;
}

.orbit-top {
  top: 0;
  left: 50%;
  transform: translate(-50%, -12%);
}

.orbit-right {
  right: 0;
  top: 50%;
  transform: translate(10%, -50%);
}

.orbit-left {
  left: 0;
  top: 50%;
  transform: translate(-10%, -50%);
}

.orbit-bottom {
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 12%);
}

@keyframes scoreCardIn {
  from { opacity: 0; scale: .78; }
  to { opacity: 1; scale: 1; }
}

@keyframes scoreFloat {
  50% { translate: 0 -8px; }
}

@keyframes scoreSheen {
  0%, 42% { transform: translateX(-120%) skewX(-16deg); }
  58%, 100% { transform: translateX(120%) skewX(-16deg); }
}

@media (min-width: 760px) {
  .scoreboard-orbit-page {
    width: min(100vw, 1366px);
    max-width: none;
    margin-left: 50%;
    transform: translateX(-50%);
  }
}

@media (max-width: 560px) {
  body.page-scoreboard::before {
    background:
      linear-gradient(180deg, rgba(3, 12, 7, .32), rgba(3, 12, 7, .6)),
      radial-gradient(circle at 50% 42%, rgba(38, 184, 69, .12), transparent 42%),
      var(--page-image, url("../kauzariyya3.png")) center/cover no-repeat;
    filter:saturate(.72) brightness(.62);
  }

  .scoreboard-orbit-page {
    min-height: calc(100svh - 176px);
    margin-top: 74px;
    margin-bottom: 68px;
    padding: 18px 0;
    border-radius: 24px;
    background: transparent;
  }

  .scoreboard-orbit-page::before {
    inset: -40px;
    background-size: 132px auto;
    opacity: .035;
  }

  .scoreboard-orbit {
    width: min(100%, 342px);
    min-width: 0;
    transform: scale(.96);
  }

  .orbit-ring {
    inset: 24%;
  }

  .orbit-ring-two {
    inset: 28%;
  }

  .orbit-line-x {
    width: 62%;
  }

  .orbit-line-y {
    height: 62%;
  }

  .orbit-center {
    width: 58px;
    height: 58px;
    border-radius: 18px;
  }

  .orbit-center img {
    width: 42px;
  }

  .orbit-score-card {
    width: 96px;
    min-height: 102px;
    padding: 12px 13px 10px;
    border-radius: 24px;
  }

  .score-card-head {
    font-size: 7px;
    letter-spacing: .13em;
  }

  .score-card-head span {
    padding: 3px 6px;
    font-size: 5px;
  }

  .score-card-head b {
    font-size: 7px;
  }

  .orbit-score-card h2 {
    margin-top: 8px;
    font-size: 8px;
    letter-spacing: .17em;
  }

  .orbit-score-card strong {
    font-size: 43px;
  }

  .orbit-score-card small {
    right: 8px;
    bottom: 8px;
    font-size: 5px;
  }

  .orbit-top {
    transform: translate(-50%, -5%);
  }

  .orbit-right {
    transform: translate(2%, -50%);
  }

  .orbit-left {
    transform: translate(-2%, -50%);
  }

  .orbit-bottom {
    transform: translate(-50%, 5%);
  }

  body.page-scoreboard .score-note {
    display: none;
  }
}

/* Premium mobile home composition */
@media (max-width: 560px) {
  body.page-home {
    padding-bottom: 84px;
  }

  body.page-home::before {
    background:
      linear-gradient(90deg, rgba(7, 10, 9, .92), rgba(7, 10, 9, .5) 58%, rgba(7, 10, 9, .88)),
      linear-gradient(180deg, rgba(7, 10, 9, .18), rgba(7, 10, 9, .62) 48%, rgba(7, 10, 9, .96)),
      url("../kauzariyya4.webp") 56% 50%/cover no-repeat;
    filter: saturate(.76) brightness(.58) contrast(1.06);
  }

  body.page-home .site-header {
    top: 20px;
    width: min(calc(100% - 40px), 402px);
    min-height: 46px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 17px;
    background: rgba(12, 16, 14, .72);
    box-shadow: 0 16px 36px rgba(0,0,0,.36), inset 0 0 0 1px rgba(255,255,255,.03);
  }

  body.page-home .site-logo img {
    width: 37px;
    height: 37px;
    padding: 6px;
    border-radius: 11px;
    background: #fff;
  }

  body.page-home .site-logo b {
    max-width: 210px;
    color: #fff;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: 0;
  }

  body.page-home .site-logo small {
    max-width: 210px;
    color: rgba(255,255,255,.76);
    font-size: 7px;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
  }

  body.page-home .menu-toggle {
    width: 37px;
    height: 37px;
    border-radius: 11px;
    background: rgba(255,255,255,.08);
  }

  body.page-home .menu-toggle span {
    width: 15px;
    height: 2px;
  }

  body.page-home main {
    padding: 0 10px;
  }

  body.page-home .home-hero {
    position: relative;
    min-height: calc(100svh - 74px);
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    gap: 18px;
    padding: 112px 0 72px;
  }

  body.page-home .hero-content {
    position: relative;
    z-index: 2;
    width: 100%;
    padding: 0 2px;
  }

  body.page-home .overline {
    margin-bottom: 14px;
    font-size: 8px;
    line-height: 1.2;
    letter-spacing: .2em;
    color: #63f28e;
    text-shadow: 0 0 18px rgba(99,242,142,.2);
  }

  body.page-home .hero-content h1 {
    max-width: 10ch;
    color: #fff;
    font: 900 clamp(40px, 15vw, 62px)/.99 "Ubuntu", sans-serif;
    letter-spacing: 0;
    text-shadow: 0 2px 0 rgba(36,89,61,.38), 0 18px 34px rgba(0,0,0,.45);
  }

  body.page-home .hero-copy {
    max-width: 32ch;
    margin-top: 18px;
    color: rgba(245,248,242,.83);
    font-size: 12px;
    line-height: 1.52;
  }

  body.page-home .hero-actions {
    display: grid;
    gap: 8px;
    margin-top: 24px;
  }

  body.page-home .hero-actions .button {
    width: 100%;
    min-height: 43px;
    border-radius: 8px;
    font-size: 10px;
    letter-spacing: 0;
  }

  body.page-home .hero-actions .button-light {
    border-color: transparent;
    background: linear-gradient(180deg, #52ec88, #2ead49);
    color: #06150c;
    box-shadow: 0 18px 34px rgba(46,173,73,.34);
  }

  body.page-home .hero-actions .button-ghost {
    display: inline-flex;
    background: rgba(255,255,255,.06);
  }

  body.page-home .hero-ayah {
    margin-top: 16px;
    padding: 11px 13px;
    background: rgba(7,14,10,.55);
  }

  body.page-home .hero-ayah p {
    margin-bottom: 4px;
    font-size: 25px;
  }

  body.page-home .hero-ayah span {
    font-size: 10px;
  }

  body.page-home .home-live-panel {
    min-height: 310px;
    padding: 18px;
    border-radius: 20px;
    background:linear-gradient(155deg,rgba(12,37,19,.54),rgba(5,12,8,.34));
  }

  body.page-home .live-program-main h2 {
    font-size: 36px;
  }

  body.page-home .feature-section {
    display: block;
    padding: 34px 2px 92px;
  }

  body.page-home .section-heading {
    margin-bottom: 16px;
  }

  body.page-home .section-heading .overline {
    margin-bottom: 10px;
  }

  body.page-home .section-heading h2 {
    max-width: 13ch;
    font-size: 31px;
    line-height: 1.04;
  }

  body.page-home .feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
  }

  body.page-home .feature-card {
    min-height: 154px;
    padding: 14px;
    border-color: rgba(255,255,255,.14);
    border-radius: 15px;
    background: rgba(7,14,10,.56);
    backdrop-filter: blur(16px);
  }

  body.page-home .feature-card span {
    min-width: 28px;
    height: 28px;
    margin-bottom: 18px;
    border-radius: 8px;
    font-size: 9px;
  }

  body.page-home .feature-card h3 {
    font-size: 15px;
    line-height: 1.1;
  }

  body.page-home .feature-card p {
    font-size: 10px;
    line-height: 1.45;
  }

  body.page-home .notice-bar {
    margin-top: 12px;
    padding: 13px 14px;
    border-radius: 12px;
    background: rgba(0,0,0,.5);
    font-size: 10px;
  }

  body.page-home .festival-info-bar {
    align-items: stretch;
    flex-direction: column;
    gap: 12px;
    padding: 14px;
  }

  body.page-home .festival-info-bar > a {
    justify-content: space-between;
  }
}

/* Admin login surface */
.admin-login-shell {
  min-height: min(640px, calc(100vh - 96px));
  display: grid;
  place-items: center;
  padding: 76px 0 34px;
}

.admin-login-card {
  position: relative;
  width: min(100%, 460px);
  overflow: hidden;
  padding: 30px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 16px;
  background: radial-gradient(circle at 76% 10%, rgba(53,168,69,.18), transparent 30%), linear-gradient(145deg, rgba(0,0,0,.84), rgba(16,23,18,.78));
  box-shadow: var(--shadow);
}

.admin-login-card img {
  width: 110px;
  margin-bottom: 18px;
  filter: drop-shadow(0 18px 34px rgba(53,168,69,.2));
}

.admin-login-card h1 {
  margin: 0;
  color: #fff;
  font: 900 clamp(34px, 8vw, 54px)/1 "Ubuntu", sans-serif;
  letter-spacing: 0;
}

.admin-login-card p:not(.overline) {
  color: var(--muted);
  line-height: 1.65;
}

.admin-login-form {
  display: grid;
  gap: 10px;
  margin-top: 22px;
}

.admin-login-form label {
  color: #8ce094;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.admin-login-form input {
  height: 48px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 10px;
  outline: 0;
  padding: 0 14px;
  background: rgba(0,0,0,.36);
  color: #fff;
}

.admin-login-form input:focus {
  border-color: rgba(78,232,131,.7);
  box-shadow: 0 0 0 4px rgba(78,232,131,.1);
}

.login-error {
  color: #ffb6b6;
  font-size: 12px;
  font-weight: 800;
}

/* First-visit name signup */
.signup-gate{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;overflow:auto;padding:24px;background:#071009}
.signup-backdrop{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,10,6,.94),rgba(4,10,6,.6)),url("../kauzariyya4.webp") center/cover;filter:saturate(.75)}
.signup-card{position:relative;width:min(100%,560px);padding:clamp(24px,5vw,48px);border:1px solid rgba(255,255,255,.16);border-radius:26px;background:rgba(8,15,10,.74);box-shadow:0 35px 100px rgba(0,0,0,.58);backdrop-filter:blur(24px)}
.signup-brand{display:flex;align-items:center;gap:12px;margin-bottom:42px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.signup-brand img{width:46px;height:46px;object-fit:contain;padding:6px;border-radius:13px;background:#fff}.signup-card h1{margin:0;color:#fff;font: 700 clamp(44px,8vw,68px)/1.02 "Ubuntu", sans-serif;letter-spacing:-.02em}.signup-card>p:not(.overline){max-width:430px;margin:20px 0;color:var(--muted);line-height:1.65}.signup-card form{display:grid;gap:10px;margin-top:26px}.signup-card label{color:#8ce094;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.signup-card input{height:56px;padding:0 16px;border:1px solid var(--line);border-radius:12px;outline:0;background:rgba(255,255,255,.07);color:#fff;font-size:17px}.signup-card input:focus{border-color:#4ee883;box-shadow:0 0 0 4px rgba(78,232,131,.1)}.signup-card .button{margin-top:4px}.signup-card .button span{margin-left:auto;font-size:20px}.signup-card>small{display:block;margin-top:16px;color:var(--dim);font-size:10px;text-align:center}

/* Extended role onboarding & Thanafus intro styles */
.signup-field-group {
  display: grid;
  gap: 8px;
  margin-top: 14px;
}
.signup-field-label {
  color: #8ce094;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.role-chips-grid,
.role-cards-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 10px !important;
  margin-top: 10px !important;
  margin-bottom: 18px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
@media (max-width: 520px) {
  .role-chips-grid,
  .role-cards-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
  }
}
.role-chip-btn,
.role-card-btn,
.signup-card button.role-chip-btn,
.signup-card button.role-card-btn {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 44px !important;
  padding: 0 16px !important;
  border: 1.5px solid rgba(78, 232, 131, 0.3) !important;
  border-radius: 999px !important;
  background: rgba(10, 26, 17, 0.95) !important;
  color: #ffffff !important;
  font-family: 'Ubuntu', sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em !important;
  cursor: pointer !important;
  text-align: center !important;
  outline: none !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.35) !important;
  width: 100% !important;
  box-sizing: border-box !important;
  transition: border-color 0.2s, background 0.2s, color 0.2s, transform 0.15s !important;
}
.role-chip-btn:hover,
.role-card-btn:hover,
.signup-card button.role-chip-btn:hover,
.signup-card button.role-card-btn:hover {
  border-color: #4ee883 !important;
  background: rgba(16, 38, 25, 0.98) !important;
  color: #4ee883 !important;
  transform: translateY(-1px) !important;
}
.role-chip-btn.active,
.role-card-btn.active,
.signup-card button.role-chip-btn.active,
.signup-card button.role-card-btn.active {
  border-color: #4ee883 !important;
  background: #4ee883 !important;
  color: #031208 !important;
  font-weight: 800 !important;
  box-shadow: 0 0 16px rgba(78, 232, 131, 0.4) !important;
}
.role-chip-icon,
.role-card-emoji {
  font-size: 20px !important;
  display: inline-block !important;
  margin-bottom: 2px !important;
}
.custom-role-input-container {
  display: grid;
  gap: 6px;
  margin-top: 8px;
}
.black-input-field {
  width: 100%;
  height: 52px;
  padding: 0 16px;
  border: 1px solid rgba(255, 255, 255, 0.15) !important;
  border-radius: 12px;
  outline: none;
  background: #050c07 !important;
  color: #ffffff !important;
  font-size: 15px;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.black-input-field:focus {
  border-color: #4ee883 !important;
  box-shadow: 0 0 0 4px rgba(78, 232, 131, 0.16) !important;
}
.signup-error-alert {
  padding: 10px 14px;
  border: 1px solid rgba(255, 100, 100, 0.4);
  border-radius: 10px;
  background: rgba(65, 15, 15, 0.85);
  color: #ffd4d4;
  font-size: 11px;
  font-weight: 700;
  margin-top: 10px;
}

/* Thanafus Intro Screen */
.thanafus-intro-screen {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  background: radial-gradient(circle at center, #071f11 0%, #030a05 80%);
  color: #ffffff;
  opacity: 1;
  transition: opacity 0.5s ease;
}
.thanafus-intro-screen.is-fading {
  opacity: 0;
  pointer-events: none;
}
.thanafus-intro-backdrop {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 50% 40%, rgba(78, 232, 131, 0.12), transparent 70%);
  pointer-events: none;
}
.thanafus-intro-content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 30px;
  max-width: 520px;
  animation: thanafusZoomIn 0.85s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
.thanafus-logo-glow {
  position: relative;
  padding: 22px 28px;
  margin-bottom: 20px;
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid rgba(78, 232, 131, 0.28);
  border-radius: 24px;
  box-shadow: 0 0 50px rgba(78, 232, 131, 0.2), inset 0 0 20px rgba(78, 232, 131, 0.08);
  backdrop-filter: blur(16px);
}
.thanafus-brand-img {
  max-width: 260px;
  height: auto;
  display: block;
  filter: drop-shadow(0 0 14px rgba(78, 232, 131, 0.65));
}
.thanafus-calligraphy-sub {
  color: #4ee883;
  font-size: 20px;
  margin-bottom: 6px;
  letter-spacing: 0.05em;
  text-shadow: 0 0 12px rgba(78, 232, 131, 0.4);
}
.thanafus-intro-title {
  font-size: 22px;
  font-weight: 900;
  letter-spacing: 0.08em;
  color: #ffffff;
  margin: 0;
}
.thanafus-intro-eyebrow {
  color: rgba(255, 255, 255, 0.5);
  font-size: 11px;
  letter-spacing: 0.2em;
  margin-top: 4px;
}
.thanafus-welcome-tag {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 18px;
  padding: 8px 18px;
  border-radius: 99px;
  background: rgba(78, 232, 131, 0.12);
  border: 1px solid rgba(78, 232, 131, 0.35);
  color: #ffffff;
  font-size: 13px;
}
.thanafus-role-pill {
  padding: 2px 9px;
  border-radius: 99px;
  background: #4ee883;
  color: #041007;
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
}
.thanafus-intro-bar {
  width: 180px;
  height: 4px;
  margin-top: 24px;
  border-radius: 99px;
  background: rgba(255, 255, 255, 0.12);
  overflow: hidden;
}
.thanafus-bar-fill {
  width: 100%;
  height: 100%;
  background: #4ee883;
  animation: thanafusBarLoading 1.9s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
@keyframes thanafusZoomIn {
  0% { transform: scale(0.86); opacity: 0; }
  100% { transform: scale(1); opacity: 1; }
}
@keyframes thanafusBarLoading {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(0); }
}

/* Visitor log role badges */
.visitor-name-header {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}
.visitor-role-badge {
  display: inline-block;
  padding: 2px 7px;
  border-radius: 6px;
  background: rgba(78, 232, 131, 0.14);
  border: 1px solid rgba(78, 232, 131, 0.3);
  color: #76f49c;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.04em;
}
.visitor-role-pill {
  margin-left: 8px;
  padding: 2px 8px;
  border-radius: 99px;
  background: rgba(78, 232, 131, 0.18);
  border: 1px solid rgba(78, 232, 131, 0.35);
  color: #76f49c;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.05em;
}

/* Video Intro Screen */
.video-intro-screen {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  background: #000000;
  opacity: 1;
  transition: opacity 0.55s ease;
}
.video-intro-screen.is-fading {
  opacity: 0;
  pointer-events: none;
}
.video-intro-player {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.video-intro-overlay {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  width: 100%;
  height: 100%;
  padding: 0 24px 60px;
  pointer-events: none;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.55) 0%, transparent 40%);
}
.video-intro-welcome {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 22px;
  border-radius: 99px;
  background: rgba(0, 0, 0, 0.5);
  border: 1px solid rgba(78, 232, 131, 0.35);
  color: #ffffff;
  font-size: 14px;
  backdrop-filter: blur(14px);
  animation: thanafusZoomIn 0.65s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
.video-intro-role-pill {
  padding: 3px 10px;
  border-radius: 99px;
  background: #4ee883;
  color: #041007;
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
}
.video-intro-skip {
  position: fixed;
  z-index: 10;
  bottom: 28px;
  right: 28px;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 18px;
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 99px;
  background: rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(12px);
  color: rgba(255, 255, 255, 0.8);
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  transition: background 0.2s, border-color 0.2s, color 0.2s;
}
.video-intro-skip:hover {
  background: rgba(0, 0, 0, 0.7);
  border-color: rgba(78, 232, 131, 0.5);
  color: #ffffff;
}
.video-intro-skip span {
  font-size: 14px;
}

/* Signup card step transitions */
.signup-card-leaving {
  animation: signupSlideOut 0.32s ease forwards;
}
.signup-card-entering {
  animation: signupSlideIn 0.4s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
@keyframes signupSlideOut {
  0% { opacity: 1; transform: translateX(0) scale(1); }
  100% { opacity: 0; transform: translateX(-40px) scale(0.97); }
}
@keyframes signupSlideIn {
  0% { opacity: 0; transform: translateX(40px) scale(0.97); }
  100% { opacity: 1; transform: translateX(0) scale(1); }
}

/* Signup step navigation */
.signup-step-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 14px;
}
.signup-back-btn {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 14px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.05);
  color: rgba(255, 255, 255, 0.7);
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  transition: border-color 0.2s, color 0.2s, background 0.2s;
}
.signup-back-btn:hover {
  border-color: rgba(78, 232, 131, 0.4);
  color: #ffffff;
  background: rgba(78, 232, 131, 0.08);
}

/* Operational admin workspace */
.admin-toast{position:fixed;z-index:200;top:86px;left:50%;transform:translateX(-50%);padding:12px 18px;border:1px solid rgba(78,232,131,.35);border-radius:12px;background:rgba(11,45,23,.95);color:#d8ffe3;box-shadow:var(--shadow);font-weight:700}.admin-toast.error{border-color:rgba(255,100,100,.4);background:rgba(65,15,15,.96);color:#ffd4d4}
.admin-tabs{display:flex;gap:6px;width:max-content;margin-bottom:20px;padding:5px;border:1px solid var(--line);border-radius:12px;background:rgba(0,0,0,.34)}.admin-tabs button{min-height:42px;padding:0 18px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-weight:800;cursor:pointer}.admin-tabs button.active{background:#4ee883;color:#071008}.admin-tabs span{display:inline-grid;place-items:center;min-width:22px;height:22px;margin-left:7px;border-radius:99px;background:rgba(0,0,0,.15);font-size:10px}
.score-editor-grid{display:grid;gap:14px}.score-editor{position:relative;overflow:hidden;padding:22px;border:1px solid var(--line);border-radius:18px;background:rgba(8,16,11,.7);box-shadow:var(--shadow);backdrop-filter:blur(18px)}.score-editor:before{content:"";position:absolute;inset:0 0 auto;height:5px;background:var(--team)}.score-editor-top{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.score-editor-top i{width:12px;height:12px;border-radius:50%;background:var(--team);box-shadow:0 0 15px var(--team)}.score-editor h2{margin:22px 0;color:#fff;font-size:24px}.score-editor label{display:grid;gap:7px}.score-editor label span,.program-form label>span{color:var(--muted);font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.score-editor input{width:100%;height:66px;padding:0 14px;border:1px solid var(--line);border-radius:12px;outline:0;background:rgba(255,255,255,.06);color:#fff;font-size:34px;font-weight:800}.score-editor .button{width:100%;margin-top:12px}
.program-manager{display:grid;gap:18px}.program-form,.program-admin-list{padding:22px;border:1px solid var(--line);border-radius:18px;background:rgba(8,16,11,.7);box-shadow:var(--shadow);backdrop-filter:blur(18px)}.program-form{align-content:start;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.program-form-head{grid-column:1/-1;display:flex;justify-content:space-between;align-items:start;margin-bottom:5px}.program-form-head h2,.program-list-head h2{margin:0;color:#fff;font-size:27px}.program-form-head>button{border:0;background:none;color:#8ce094;cursor:pointer}.program-form label{display:grid;gap:7px}.program-form .wide{grid-column:1/-1}.program-form input,.program-form select{width:100%;height:48px;padding:0 13px;border:1px solid var(--line);border-radius:10px;outline:0;background:#111914;color:#fff}.program-form input:focus,.program-form select:focus{border-color:#4ee883}.program-list-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:14px}.program-list-head>span{color:var(--muted);font-size:11px}.program-admin-row{min-height:76px;display:grid;grid-template-columns:55px minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:12px;border-top:1px solid var(--line)}.program-admin-row time{color:#8ce094;font-weight:800}.program-admin-row h3{margin:0 0 4px;color:#fff;font-size:15px}.program-admin-row p{margin:0;color:var(--muted);font-size:11px}.status-pill{padding:5px 9px;border-radius:99px;background:rgba(255,255,255,.08);color:var(--muted);font-size:8px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.status-pill.live{background:rgba(78,232,131,.16);color:#76f49c}.status-pill.completed{background:rgba(110,150,255,.15);color:#aebfff}.row-actions{display:flex;gap:5px}.row-actions button{padding:7px 9px;border:1px solid var(--line);border-radius:8px;background:rgba(255,255,255,.06);color:#fff;font-size:10px;cursor:pointer}.row-actions button.danger{color:#ffaaaa}

.student-admin-row>b{color:#8ce094;font-size:9px;letter-spacing:.08em}.student-admin-row>time{padding:5px 8px;border-radius:8px;background:rgba(78,232,131,.08);color:#b0f6c4!important;font-size:10px}.participant-form select{min-width:0}
.admin-control-shell{display:grid!important;grid-template-columns:220px minmax(0,1fr);gap:18px;padding-top:76px}.admin-sidebar{position:sticky;top:84px;height:calc(100vh - 104px);display:flex;flex-direction:column;padding:16px;border:1px solid var(--line);border-radius:20px;background:rgba(5,12,8,.72);box-shadow:var(--shadow);backdrop-filter:blur(18px)}.admin-side-brand{display:flex;align-items:center;gap:10px;padding:4px 4px 20px;border-bottom:1px solid var(--line)}.admin-side-brand img{width:39px;height:39px;object-fit:contain;padding:5px;border-radius:10px;background:#fff}.admin-side-brand span{display:grid}.admin-side-brand strong{color:#fff;font-size:15px}.admin-side-brand small{color:var(--dim);font-size:8px;letter-spacing:.1em;text-transform:uppercase}.admin-sidebar nav{display:grid;gap:5px;margin-top:18px}.admin-sidebar nav button{width:100%;min-height:43px;display:grid;grid-template-columns:24px 1fr auto;gap:7px;align-items:center;padding:0 11px;border:0;border-radius:10px;background:transparent;color:var(--muted);text-align:left;cursor:pointer}.admin-sidebar nav button:hover,.admin-sidebar nav button.active{background:rgba(78,232,131,.12);color:#fff}.admin-sidebar nav button.active{box-shadow:inset 3px 0 0 #4ee883}.admin-sidebar nav b{color:#8ce094;font-size:15px}.admin-sidebar nav span{font-size:12px;font-weight:800}.admin-sidebar nav small{min-width:21px;padding:3px 5px;border-radius:99px;background:rgba(255,255,255,.08);font-size:8px;text-align:center}.admin-identity{display:flex;align-items:center;gap:9px;margin-top:auto;padding:12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.04)}.admin-identity>span{width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:rgba(78,232,131,.12);color:#4ee883;font-weight:900}.admin-identity div{display:grid}.admin-identity strong{color:#fff;font-size:11px}.admin-identity small{color:var(--dim);font-size:8px}.admin-home-link{margin-top:12px;padding:9px;color:var(--muted);font-size:10px;font-weight:800}.admin-workspace{min-width:0}.admin-workspace-head{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:22px}.admin-workspace-head h1{margin:0;color:#fff;font-size:clamp(35px,5vw,56px);line-height:1}.admin-workspace-head p:last-child{margin:9px 0 0;color:var(--muted)}.admin-workspace-head .button{min-width:90px}.admin-overview{display:grid;gap:16px}.active-event-card{min-height:150px;display:flex;align-items:center;justify-content:space-between;overflow:hidden;padding:24px;border:1px solid rgba(78,232,131,.22);border-radius:20px;background:linear-gradient(120deg,rgba(10,42,19,.64),rgba(5,13,8,.38));box-shadow:var(--shadow)}.active-event-card span{color:#8ce094;font-size:9px;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.active-event-card h2{margin:8px 0 5px;color:#fff;font-size:29px}.active-event-card p{margin:0;color:var(--muted);font-size:11px}.active-event-card>i{width:72px;height:72px;display:grid;place-items:center;border:1px solid rgba(78,232,131,.3);border-radius:50%;background:rgba(78,232,131,.08);color:#4ee883;font-style:normal}.active-event-card>i b{font-size:10px;letter-spacing:.12em}.overview-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.overview-metric{min-height:125px;display:grid;align-content:space-between;padding:17px;border:1px solid var(--line);border-radius:15px;background:rgba(7,14,10,.62);box-shadow:0 15px 40px rgba(0,0,0,.18)}.overview-metric>span{color:#4ee883;font-size:20px}.overview-metric strong{color:#fff;font-size:35px;line-height:1}.overview-metric small{color:var(--muted);font-size:9px;letter-spacing:.1em;text-transform:uppercase}.quick-actions{padding:22px;border:1px solid var(--line);border-radius:18px;background:rgba(7,14,10,.54)}.quick-actions h2{margin:0;color:#fff;font-size:27px}.quick-actions>div:last-child{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:17px}.quick-actions button,.quick-actions a{min-height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 14px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.05);color:#fff;font-size:11px;font-weight:800;cursor:pointer}.quick-actions button:hover,.quick-actions a:hover{border-color:rgba(78,232,131,.4);background:rgba(78,232,131,.08)}.quick-actions span{color:#8ce094;font-size:16px}
@media(min-width:760px){.score-editor-grid{grid-template-columns:repeat(4,1fr)}.program-manager{grid-template-columns:minmax(280px,.72fr) 1.28fr}.program-form{position:sticky;top:90px}}
@media(max-width:560px){.signup-gate{padding:12px}.signup-card{padding:24px 20px;border-radius:22px}.signup-brand{margin-bottom:32px}.signup-card h1{font-size:48px}.admin-dashboard{padding-top:88px}.admin-head h1{font-size:45px}.admin-tabs{width:100%}.admin-tabs button{flex:1}.score-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.score-editor{padding:16px}.score-editor h2{margin:18px 0;font-size:18px}.score-editor input{height:54px;font-size:27px}.score-editor .button{min-height:40px;padding:0 8px}.program-form{grid-template-columns:1fr;padding:17px}.program-form .wide,.program-form-head{grid-column:1}.program-admin-list{padding:16px}.program-admin-row{grid-template-columns:48px 1fr auto;padding:12px 2px}.program-admin-row .status-pill{grid-column:2}.program-admin-row .row-actions{grid-column:3;grid-row:1/3;display:grid}.program-admin-row p{max-width:20ch}.admin-toast{top:70px;width:calc(100% - 44px);text-align:center}}
@media(max-width:560px){.admin-tabs button{min-width:0;padding-inline:7px;font-size:9px}.admin-tabs span{display:none}.student-admin-row>time{grid-column:2;width:max-content}.student-admin-row .row-actions{grid-column:3;grid-row:1/3}}
@media(max-width:759px){.admin-control-shell{display:block!important;padding-top:82px}.admin-sidebar{position:relative;top:auto;width:100%;height:auto;margin-bottom:16px;padding:10px;border-radius:16px}.admin-side-brand,.admin-identity,.admin-home-link{display:none}.admin-sidebar nav{grid-template-columns:repeat(4,1fr);gap:4px;margin:0}.admin-sidebar nav button{min-height:52px;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:5px;text-align:center}.admin-sidebar nav button.active{box-shadow:inset 0 -3px 0 #4ee883}.admin-sidebar nav b{font-size:13px}.admin-sidebar nav span{font-size:8px}.admin-sidebar nav small{display:none}.admin-workspace-head{align-items:flex-start}.admin-workspace-head h1{font-size:34px}.admin-workspace-head p:last-child{font-size:10px}.admin-workspace-head .button{min-width:65px;min-height:40px;padding:0 10px}.active-event-card{min-height:132px;padding:18px}.active-event-card h2{max-width:11ch;font-size:23px}.active-event-card>i{width:54px;height:54px}.overview-metrics{grid-template-columns:repeat(2,1fr)}.overview-metric{min-height:105px;padding:14px}.quick-actions{padding:17px}.quick-actions>div:last-child{grid-template-columns:1fr}}

/* Rich control-center overview */
.admin-sidebar{background:linear-gradient(180deg,rgba(7,24,13,.92),rgba(3,9,6,.82))}.admin-sidebar:before{content:"";position:absolute;inset:16px auto 16px 0;width:1px;background:linear-gradient(transparent,#4ee883,transparent);opacity:.55}.admin-workspace-head h1{background:linear-gradient(90deg,#fff,#b8f8cb);-webkit-background-clip:text;background-clip:text;color:transparent}.active-event-card{position:relative;background:radial-gradient(circle at 86% 16%,rgba(78,232,131,.22),transparent 24%),linear-gradient(115deg,rgba(7,58,24,.82),rgba(3,16,8,.48))}.active-event-card:after{content:"2026";position:absolute;right:110px;bottom:-29px;color:rgba(255,255,255,.04);font-size:105px;font-weight:900}.active-event-card>*{position:relative;z-index:1}.active-event-card>i{box-shadow:0 0 45px rgba(78,232,131,.18),inset 0 0 20px rgba(78,232,131,.09)}
.overview-metric{position:relative;overflow:hidden;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:8px 12px;align-content:center;background:linear-gradient(145deg,rgba(10,23,14,.8),rgba(4,10,7,.45));transition:transform .25s,border-color .25s}.overview-metric:hover{transform:translateY(-4px);border-color:var(--metric)}.overview-metric:after{content:"";position:absolute;right:-28px;top:-32px;width:88px;height:88px;border:18px solid var(--metric);border-radius:50%;opacity:.07}.overview-metric>span{width:38px;height:38px;display:grid;place-items:center;grid-row:1/3;border-radius:11px;background:color-mix(in srgb,var(--metric) 13%,transparent);color:var(--metric)}.overview-metric>div{display:flex;align-items:end;gap:7px}.overview-metric strong{font-size:37px}.overview-metric small{padding-bottom:4px;color:#fff}.overview-metric p{grid-column:2;margin:0;color:var(--dim);font-size:8px}.tone-green{--metric:#4ee883}.tone-cyan{--metric:#55dff5}.tone-gold{--metric:#ffc95d}.tone-violet{--metric:#b695ff}
.overview-bento{display:grid;grid-template-columns:1fr 1fr;gap:12px}.admin-live-standings,.admin-program-pulse{padding:20px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,rgba(7,18,11,.72),rgba(4,10,7,.44));box-shadow:0 20px 55px rgba(0,0,0,.2)}.admin-live-standings>header,.admin-program-pulse>header{display:flex;align-items:end;justify-content:space-between;margin-bottom:14px}.admin-live-standings h2,.admin-program-pulse h2{margin:0;color:#fff;font-size:24px}.admin-live-standings header button,.admin-program-pulse header button{border:0;background:none;color:#8ce094;font-size:9px;font-weight:800;cursor:pointer}.admin-live-standings>div,.admin-program-pulse>div{display:grid;gap:6px}.admin-live-standings article{min-height:50px;display:grid;grid-template-columns:24px 8px 1fr auto;gap:9px;align-items:center;padding:7px 9px;border-radius:10px;background:rgba(255,255,255,.035)}.admin-live-standings article>b{color:var(--dim);font-size:8px}.admin-live-standings article>i{width:8px;height:25px;border-radius:99px;background:var(--team);box-shadow:0 0 10px var(--team)}.admin-live-standings article>span{display:grid;gap:5px;color:#fff;font-size:10px;font-weight:800}.admin-live-standings article small{display:block;width:100%;height:2px;border-radius:99px;background:rgba(255,255,255,.08)}.admin-live-standings article em{display:block;height:100%;border-radius:inherit;background:var(--team)}.admin-live-standings article>strong{color:#fff;font-size:20px}.admin-program-pulse article{min-height:50px;display:grid;grid-template-columns:42px 1fr auto;gap:10px;align-items:center;padding:7px 9px;border-bottom:1px solid rgba(255,255,255,.06)}.admin-program-pulse time{color:#8ce094;font-size:10px;font-weight:800}.admin-program-pulse article>span{display:grid}.admin-program-pulse article strong{color:#fff;font-size:11px}.admin-program-pulse article small{color:var(--dim);font-size:8px}.admin-program-pulse article>i{padding:4px 6px;border-radius:99px;background:rgba(255,255,255,.06);color:var(--muted);font-size:7px;font-style:normal;text-transform:uppercase}.admin-program-pulse article>i.live{background:rgba(78,232,131,.14);color:#75f399}.quick-actions{background:radial-gradient(circle at 90% 20%,rgba(78,232,131,.08),transparent 25%),rgba(7,14,10,.54)}.quick-actions button,.quick-actions a{position:relative;overflow:hidden}.quick-actions button:before,.quick-actions a:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:#4ee883;opacity:.5}
@media(max-width:759px){.overview-bento{grid-template-columns:1fr}.overview-metric p{font-size:7px}.admin-live-standings,.admin-program-pulse{padding:15px}.active-event-card:after{right:30px;font-size:75px}}

/* Homepage uses the festival film as its living background. */
body.page-home::before{background:linear-gradient(90deg,rgba(3,9,5,.8),rgba(3,9,5,.3) 56%,rgba(3,9,5,.62)),linear-gradient(180deg,rgba(3,9,5,.14),rgba(3,9,5,.6))!important;filter:none!important}
body.page-home .feature-card,body.page-home .notice-bar,body.page-home .hero-ayah{background-color:rgba(5,14,8,.38);backdrop-filter:blur(9px)}
@media(max-width:560px){.home-video-bg video{object-position:center center;filter:saturate(.75) brightness(var(--video-brightness,.56)) contrast(1.08)}body.page-home::before{background:linear-gradient(180deg,rgba(3,9,5,.22),rgba(3,9,5,.48) 48%,rgba(3,9,5,.72))!important}}
@media(max-width:560px){body.page-schedule::before,body.page-review::before{background:linear-gradient(180deg,rgba(4,10,7,.26),rgba(4,10,7,.58)),var(--page-image) center/cover no-repeat;filter:saturate(.78) brightness(.7)}body.page-schedule .schedule-column{background:rgba(6,14,9,.4)}body.page-review .review-card{background:rgba(6,14,9,.38)}}

/* Unified slate blue-gray atmosphere across the complete platform. */
body.page-scoreboard,body.page-schedule,body.page-participants,body.page-review,body.page-admin{background:linear-gradient(180deg,rgba(42,58,80,.56),rgba(15,23,34,.72)),linear-gradient(90deg,rgba(26,39,56,.48),rgba(26,39,56,.22) 55%,rgba(17,26,38,.55)),var(--page-image) center/cover fixed}
.site-header{background:rgba(20,31,43,.78);border-color:rgba(190,210,230,.16)}.site-header.is-scrolled{background:rgba(17,27,39,.91)}
body.page-home::before{background:linear-gradient(180deg,rgba(45,62,85,.45),rgba(16,25,36,.66)),linear-gradient(90deg,rgba(28,42,59,.56),rgba(28,42,59,.2) 58%,rgba(18,28,41,.5))!important}
.schedule-column,.review-card,.speaker-card,.participant-row,.scoreboard-modern,.admin-sidebar,.admin-panel,.admin-metric{border-color:rgba(190,210,230,.16)}
@media(max-width:560px){body.page-scoreboard::before,body.page-schedule::before,body.page-participants::before,body.page-review::before,body.page-admin::before{background:linear-gradient(180deg,rgba(43,59,81,.46),rgba(14,22,33,.7)),var(--page-image) center/cover no-repeat;filter:saturate(.72) brightness(.72)}body.page-home::before{background:linear-gradient(180deg,rgba(44,61,83,.38),rgba(14,22,33,.64))!important}.mobile-tabbar{background:rgba(18,29,41,.92)}}

/* Final neutral treatment: natural photo colours with dark transparent glass. */
body.page-scoreboard,body.page-schedule,body.page-participants,body.page-review,body.page-admin{background:linear-gradient(180deg,rgba(7,9,8,.38),rgba(4,6,5,.7)),linear-gradient(90deg,rgba(5,7,6,.42),rgba(5,7,6,.12) 55%,rgba(4,6,5,.48)),var(--page-image) center/cover fixed}
.site-header{background:rgba(8,13,10,.82);border-color:rgba(255,255,255,.15)}.site-header.is-scrolled{background:rgba(7,11,9,.93)}
body.page-home::before{background:linear-gradient(180deg,rgba(5,7,6,.36),rgba(3,5,4,.72)),linear-gradient(90deg,rgba(4,7,5,.58),rgba(4,7,5,.18) 58%,rgba(3,5,4,.5))!important}
.schedule-column,.review-card,.speaker-card,.participant-row,.scoreboard-modern,.admin-sidebar,.admin-panel,.admin-metric{border-color:rgba(255,255,255,.14)}
@media(max-width:560px){body.page-scoreboard::before,body.page-schedule::before,body.page-participants::before,body.page-review::before,body.page-admin::before{background:linear-gradient(180deg,rgba(5,7,6,.3),rgba(3,5,4,.68)),var(--page-image) center/cover no-repeat;filter:saturate(.82) brightness(.72)}body.page-home::before{background:linear-gradient(180deg,rgba(5,7,6,.3),rgba(3,5,4,.7))!important}.mobile-tabbar{background:rgba(8,12,10,.94)}}

/* One consistent neutral darkness treatment across every page. */
body.page-scoreboard,
body.page-schedule,
body.page-participants,
body.page-review,
body.page-admin{
  background:
    linear-gradient(180deg,rgba(4,6,5,.3),rgba(3,5,4,.68)),
    linear-gradient(90deg,rgba(4,7,5,.42),rgba(4,7,5,.14) 58%,rgba(3,5,4,.44)),
    var(--page-image) center/cover fixed;
}
body.page-home::before{
  background:
    linear-gradient(180deg,rgba(4,6,5,.3),rgba(3,5,4,.68)),
    linear-gradient(90deg,rgba(4,7,5,.42),rgba(4,7,5,.14) 58%,rgba(3,5,4,.44))!important;
}
@media(max-width:560px){
  body.page-scoreboard::before,
  body.page-schedule::before,
  body.page-participants::before,
  body.page-review::before,
  body.page-admin::before{
    background:
      linear-gradient(180deg,rgba(4,6,5,.3),rgba(3,5,4,.68)),
      linear-gradient(90deg,rgba(4,7,5,.42),rgba(4,7,5,.14) 58%,rgba(3,5,4,.44)),
      var(--page-image) center/cover no-repeat;
    filter:none;
  }
  body.page-home::before{
    background:
      linear-gradient(180deg,rgba(4,6,5,.3),rgba(3,5,4,.68)),
      linear-gradient(90deg,rgba(4,7,5,.42),rgba(4,7,5,.14) 58%,rgba(3,5,4,.44))!important;
  }
}

@media(max-width:560px){
  .scoreboard-modern{margin-top:76px;padding:16px 10px 20px;border-radius:22px;background:rgba(5,13,8,.28);backdrop-filter:blur(5px)}
  .scoreboard-heading{grid-template-columns:1fr;margin-bottom:20px;padding:4px 6px}.scoreboard-heading h1{font-size:43px}.scoreboard-heading>p{font-size:11px;line-height:1.45}
  .score-podium-modern{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.podium-modern{min-height:170px;padding:15px;border-radius:16px}.podium-modern.rank-1{grid-column:1/-1;min-height:215px}.podium-modern strong{font-size:48px}.podium-modern.rank-1 strong{font-size:68px}.podium-modern h2{font-size:14px}.podium-rank{left:14px;top:13px}
  .ranking-board{padding:5px;border-radius:17px}.ranking-head{grid-template-columns:42px 1fr auto;padding-inline:9px}
  .standing-list{gap:7px}.standing-row{min-height:70px;grid-template-columns:24px 9px minmax(0,1fr) auto;gap:8px;padding:11px 10px;border-radius:13px;background:rgba(7,15,10,.38)}.standing-row h2{margin-bottom:7px;font-size:11px}.standing-row>strong{font-size:25px}
  .champion-spotlight{min-height:300px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:20px;border-radius:21px}.champion-copy>p{margin-top:27px}.champion-copy h2{font-size:45px}.champion-copy small{font-size:10px}.score-dial{position:absolute;right:16px;bottom:17px;width:112px;height:112px}.score-dial:before{inset:7px}.score-dial strong{font-size:40px}.score-dial span{font-size:7px}.champion-spotlight:before{right:-70px;bottom:-50px;width:230px;height:230px}
  .challenger-section{padding:14px;border-radius:18px}.challenger-section>header h2{font-size:23px}.challenger-section>header>span{display:none}.challenger-grid{grid-template-columns:1fr;gap:8px}.challenger-card{min-height:116px;padding:14px}.challenger-color{margin:17px 0 8px}.challenger-score{position:absolute;right:14px;top:44px}.challenger-track{left:14px;right:14px;bottom:11px}
}

/* Modern unified live leaderboard */
.scoreboard-experience{padding:clamp(70px,8vw,104px) 0 34px}
.leaderboard-header{display:grid;grid-template-columns:1fr minmax(260px,.62fr);gap:36px;align-items:end;margin-bottom:28px;padding:0 4px}
.leaderboard-header h1{margin:0;color:#fff;font: 700 clamp(44px,7.5vw,76px)/.98 "Ubuntu", sans-serif;letter-spacing:-.02em}
.leaderboard-status{justify-self:end;max-width:355px;padding-left:20px;border-left:1px solid rgba(255,255,255,.16)}
.leaderboard-status>span{display:flex;align-items:center;gap:9px;color:#90f0a9;font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.leaderboard-status>span i{width:8px;height:8px;border-radius:50%;background:#4ee883;box-shadow:0 0 0 6px rgba(78,232,131,.12);animation:leaderLivePulse 2s ease-in-out infinite}
.leaderboard-status p{margin:14px 0 0;color:rgba(255,255,255,.62);font-size:13px;line-height:1.6}
.leaderboard-glass{position:relative;display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);overflow:hidden;border:1px solid rgba(255,255,255,.17);border-radius:28px;background:linear-gradient(135deg,rgba(6,14,9,.64),rgba(5,10,7,.34));box-shadow:0 30px 90px rgba(0,0,0,.28);backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px)}
.leaderboard-glass:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.055),transparent 24%,transparent 74%,rgba(78,232,131,.025))}
.leader-feature{position:relative;min-height:510px;display:flex;flex-direction:column;overflow:hidden;padding:28px;border-right:1px solid rgba(255,255,255,.13);background:linear-gradient(160deg,color-mix(in srgb,var(--team) 10%,#0b1710),#07100b 62%,color-mix(in srgb,var(--team) 5%,#050b07))}
.leader-feature:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 12% 8%,color-mix(in srgb,var(--team) 15%,transparent),transparent 32%),linear-gradient(115deg,rgba(255,255,255,.035),transparent 34%)}
.leader-feature:after{display:none}
.leader-feature-top{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.09)}
.leader-rank{display:flex;align-items:center;gap:9px}.leader-rank b{color:#fff;font-size:19px;line-height:1}.leader-rank small{color:rgba(255,255,255,.4);font-size:8px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.leader-live{display:flex;align-items:center;gap:7px;padding:7px 9px;border:1px solid rgba(78,232,131,.16);border-radius:99px;background:rgba(78,232,131,.06);color:#b9f7c9;font-size:8px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.leader-live i{width:6px;height:6px;border-radius:50%;background:#4ee883;box-shadow:0 0 10px #4ee883}
.leader-identity{position:relative;z-index:1;display:flex;align-items:center;gap:16px;margin:auto 0 28px}.leader-avatar{width:72px;height:72px;display:grid;place-items:center;flex:none;overflow:hidden;border:1px solid color-mix(in srgb,var(--team) 42%,rgba(255,255,255,.18));border-radius:20px;background:color-mix(in srgb,var(--team) 12%,rgba(255,255,255,.04));box-shadow:0 18px 44px rgba(0,0,0,.28)}.leader-avatar img{width:100%;height:100%;object-fit:cover}.leader-avatar b{color:var(--team);font-size:30px;text-transform:uppercase}.leader-identity-copy{min-width:0}.leader-identity-copy p{margin:0 0 7px;color:#8ce094;font-size:8px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.leader-identity-copy h2{overflow:hidden;max-width:100%;margin:0;color:#fff;font: 700 clamp(28px,3.5vw,42px)/1.02 "Ubuntu", sans-serif;letter-spacing:-.01em;text-overflow:ellipsis;text-transform:uppercase}.leader-identity-copy>span{display:block;margin-top:9px;color:rgba(255,255,255,.47);font-size:9px;line-height:1.4}
.leader-performance{position:relative;z-index:1;display:grid;grid-template-columns:1fr auto;align-items:stretch;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(255,255,255,.035)}.leader-score-block{display:flex;align-items:end;gap:10px;padding:17px}.leader-score-block strong{color:#fff;font-size:58px;font-weight:800;line-height:.72;letter-spacing:-.055em}.leader-score-block span{padding-bottom:2px;color:rgba(255,255,255,.4);font-size:7px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.leader-advantage{min-width:94px;display:grid;place-content:center;padding:14px;border-left:1px solid rgba(255,255,255,.09);text-align:center}.leader-advantage span{color:rgba(255,255,255,.42);font-size:7px;letter-spacing:.1em;text-transform:uppercase}.leader-advantage strong{margin-top:5px;color:#9cf4b3;font-size:20px}
.ranking-panel{position:relative;z-index:1;min-width:0;display:flex;flex-direction:column;padding:28px}
.ranking-panel>header{display:flex;align-items:center;justify-content:space-between;padding:2px 5px 20px;color:rgba(255,255,255,.34);font-size:8px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.ranking-panel>header div{display:flex;align-items:center;gap:38px}.ranking-panel>header strong{color:rgba(255,255,255,.72);font-size:10px;letter-spacing:.11em}
.ranking-list{display:grid;gap:10px}
.ranking-row{min-height:88px;display:grid;grid-template-columns:38px 40px minmax(0,1fr) auto;gap:13px;align-items:center;padding:14px 16px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(255,255,255,.035);opacity:1;transform:none;transition:transform .25s,border-color .25s,background .25s}
.ranking-row:hover{transform:translateX(3px);border-color:color-mix(in srgb,var(--team) 45%,rgba(255,255,255,.18));background:rgba(255,255,255,.055)}
.ranking-row.is-leading{border-color:color-mix(in srgb,var(--team) 35%,rgba(255,255,255,.12));background:linear-gradient(90deg,color-mix(in srgb,var(--team) 10%,transparent),rgba(255,255,255,.035))}
.ranking-position{color:rgba(255,255,255,.4);font-size:11px;font-weight:800;letter-spacing:.08em}.is-leading .ranking-position{color:#9af1b1}
.team-signal{width:35px;height:35px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--team) 35%,rgba(255,255,255,.16));border-radius:11px;background:color-mix(in srgb,var(--team) 10%,rgba(255,255,255,.025))}.team-signal i{width:10px;height:10px;border:2px solid rgba(0,0,0,.22);border-radius:50%;background:var(--team);box-shadow:0 0 12px color-mix(in srgb,var(--team) 65%,transparent)}
.ranking-team{min-width:0}.ranking-team>div:first-child{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.ranking-team h3{overflow:hidden;margin:0;color:#fff;font-size:16px;font-weight:800;letter-spacing:.01em;text-overflow:ellipsis;white-space:nowrap}.ranking-team>div:first-child span{flex:none;color:rgba(255,255,255,.38);font-size:8px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.is-leading .ranking-team>div:first-child span{color:#8ce094}
.ranking-progress{height:3px;margin-top:10px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.08)}.ranking-progress i{display:block;width:var(--progress);height:100%;border-radius:inherit;background:var(--team);box-shadow:0 0 10px color-mix(in srgb,var(--team) 75%,transparent);transform-origin:left;animation:rankingBarIn 1s calc(.35s + var(--delay)) cubic-bezier(.2,.8,.2,1) both}
.ranking-score{min-width:58px;color:#fff;font-size:34px;font-weight:800;line-height:1;text-align:right;letter-spacing:-.04em}.ranking-score small{display:block;margin-top:3px;color:rgba(255,255,255,.35);font-size:7px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.ranking-panel>footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding:24px 5px 3px;color:rgba(255,255,255,.38);font-size:8px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.ranking-panel>footer span{display:flex;align-items:center;gap:7px}.ranking-panel>footer i{width:18px;height:18px;display:grid;place-items:center;border-radius:50%;background:rgba(78,232,131,.12);color:#75ee97;font-size:9px;font-style:normal}.ranking-panel>footer time{color:rgba(255,255,255,.68)}
@keyframes leaderLivePulse{50%{opacity:.45;box-shadow:0 0 0 9px rgba(78,232,131,0)}}
@keyframes leaderLineIn{from{transform:scaleX(0);opacity:0}}
@keyframes rankingRowIn{to{opacity:1;transform:translateX(0)}}
@keyframes rankingBarIn{from{transform:scaleX(0)}}
@media(max-width:760px){
  .scoreboard-experience{padding:82px 0 104px}.leaderboard-header{grid-template-columns:1fr;gap:20px;margin-bottom:20px;padding:0 6px}.leaderboard-header h1{font-size:57px}.leaderboard-status{justify-self:start;max-width:100%;padding-left:15px}.leaderboard-status p{font-size:11px}
  .leaderboard-glass{grid-template-columns:1fr;border-radius:22px}.leader-feature{min-height:410px;padding:20px;border-right:0;border-bottom:1px solid rgba(255,255,255,.13)}.leader-feature:after{inset:auto 20px 0}.leader-feature-top{padding-bottom:15px}.leader-identity{margin:34px 0 24px}.leader-avatar{width:60px;height:60px;border-radius:17px}.leader-identity-copy h2{font-size:36px}.leader-performance{grid-template-columns:1fr auto}.leader-score-block{position:relative;right:auto;bottom:auto;display:flex;padding:16px;text-align:left}.leader-score-block strong{display:block;font-size:52px}.leader-advantage{padding:12px}.leader-advantage strong{margin:5px 0 0}
  .ranking-panel{padding:16px 12px}.ranking-panel>header{padding:2px 7px 12px}.ranking-panel>header div{gap:20px}.ranking-row{min-height:82px;grid-template-columns:27px 34px minmax(0,1fr) auto;gap:9px;padding:12px 10px;border-radius:14px}.team-signal{width:31px;height:31px}.ranking-team h3{font-size:14px}.ranking-team>div:first-child span{display:none}.ranking-score{min-width:45px;font-size:29px}.ranking-panel>footer{padding:19px 7px 3px}
}

@media(max-width:390px){.leaderboard-header h1{font-size:50px}.leader-feature{min-height:400px}.leader-rank small{display:none}.leader-identity{gap:12px}.leader-avatar{width:52px;height:52px}.leader-identity-copy h2{font-size:31px}.leader-score-block strong{font-size:46px}.leader-advantage{min-width:82px;padding:10px}.ranking-row{grid-template-columns:22px 29px minmax(0,1fr) auto;gap:7px}.team-signal{width:28px;height:28px}.ranking-team h3{font-size:13px}.ranking-score{font-size:26px}}
@media(prefers-reduced-motion:reduce){.leaderboard-status>span i,.leader-feature:after,.ranking-row,.ranking-progress i{animation:none;opacity:1;transform:none}}

/* Shared website-green percentage pill for every scoreboard surface. */
.score-percentage{width:100%;min-width:0;display:grid;grid-template-columns:minmax(72px,1fr) auto;gap:9px;align-items:center}
.score-percentage-track{position:relative;display:block;height:30px;overflow:hidden;border-radius:999px;background:#103d22;box-shadow:inset 0 0 0 1px rgba(78,232,131,.2),0 0 18px rgba(78,232,131,.06)}
.score-percentage-track i{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#24ad52,#4ee883);box-shadow:0 0 18px rgba(78,232,131,.4);transform-origin:left;animation:scorePercentageIn 1s cubic-bezier(.2,.8,.2,1) both;transition:width .38s cubic-bezier(.2,.75,.2,1)}
.score-percentage>strong{min-width:43px;color:#fff;font: 500 20px/1 "Ubuntu", sans-serif;letter-spacing:-.04em;text-align:right}
.score-dual-bar{position:relative;display:block;width:100%;height:16px;flex:0 0 auto;overflow:hidden;border:1px solid rgba(112,245,145,.22);border-radius:999px;background:linear-gradient(90deg,#176f37,#0c4a27);box-shadow:inset 0 1px 2px rgba(255,255,255,.08),0 6px 18px rgba(0,0,0,.2)}
.score-dual-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#27bd58,#62ec83);box-shadow:4px 0 14px rgba(78,232,131,.36);transform-origin:left;animation:scorePercentageIn 1s cubic-bezier(.2,.8,.2,1) both;transition:width .38s cubic-bezier(.2,.75,.2,1)}
.leader-score-bar{position:relative;z-index:1;margin-top:16px}
.ranking-score-bar{height:16px;margin-top:9px}
.leader-score-percentage{position:relative;z-index:1;margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.13)}
.leader-score-percentage .score-percentage-track{height:24px}
.leader-score-percentage>strong{color:#9cf4b3}
.ranking-progress.score-percentage{height:auto;margin-top:9px;overflow:visible;background:none}
.ranking-progress .score-percentage-track{height:24px}
.ranking-progress .score-percentage-track i{box-shadow:0 0 14px rgba(78,232,131,.35)}
.admin-standing-team{min-width:0;display:grid;gap:6px}
.admin-standing-team>span{overflow:hidden;color:#fff;font-size:10px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}
.admin-live-standings article{min-height:68px;grid-template-columns:24px 8px minmax(0,1fr) auto}
.admin-live-standings article>i{height:32px}
.admin-live-standings .score-percentage{gap:6px}
.admin-live-standings .score-percentage-track{height:18px}
.admin-live-standings .score-percentage>strong{min-width:32px;font-size:14px}
.score-editor h2{margin-bottom:14px}
.score-editor-percentage{margin-bottom:18px}
@keyframes scorePercentageIn{from{transform:scaleX(0)}}
@media(max-width:760px){.leader-feature{min-height:350px;padding-bottom:70px}.leader-score-block{bottom:80px}.leader-score-percentage{position:absolute;left:20px;right:20px;bottom:20px;width:auto;margin:0;padding:0;border:0}.leader-score-percentage .score-percentage-track{height:20px}.leader-score-percentage>strong{font-size:16px}}
@media(max-width:560px){.score-percentage{gap:6px}.score-percentage-track{height:24px}.score-percentage>strong{min-width:37px;font-size:17px}.ranking-progress .score-percentage-track{height:20px}.ranking-progress .score-percentage>strong{font-size:15px}.score-editor-percentage{margin-bottom:14px}.admin-live-standings .score-percentage-track{height:17px}}
@media(prefers-reduced-motion:reduce){.score-percentage-track i,.score-dual-bar i{animation:none}}

/* Aligned admin workspace and operational website settings */
.admin-control-shell{grid-template-columns:214px minmax(0,1fr);gap:22px;max-width:1160px}
.admin-workspace-head{min-height:104px;align-items:center;margin-bottom:18px;padding:0 2px}.admin-workspace-head h1{font-size:clamp(38px,4.5vw,52px)}.admin-workspace-head>div{min-width:0}.admin-workspace-head .button{flex:none}
.program-manager{grid-template-columns:minmax(320px,.76fr) minmax(500px,1.24fr);gap:18px;align-items:start}.program-form,.program-admin-list{width:100%;border-radius:19px;background:rgba(7,15,10,.58);backdrop-filter:blur(14px)}.program-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;padding:22px}.program-form label{min-width:0}.program-form input,.program-form select{height:50px;min-width:0}.program-form .button{min-height:48px}.program-list-head{min-height:74px;align-items:center;margin:0;padding:0 2px 13px}.program-admin-row{min-height:76px;grid-template-columns:56px minmax(150px,1fr) 74px 92px;gap:12px;padding:11px 4px}.program-admin-row>div:nth-child(2){min-width:0}.program-admin-row h3,.program-admin-row p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.program-admin-row .status-pill{justify-self:start}.row-actions{justify-self:end}.row-actions button{min-width:42px}.student-admin-row{grid-template-columns:64px minmax(150px,1fr) 64px 92px}
.settings-workspace{display:grid;grid-template-columns:1fr .62fr;gap:16px;align-items:start;padding-bottom:35px}.settings-card{position:relative;overflow:hidden;padding:22px;border:1px solid rgba(255,255,255,.14);border-radius:20px;background:linear-gradient(145deg,rgba(7,17,11,.7),rgba(5,11,8,.42));box-shadow:0 22px 60px rgba(0,0,0,.2);backdrop-filter:blur(15px);animation:settingsCardIn .55s cubic-bezier(.2,.8,.2,1) both}.settings-card:nth-child(2){animation-delay:.08s}.settings-card:nth-child(3){animation-delay:.16s}.settings-card>header{display:flex;align-items:center;gap:12px;margin-bottom:20px}.settings-card>header>span{width:35px;height:35px;display:grid;place-items:center;flex:none;border:1px solid rgba(78,232,131,.24);border-radius:10px;background:rgba(78,232,131,.08);color:#79ed9b;font-size:9px;font-weight:900}.settings-card>header .overline{margin-bottom:3px}.settings-card h2{margin:0;color:#fff;font-size:25px}.settings-card>header>.setting-switch{margin-left:auto}.settings-video-card{grid-row:span 2}.settings-fields{display:grid;gap:14px}.settings-fields.two-columns{grid-template-columns:1.4fr .8fr}.settings-fields label{min-width:0;display:grid;gap:8px}.settings-fields label>span{display:flex;justify-content:space-between;color:rgba(255,255,255,.6);font-size:9px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.settings-fields label>span b{color:#8ce094}.settings-fields input:not([type=range]){width:100%;height:50px;padding:0 13px;border:1px solid rgba(255,255,255,.13);border-radius:11px;outline:0;background:rgba(255,255,255,.045);color:#fff}.settings-fields input:not([type=range]):focus{border-color:#4ee883;box-shadow:0 0 0 4px rgba(78,232,131,.08)}.settings-fields small{color:rgba(255,255,255,.35);font-size:8px;line-height:1.5}.settings-fields input[type=range]{width:100%;accent-color:#4ee883;cursor:pointer}
.video-setting-preview{position:relative;height:178px;overflow:hidden;margin-bottom:18px;border:1px solid rgba(255,255,255,.14);border-radius:15px;background:#071009}.video-setting-preview video{width:100%;height:100%;object-fit:cover}.video-setting-preview>div{position:absolute;inset:0;background:#000;pointer-events:none}.video-setting-preview>span{position:absolute;left:12px;bottom:11px;padding:6px 9px;border:1px solid rgba(255,255,255,.15);border-radius:99px;background:rgba(4,9,6,.72);color:#a8f5bc;font-size:8px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;backdrop-filter:blur(8px)}
.settings-switch-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:17px}.setting-switch{display:flex;align-items:center;gap:10px;min-width:0;cursor:pointer}.setting-switch>input{position:absolute;opacity:0;pointer-events:none}.setting-switch>i{position:relative;width:38px;height:21px;flex:none;border:1px solid rgba(255,255,255,.16);border-radius:99px;background:rgba(255,255,255,.09);transition:.25s}.setting-switch>i b{position:absolute;width:15px;height:15px;left:2px;top:2px;border-radius:50%;background:rgba(255,255,255,.65);transition:.25s}.setting-switch>input:checked+i{border-color:rgba(78,232,131,.5);background:rgba(78,232,131,.22)}.setting-switch>input:checked+i b{transform:translateX(17px);background:#4ee883;box-shadow:0 0 12px rgba(78,232,131,.55)}.setting-switch>span{min-width:0;display:grid}.setting-switch strong{color:#fff;font-size:10px}.setting-switch small{margin-top:2px;color:rgba(255,255,255,.38);font-size:8px;line-height:1.35}
.settings-publishing-card>.setting-switch{min-height:64px;padding:12px;border:1px solid rgba(255,255,255,.1);border-radius:13px;background:rgba(255,255,255,.03)}.settings-savebar{grid-column:1/-1;position:sticky;bottom:12px;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 16px;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:rgba(7,14,10,.88);box-shadow:0 18px 55px rgba(0,0,0,.38);backdrop-filter:blur(18px);animation:settingsCardIn .55s .22s cubic-bezier(.2,.8,.2,1) both}.settings-savebar>div{display:grid}.settings-savebar strong{color:#fff;font-size:12px}.settings-savebar span{color:rgba(255,255,255,.4);font-size:9px}.settings-savebar .button{min-width:190px}.settings-savebar .button:disabled{cursor:wait;opacity:.65}
@keyframes settingsCardIn{from{opacity:0;transform:translateY(14px)}}
.site-motion-disabled *,.site-motion-disabled *:before,.site-motion-disabled *:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
@media(max-width:980px) and (min-width:760px){.admin-control-shell{grid-template-columns:180px minmax(0,1fr);gap:14px}.program-manager{grid-template-columns:1fr}.program-form{position:relative;top:auto}.settings-workspace{grid-template-columns:1fr}.settings-video-card{grid-row:auto}}
@media(max-width:759px){.admin-sidebar nav{grid-template-columns:repeat(5,1fr)}.admin-sidebar nav button span{font-size:7px}.admin-workspace-head{min-height:auto}.admin-workspace-head h1{font-size:35px}.program-manager{grid-template-columns:1fr}.program-form{position:relative;top:auto}.settings-workspace{grid-template-columns:1fr;padding-bottom:90px}.settings-video-card{grid-row:auto}.settings-fields.two-columns,.settings-switch-grid{grid-template-columns:1fr}.settings-card{padding:17px;border-radius:17px}.settings-card>header{align-items:flex-start}.settings-card>header>.setting-switch{margin-top:7px}.video-setting-preview{height:150px}.settings-savebar{bottom:82px;padding:11px}.settings-savebar>div{display:none}.settings-savebar .button{width:100%;min-width:0}.program-admin-row{grid-template-columns:48px minmax(0,1fr) auto;padding:12px 2px}.program-admin-row .status-pill{grid-column:2}.program-admin-row .row-actions{grid-column:3;grid-row:1/3}.student-admin-row{grid-template-columns:58px minmax(0,1fr) auto}}

/* Keep each non-home page image continuous behind the top edge and navbar. */
@media(min-width:561px){
  body.page-scoreboard,
  body.page-schedule,
  body.page-participants,
  body.page-review,
  body.page-admin{
    position:relative;
    isolation:isolate;
    background:#050806;
  }
  body.page-scoreboard::before,
  body.page-schedule::before,
  body.page-participants::before,
  body.page-review::before,
  body.page-admin::before{
    content:"";
    position:fixed;
    inset:0;
    z-index:-1;
    width:auto;
    transform:none;
    border-radius:0;
    background:
      linear-gradient(180deg,rgba(4,6,5,.3),rgba(3,5,4,.68)),
      linear-gradient(90deg,rgba(4,7,5,.42),rgba(4,7,5,.14) 58%,rgba(3,5,4,.44)),
      var(--page-image) center/cover no-repeat;
    filter:none;
  }
}

/* Next-generation motion system: cinematic entrances with lightweight depth. */
.motion-aurora{
  position:fixed;
  inset:0;
  z-index:1;
  overflow:hidden;
  pointer-events:none;
  opacity:.5;
  mix-blend-mode:screen;
}
.motion-aurora i{
  position:absolute;
  width:min(48vw,620px);
  aspect-ratio:1;
  border-radius:50%;
  background:radial-gradient(circle,rgba(49,224,101,.13),rgba(49,224,101,0) 68%);
  filter:blur(16px);
  will-change:transform;
}
.motion-aurora i:first-child{top:-22%;right:-12%;animation:nextgenAuroraOne 16s ease-in-out infinite alternate}
.motion-aurora i:last-child{left:-18%;bottom:-30%;background:radial-gradient(circle,rgba(65,139,255,.1),rgba(65,139,255,0) 69%);animation:nextgenAuroraTwo 20s ease-in-out infinite alternate}
body>main,body>.site-header,body>.site-footer,body>.mobile-tabbar{position:relative;z-index:2}
.motion-scroll-progress,
.scroll-back-to-top {
  display: none !important;
}
.scroll-back-to-top svg {
  width: 22px;
  height: 22px;
  transition: transform 0.25s ease;
}
.scroll-back-to-top:hover svg {
  transform: translateY(-2px);
}
@media(max-width:560px) {
  .scroll-back-to-top {
    right: 16px;
    bottom: 86px;
    width: 40px;
    height: 40px;
  }
  .scroll-back-to-top svg {
    width: 18px;
    height: 18px;
  }
}
html.nextgen-motion-ready .motion-item{
  --motion-x:0px;
  --motion-delay:0ms;
  opacity:0;
  transform:perspective(1100px) translate3d(var(--motion-x),34px,0) rotateX(5deg) scale(.975);
  transform-origin:50% 100%;
  filter:blur(9px);
  clip-path:inset(0 0 10% 0 round 14px);
  transition:
    opacity .72s cubic-bezier(.16,1,.3,1) var(--motion-delay),
    transform .9s cubic-bezier(.16,1,.3,1) var(--motion-delay),
    filter .68s ease var(--motion-delay),
    clip-path .9s cubic-bezier(.16,1,.3,1) var(--motion-delay),
    border-color .28s ease,
    box-shadow .28s ease;
  will-change:opacity,transform,filter;
}
html.nextgen-motion-ready .motion-item.motion-in{
  opacity:1;
  transform:perspective(1100px) translate3d(0,0,0) rotateX(0) scale(1);
  filter:blur(0);
  clip-path:inset(0 0 0 0 round 0);
  will-change:auto;
}
html.nextgen-motion-ready .motion-depth.motion-in{
  --tilt-x:0deg;
  --tilt-y:0deg;
  transform:perspective(1100px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateZ(0);
  background-image:radial-gradient(circle at var(--glow-x,50%) var(--glow-y,50%),rgba(116,242,148,.08),transparent 38%);
  transition:transform .22s ease-out,border-color .28s ease,box-shadow .28s ease;
  will-change:transform;
}
html.nextgen-motion-ready .motion-depth.motion-in:hover{
  border-color:rgba(112,240,144,.3);
  box-shadow:0 28px 75px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.07);
}
.button,.site-nav a,.mobile-tabbar a{position:relative;overflow:hidden}
.motion-ripple{
  position:absolute!important;
  z-index:0!important;
  width:12px!important;
  height:12px!important;
  margin:-6px 0 0 -6px!important;
  border:0!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.32)!important;
  pointer-events:none!important;
  transform:scale(0);
  animation:nextgenRipple .58s ease-out forwards!important;
}
.button>*:not(.motion-ripple),.site-nav a>*:not(.motion-ripple),.mobile-tabbar a>*:not(.motion-ripple){position:relative;z-index:1}
@keyframes nextgenAuroraOne{to{transform:translate3d(-18vw,16vh,0) scale(1.18)}}
@keyframes nextgenAuroraTwo{to{transform:translate3d(22vw,-18vh,0) scale(1.24)}}
@keyframes nextgenRipple{to{transform:scale(22);opacity:0}}

@media(max-width:700px){
  .motion-aurora{opacity:.34}
  .motion-aurora i{width:90vw;filter:blur(24px)}
  html.nextgen-motion-ready .motion-item{
    transform:translate3d(0,24px,0) scale(.985);
    filter:blur(6px);
    clip-path:inset(0 0 8% 0 round 12px);
  }
  html.nextgen-motion-ready .motion-item.motion-in,
  html.nextgen-motion-ready .motion-depth.motion-in{
    transform:translate3d(0,0,0) scale(1);
  }
}
html.performance-lite .motion-aurora,
html.performance-lite .motion-scroll-progress,
.site-motion-disabled .motion-aurora,
.site-motion-disabled .motion-scroll-progress{display:none!important}
html.performance-lite .motion-item,
.site-motion-disabled .motion-item{
  opacity:1!important;
  transform:none!important;
  filter:none!important;
  clip-path:none!important;
  transition:none!important;
}
@media(prefers-reduced-motion:reduce){
  .motion-aurora,.motion-scroll-progress{display:none!important}
  html.nextgen-motion-ready .motion-item{opacity:1;transform:none;filter:none;clip-path:none;transition:none}
}

@media(max-width:560px){
  body.page-home .welcome-chip{margin-bottom:14px}
  body.page-home .hero-motion{inset:60px -40px 0}.hero-motion span:nth-child(1){width:230px;height:230px;right:-70px}.hero-motion span:nth-child(3){display:none}
  body.page-home .home-live-panel{animation-duration:8s}
  .festival-marquee>div{gap:18px;padding-block:10px;font-size:9px;animation-duration:13s}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* Calm homepage presentation: no decorative or looping motion. */
body.page-home #react-root,body.page-home .hero-title *,body.page-home .hero-ayah *{animation:none!important}

@media (max-width: 560px) {
  .admin-login-shell {
    min-height: calc(100svh - 106px);
    padding: 88px 2px 76px;
  }

  .admin-login-card {
    padding: 22px;
    border-radius: 16px;
  }

  .admin-login-card img {
    width: 84px;
  }

  .admin-login-form .button {
    width: 100%;
    min-height: 42px;
    border-radius: 8px;
  }
}

/* Integrated festival access panel */
body.page-home .feature-section{padding:70px 0 34px}
body.page-home .section-heading{display:grid;grid-template-columns:1fr minmax(250px,.55fr);gap:32px;align-items:end;margin-bottom:24px;padding:0 4px}
body.page-home .section-heading h2{font: 700 clamp(30px,4.5vw,48px)/1.05 "Ubuntu", sans-serif;letter-spacing:-.015em}
body.page-home .section-heading>p{max-width:380px;margin:0;color:rgba(255,255,255,.58);font-size:12px;line-height:1.65}
body.page-home .feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;overflow:hidden;padding:1px;border:1px solid rgba(255,255,255,.14);border-radius:22px;background:rgba(255,255,255,.12);box-shadow:0 28px 80px rgba(0,0,0,.24)}
body.page-home .feature-card{min-height:158px;display:grid;grid-template-columns:52px minmax(0,1fr) 30px;gap:18px;align-items:center;padding:25px;border:0;border-radius:0;background:linear-gradient(135deg,rgba(6,14,9,.68),rgba(5,10,7,.46));box-shadow:none;opacity:0;animation:featureAccessIn .7s cubic-bezier(.2,.8,.2,1) forwards}
body.page-home .feature-card:before{content:"";position:absolute;inset:auto 0 0;width:0;height:2px;background:#4ee883;box-shadow:0 0 16px #4ee883;transition:width .4s cubic-bezier(.2,.8,.2,1)}
body.page-home .feature-card:hover{z-index:1;transform:none;background:linear-gradient(135deg,rgba(9,29,16,.82),rgba(5,14,9,.58))}body.page-home .feature-card:hover:before{width:100%}
.feature-card-marker{height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between}.feature-card-marker>span{display:block!important;min-width:0!important;height:auto!important;margin:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;color:rgba(255,255,255,.3)!important;font-size:9px!important;font-weight:800;letter-spacing:.12em}.feature-card-marker .card-icon{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(78,232,131,.2);border-radius:12px;background:rgba(78,232,131,.09);color:#75ed97;transition:transform .35s,background .35s}.feature-card:hover .card-icon{transform:rotate(-5deg) scale(1.08);background:rgba(78,232,131,.16)}
.feature-card-copy{min-width:0}.feature-card-copy h3{margin:0 0 8px;color:#fff;font-size:19px}.feature-card-copy p{max-width:34ch;margin:0;color:rgba(255,255,255,.5);font-size:11px;line-height:1.55}.feature-card-arrow{width:28px;height:28px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.14);border-radius:50%;color:rgba(255,255,255,.5);font-size:13px;transition:transform .3s,color .3s,border-color .3s}.feature-card:hover .feature-card-arrow{transform:translate(2px,-2px);border-color:rgba(78,232,131,.45);color:#86f0a3}
@keyframes featureAccessIn{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:650px){body.page-home .feature-section{padding-top:50px}body.page-home .section-heading{grid-template-columns:1fr;gap:13px;padding:0 3px}body.page-home .section-heading>p{font-size:11px}body.page-home .feature-grid{grid-template-columns:1fr;border-radius:17px}body.page-home .feature-card{min-height:124px;grid-template-columns:42px minmax(0,1fr) 26px;gap:12px;padding:17px}.feature-card-marker .card-icon{width:36px;height:36px}.feature-card-copy h3{font-size:16px}.feature-card-copy p{font-size:10px}}

/* Precisely aligned desktop control center */
@media(min-width:981px){
  body.page-admin .site-header{width:min(1120px,calc(100% - 72px));min-height:60px;grid-template-columns:minmax(270px,1fr) auto minmax(180px,1fr);margin-top:14px;padding:7px 10px;border-radius:13px}
  body.page-admin .site-logo{gap:11px}body.page-admin .site-logo img{width:42px;height:42px}body.page-admin .site-nav{justify-content:center;gap:3px}body.page-admin .site-nav a{min-width:72px;padding:9px 10px}body.page-admin .festival-date{min-width:112px}
  body.page-admin main{width:min(1120px,calc(100% - 72px));overflow:visible}
  body.page-admin .admin-control-shell{width:100%;max-width:none;grid-template-columns:204px minmax(0,1fr);gap:22px;padding-top:76px}
  body.page-admin .admin-sidebar{top:92px;width:204px;height:calc(100vh - 190px);min-height:470px;max-height:650px;padding:15px;border-radius:18px}
  body.page-admin .admin-side-brand{min-height:65px;padding:3px 3px 17px}body.page-admin .admin-side-brand img{width:39px;height:39px}body.page-admin .admin-sidebar nav{gap:6px;margin-top:16px}body.page-admin .admin-sidebar nav button{min-height:43px;padding:0 10px;border-radius:10px}body.page-admin .admin-identity{min-height:62px;padding:10px}
  body.page-admin .admin-workspace{width:100%}body.page-admin .admin-workspace-head{min-height:98px;margin-bottom:18px;padding:0 2px}body.page-admin .admin-workspace-head h1{font-size:50px;line-height:.94}body.page-admin .admin-workspace-head p:last-child{margin-top:10px;font-size:12px}
  body.page-admin .active-event-card{min-height:150px;padding:23px;border-radius:19px}body.page-admin .overview-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}body.page-admin .overview-metric{min-width:0;min-height:124px;padding:16px}body.page-admin .overview-bento{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
}
@media(min-width:760px) and (max-width:980px){body.page-admin .site-header{width:calc(100% - 36px)}body.page-admin main{width:calc(100% - 36px)}body.page-admin .admin-control-shell{grid-template-columns:178px minmax(0,1fr)}body.page-admin .admin-sidebar{width:178px;padding:12px}body.page-admin .admin-workspace-head h1{font-size:42px}}

@media(min-width:981px){
  body.page-admin .site-header{width:calc(100% - 20px);max-width:none;margin:14px 10px 0}
  body.page-admin main{width:calc(100% - 20px);max-width:none;margin-left:10px;margin-right:10px}
  body.page-admin .admin-control-shell{margin-left:0;margin-right:0}
}

/* Restored clean four-card festival navigation. */
body.page-home .feature-section{padding:48px 0 30px}
body.page-home .feature-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;overflow:visible;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}
body.page-home .feature-card{min-height:150px;display:block;padding:19px;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:rgba(6,14,9,.56);box-shadow:0 16px 42px rgba(0,0,0,.18);opacity:1;animation:none;backdrop-filter:blur(8px);transition:transform .25s,border-color .25s,background .25s}
body.page-home .feature-card:before{display:none}
body.page-home .feature-card:hover{transform:translateY(-4px);border-color:rgba(78,232,131,.42);background:rgba(8,24,13,.7)}
body.page-home .feature-card .card-icon{width:42px;height:42px;display:grid;place-items:center;margin:0 0 17px;border:1px solid rgba(78,232,131,.22);border-radius:11px;background:rgba(78,232,131,.1);color:#7aed99;box-shadow:none}
body.page-home .feature-card h3{margin:0 0 8px;color:#fff;font-size:17px}
body.page-home .feature-card p{margin:0;color:rgba(255,255,255,.52);font-size:11px;line-height:1.55}
@media(max-width:820px){body.page-home .feature-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:430px){body.page-home .feature-grid{grid-template-columns:1fr}body.page-home .feature-card{min-height:120px}}

/* Correctly isolated and centered first-visit name dialog. */
body:has(.signup-gate){overflow:hidden}
body:has(.signup-gate) .site-header,body:has(.signup-gate) .site-footer,body:has(.signup-gate) .mobile-tabbar{display:none!important}
body:has(.signup-gate) main{position:fixed;inset:0;z-index:4500;width:100%!important;max-width:none!important;height:100svh;margin:0!important;padding:0!important;overflow:hidden}
body:has(.signup-gate) #react-root{width:100%;height:100%;animation:none}
.signup-gate{inset:0;z-index:4600;padding:20px;background:#061009}
.signup-backdrop{background:linear-gradient(90deg,rgba(4,10,6,.9),rgba(4,10,6,.58)),url("../kauzariyya4.webp") center/cover no-repeat;filter:saturate(.78) brightness(.78)}
.signup-card{width:min(500px,calc(100vw - 40px));max-height:calc(100svh - 40px);overflow:auto;padding:34px 38px;border-radius:22px;background:rgba(7,15,10,.8);box-shadow:0 30px 90px rgba(0,0,0,.48);backdrop-filter:blur(18px)}
.signup-brand{margin-bottom:25px}.signup-brand img{width:42px;height:42px}.signup-card .overline{margin-bottom:10px}.signup-card h1{font-size:58px;line-height:.9}.signup-card>p:not(.overline){margin:17px 0;font-size:13px;line-height:1.55}.signup-card form{margin-top:21px}.signup-card input{height:52px}.signup-card .button{min-height:48px}.signup-card>small{margin-top:13px}
@media(max-width:560px){.signup-gate{padding:12px}.signup-card{width:min(100%,440px);max-height:calc(100svh - 24px);padding:25px 21px;border-radius:19px}.signup-brand{margin-bottom:20px}.signup-card h1{font-size:45px}.signup-card>p:not(.overline){font-size:12px}.signup-card input{height:50px}}

/* Compact homepage flow and keep account controls at the navbar edge. */
@media (min-width: 760px) {
  body.page-home .home-hero {
    min-height: 0;
    padding: 58px 0 20px;
  }

  body.page-home .feature-section {
    padding-top: 16px;
  }

  body.page-home .section-heading {
    margin-bottom: 16px;
  }

  body.page-home .section-heading h2 {
    font-size: clamp(28px, 3.4vw, 40px);
  }
}

@media (max-width: 759px) {
  .site-header {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .header-account-actions {
    display: flex;
    align-items: center;
    justify-self: end;
  }

  .header-account-actions .festival-date {
    display: none;
  }

  .visitor-logout {
    min-width: 0;
    height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    padding: 0 10px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 9px;
    background: rgba(255,255,255,.07);
    color: rgba(255,255,255,.82);
    font-size: 9px;
    font-weight: 900;
    cursor: pointer;
  }

  .visitor-logout span {
    color: #75ed97;
    font-size: 13px;
  }
}

@media (min-width: 561px) and (max-width: 759px) {
  .site-header {
    grid-template-columns: 42px minmax(0, 1fr) auto;
    gap: 8px;
  }

  .site-logo span {
    display: none;
  }

  .site-nav {
    position: static;
    display: flex;
    min-width: 0;
    gap: 2px;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 0;
    background: none;
    box-shadow: none;
  }

  .site-nav a {
    min-width: 0;
    flex: 1 1 auto;
    padding: 8px 5px;
    border-radius: 7px;
    font-size: 10px;
  }
}

@media (max-width: 560px) {
  body.page-home .home-hero {
    min-height: 0;
    justify-content: flex-start;
    padding: 92px 0 18px;
  }

  body.page-home .feature-section {
    padding: 14px 2px 92px;
  }

  body.page-home .section-heading {
    margin-bottom: 14px;
  }

  body.page-home .section-heading .overline {
    margin-bottom: 6px;
  }

  body.page-home .section-heading h2 {
    font-size: 25px;
    line-height: 1;
  }

  body.page-home .section-heading > p {
    display: none;
  }

  body.page-home .feature-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }

  body.page-home .feature-card {
    min-height: 132px;
    padding: 13px;
  }

  body.page-home .feature-card .card-icon {
    width: 34px;
    height: 34px;
    margin-bottom: 13px;
  }

  body.page-home .feature-card h3 {
    font-size: 14px;
  }

  body.page-home .feature-card p {
    font-size: 9px;
    line-height: 1.4;
  }
}

@media (max-width: 350px) {
  .site-logo small {
    display: none;
  }

  .site-logo b {
    font-size: 11px;
  }

  .visitor-logout {
    padding-inline: 8px;
  }
}

/* Detached logout control: visually separate from the navigation surface. */
.visitor-logout-floating {
  position: fixed;
  z-index: 85;
  top: 22px;
  right: 10px;
  left: auto;
  height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 14px 0 8px;
  border: 1px solid rgba(117,237,151,.28);
  border-radius: 999px;
  background: linear-gradient(135deg,rgba(24,53,33,.94),rgba(7,15,10,.92));
  box-shadow: 0 12px 32px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.08);
  color: rgba(255,255,255,.88);
  font-size: 9px;
  font-weight: 900;
  cursor: pointer;
  backdrop-filter: blur(16px);
  transition: border-color .2s, background .2s, color .2s, transform .2s;
}

.visitor-logout-floating:hover {
  transform: translateY(-1px);
  border-color: rgba(78,232,131,.45);
  background: rgba(18,44,26,.9);
  color: #fff;
}

.visitor-logout-floating .logout-icon {
  width: 24px;
  height: 24px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(78,232,131,.13);
  color: #75ed97;
  font-size: 12px;
}

body:has(.signup-gate) .visitor-logout-floating {
  display: none !important;
}

/* The live schedule remains data-driven without looking selected. */
.schedule-row.live {
  border-left: 0;
  background: transparent;
}

/* Welcome-dialog headline treatment shared by desktop and mobile. */
.signup-card h1 {
  display: grid;
  gap: 0;
  color: #fff;
  font-size: clamp(52px, 7vw, 72px);
  font-weight: 900;
  line-height: .82;
  letter-spacing: -.035em;
}

.signup-card h1 span,
.signup-card h1 em {
  display: block;
}

.signup-card h1 em {
  color: #55dc72;
}

@media (max-width: 1270px) {
  .visitor-logout-floating {
    top: 78px;
    right: max(20px, calc(50% - 196px));
    left: auto;
  }
}

body.page-admin .visitor-logout-floating {
  top: 84px;
}

@media (max-width: 560px) {
  body:not(:has(.signup-gate)) main {
    padding-top: 42px;
  }

  body.page-home:not(:has(.signup-gate)) .home-hero {
    padding-top: 92px;
  }

  .visitor-logout-floating {
    top: 88px;
    right: max(22px, calc(50% - 173px));
    left: auto;
    height: 36px;
    padding: 0 12px 0 7px;
  }

  body.page-admin .visitor-logout-floating {
    top: 88px;
  }

  .signup-card h1 {
    font-size: clamp(44px, 14vw, 58px);
    line-height: .84;
  }
}

/* Useful content fills the former gap between the ayah and access cards. */
body.page-home .section-heading {
  display: none;
}

.festival-status-strip {
  min-height: 76px;
  display: grid;
  grid-template-columns: minmax(260px,1.25fr) minmax(330px,.75fr);
  gap: 1px;
  overflow: hidden;
  margin-bottom: 12px;
  padding: 1px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 17px;
  background: rgba(255,255,255,.1);
  box-shadow: 0 18px 48px rgba(0,0,0,.2);
  backdrop-filter: blur(13px);
}

.festival-status-live {
  min-width: 0;
  display: grid;
  grid-template-columns: 10px minmax(0,1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 14px 17px;
  background: linear-gradient(110deg,rgba(12,43,22,.78),rgba(5,15,9,.68));
}

.festival-status-live > i {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #4ee883;
  box-shadow: 0 0 0 6px rgba(78,232,131,.1),0 0 18px rgba(78,232,131,.65);
}

.festival-status-live > span {
  min-width: 0;
  display: grid;
  gap: 3px;
}

.festival-status-live small,
.festival-status-metrics small {
  color: rgba(255,255,255,.46);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.festival-status-live strong {
  overflow: hidden;
  color: #fff;
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.festival-status-live time {
  padding: 6px 8px;
  border: 1px solid rgba(78,232,131,.2);
  border-radius: 8px;
  color: #8cf0a8;
  font-size: 10px;
  font-weight: 900;
}

.festival-status-metrics {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  background: rgba(4,10,6,.72);
}

.festival-status-metrics > span {
  min-width: 0;
  display: grid;
  place-content: center;
  gap: 3px;
  padding: 10px;
  border-left: 1px solid rgba(255,255,255,.1);
  text-align: center;
}

.festival-status-metrics strong {
  color: #fff;
  font-size: 19px;
  line-height: 1;
}

body.page-home .feature-section {
  padding-top: 0;
}

@media (max-width: 700px) {
  .festival-status-strip {
    grid-template-columns: 1fr;
    margin-bottom: 10px;
    border-radius: 15px;
  }

  .festival-status-live {
    min-height: 62px;
    padding: 11px 14px;
  }

  .festival-status-metrics {
    min-height: 56px;
  }

  .festival-status-metrics strong {
    font-size: 17px;
  }

  body.page-home .feature-section {
    padding-top: 0;
  }
}

/* Mobile header action and a complete, content-rich home footer. */
.mobile-home-footer {
  display: none;
}

@media (max-width: 560px) {
  body:not(:has(.signup-gate)) main {
    padding-top: 0;
  }

  body.page-home .site-header,
  .site-header {
    padding-right: 88px;
  }

  .visitor-logout-floating,
  body.page-admin .visitor-logout-floating {
    top: 27px;
    right: max(25px, calc(50% - 169px));
    left: auto;
    height: 34px;
    padding: 0 10px 0 6px;
    border-color: rgba(78,232,131,.3);
    background: linear-gradient(135deg,rgba(25,63,38,.95),rgba(8,19,12,.94));
    box-shadow: 0 8px 22px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.08);
    font-size: 8px;
  }

  .visitor-logout-floating span {
    width: 23px;
    height: 23px;
    font-size: 11px;
  }

  .festival-status-strip:not(.mobile-footer-pulse) {
    display: none;
  }

  body.page-home .feature-section {
    padding-top: 0;
    padding-bottom: 14px;
  }

  body.page-home .home-footer {
    display: none;
  }

  .mobile-home-footer {
    position: relative;
    display: grid;
    gap: 16px;
    overflow: hidden;
    margin: 0 2px 86px;
    padding: 19px 16px 17px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 19px;
    background: linear-gradient(150deg,rgba(8,27,15,.86),rgba(4,11,7,.75));
    box-shadow: 0 22px 56px rgba(0,0,0,.32);
    backdrop-filter: blur(16px);
  }

  .mobile-home-footer::after {
    content: "";
    position: absolute;
    right: -65px;
    top: -75px;
    width: 170px;
    height: 170px;
    border: 28px solid rgba(78,232,131,.045);
    border-radius: 50%;
    pointer-events: none;
  }

  .mobile-footer-brand {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    gap: 10px;
  }

  .mobile-footer-brand img {
    width: 35px;
    height: 35px;
    padding: 5px;
    border-radius: 10px;
    background: #fff;
  }

  .mobile-footer-brand span {
    display: grid;
    gap: 2px;
  }

  .mobile-footer-brand small {
    color: rgba(255,255,255,.42);
    font-size: 7px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
  }

  .mobile-footer-brand strong {
    color: #fff;
    font-size: 13px;
  }

  .mobile-home-footer > h2 {
    position: relative;
    z-index: 1;
    margin: 2px 0 0;
    color: #fff;
    font-size: 28px;
    line-height: .96;
  }

  .mobile-home-footer > h2 em {
    color: #63e886;
  }

  .mobile-footer-pulse {
    position: relative;
    z-index: 1;
    width: 100%;
    margin: 0;
    border-radius: 13px;
    box-shadow: none;
  }

  .mobile-footer-pulse .festival-status-live {
    min-height: 58px;
  }

  .mobile-footer-links {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 7px;
  }

  .mobile-footer-links a {
    min-width: 0;
    min-height: 39px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    padding: 0 11px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 10px;
    background: rgba(255,255,255,.05);
    color: #fff;
    font-size: 9px;
    font-weight: 900;
  }

  .mobile-footer-links a span {
    color: #75ed97;
    font-size: 13px;
  }

  .mobile-footer-note {
    position: relative;
    z-index: 1;
    padding-top: 12px;
    border-top: 1px solid rgba(255,255,255,.1);
    color: rgba(255,255,255,.38);
    font-size: 7px;
    font-weight: 900;
    letter-spacing: .13em;
    text-align: center;
    text-transform: uppercase;
  }
}

/* Final homepage cascade guard: legacy page rules above must not reshape v2. */
body.page-home::before {
  background:
    linear-gradient(90deg,rgba(2,8,4,.91) 0%,rgba(3,10,6,.73) 48%,rgba(3,9,5,.61) 100%),
    linear-gradient(180deg,rgba(2,7,4,.12),rgba(2,7,4,.76)) !important;
}
body.page-home main{max-width:1240px;padding-inline:28px;overflow:visible}
body.page-home .site-footer{display:none}
body.page-home .site-header{width:min(1184px,calc(100% - 56px));min-height:66px;grid-template-columns:minmax(250px,1fr) auto minmax(250px,1fr);margin:18px auto 0;padding:9px 12px;border-radius:16px;background:rgba(4,11,7,.68)}
body.page-home .visitor-logout-floating{top:31px;right:max(42px,calc(50% - 575px))}

@media(max-width:980px){
  body.page-home .site-header{width:calc(100% - 36px);grid-template-columns:1fr auto}
  body.page-home .site-nav{position:absolute;top:74px;left:0;right:0;display:none;padding:9px;background:rgba(4,11,7,.96)}
  body.page-home .site-nav.open{display:grid}
  body.page-home .menu-toggle{display:grid}
  body.page-home .visitor-logout-floating{right:86px}
}

@media(max-width:700px){
  body.page-home::before{background:linear-gradient(180deg,rgba(2,8,4,.5),rgba(2,8,4,.83))!important}
  body.page-home main{max-width:100%;padding:0 16px;overflow:visible}
  body.page-home .site-header{top:10px;width:calc(100% - 24px);min-height:59px;margin:10px 12px 0;padding:7px 78px 7px 8px;border-radius:16px}
  body.page-home .menu-toggle{display:none}
  body.page-home .visitor-logout-floating{top:23px;right:22px;left:auto;height:34px}
}

@media(max-width:370px){body.page-home main{padding-inline:12px}}

/* Transparent editorial story — the homepage video remains the backdrop. */
.home-story {
  min-height: 720px;
  display: grid;
  grid-template-columns: minmax(300px,.78fr) minmax(420px,1fr);
  gap: clamp(54px,8vw,118px);
  align-items: center;
  padding: clamp(76px,9vw,118px) clamp(18px,4vw,54px);
  border-top: 1px solid rgba(255,255,255,.09);
  border-bottom: 1px solid rgba(255,255,255,.09);
  background: transparent;
}

.home-story-visual {
  position: relative;
  width: min(100%,430px);
  aspect-ratio: .79;
  margin: 0 auto;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 28px;
  box-shadow: 0 30px 90px rgba(0,0,0,.44);
}

.home-story-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg,rgba(1,7,3,.03) 44%,rgba(1,7,3,.75));
  pointer-events: none;
}

.home-story-visual img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  filter: saturate(.76) contrast(1.04) brightness(.78);
}

.home-story-visual figcaption {
  position: absolute;
  left: 21px;
  bottom: 18px;
  z-index: 1;
  color: rgba(255,255,255,.74);
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.home-story-content {
  max-width: 650px;
  text-shadow: 0 8px 30px rgba(0,0,0,.32);
}

.home-story-kicker {
  margin: 0 0 17px;
  color: var(--home-green-soft);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .17em;
  text-transform: uppercase;
}

.home-story-content h2 {
  margin: 0;
  color: #fff;
  font-family: "Ubuntu", sans-serif !important;
  font-size: clamp(44px,5.1vw,68px);
  font-weight: 700;
  line-height: .95;
  letter-spacing: -.06em;
}

.home-story-copy {
  max-width: 610px;
  margin: 30px 0 0;
  color: rgba(255,255,255,.58);
  font-family: "Ubuntu", sans-serif !important;
  font-size: 11px;
  line-height: 1.85;
}

.home-story-verse {
  margin: 36px 0 0;
  padding: 26px 0 0;
  border-top: 1px solid rgba(255,255,255,.14);
}

.home-story-verse p {
  margin: 0 0 7px;
  color: var(--home-green);
  font-family: "Noto Naskh Arabic",serif!important;
  font-size: clamp(27px,3vw,39px);
  line-height: 1.5;
  text-align: left;
}

.home-story-verse span,
.home-story-verse cite {
  display: block;
  color: rgba(255,255,255,.72);
  font-size: 9px;
  font-style: normal;
  font-weight: 800;
}

.home-story-verse cite {
  margin-top: 5px;
  color: rgba(255,255,255,.36);
  font-size: 7px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

@media(max-width:820px) {
  .home-story {
    min-height: auto;
    grid-template-columns: minmax(230px,.7fr) 1fr;
    gap: 34px;
    padding-inline: 0;
  }
  .home-story-content h2 { font-size: clamp(34px,5.8vw,48px); }
}

@media(max-width:620px) {
  .home-story {
    grid-template-columns: 1fr;
    gap: 36px;
    padding: 58px 0 54px;
  }
  .home-story-visual {
    width: min(100%,350px);
    border-radius: 21px;
  }
  .home-story-content h2 {
    max-width: 12ch;
    font-size: clamp(35px,10.6vw,46px);
    line-height: .98;
  }
  .home-story-copy { margin-top: 22px;font-size: 9px; }
  .home-story-verse { margin-top: 26px;padding-top: 20px; }
  .home-story-verse p { font-size: clamp(24px,7.4vw,31px); }
}

/* Two centered homepage chapters matching the supplied desktop composition. */
.home-redesign-hero {
  width: 100%;
  min-height: calc(100svh - 84px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(88px,12vh,132px) 0 clamp(64px,9vh,96px);
}

.home-redesign-copy {
  width: 100%;
  max-width: 1120px;
  margin-inline: auto;
}

.home-redesign-copy h1 {
  max-width: 980px;
  font-size: clamp(72px,8.6vw,124px);
  line-height: .9;
}

.home-redesign-copy .home-lead { max-width: 640px; }

.home-story {
  width: 100vw;
  min-height: 100svh;
  grid-template-columns: minmax(340px,448px) minmax(430px,620px);
  justify-content: center;
  gap: clamp(70px,7.2vw,112px);
  margin-left: calc(50% - 50vw);
  padding: clamp(76px,9vh,110px) max(30px,calc((100vw - 1180px)/2));
  border: 0;
  background: #f3f0e7;
  color: #0a2114;
}

.home-story-visual {
  width: 100%;
  max-width: 448px;
  aspect-ratio: .82;
  border: 0;
  border-radius: 26px;
  box-shadow: 0 30px 70px rgba(19,36,25,.17);
}

.home-story-visual img {
  filter: saturate(.72) contrast(1.08) brightness(.56);
}

.home-story-visual::after {
  background:
    linear-gradient(180deg,rgba(2,14,8,.09),rgba(2,14,8,.25)),
    linear-gradient(180deg,transparent 58%,rgba(2,12,7,.68));
}

.home-story-visual figcaption { color: rgba(255,255,255,.9); }

.home-story-content {
  max-width: 620px;
  text-shadow: none;
}

.home-story-kicker {
  margin-bottom: 20px;
  color: #67a65e;
}

.home-story-content h2 {
  color: #0b2115;
  font-size: clamp(50px,4.5vw,68px);
  line-height: .92;
}

.home-story-copy {
  margin-top: 31px;
  color: #7d837b;
  font-size: 11px;
  line-height: 1.9;
}

.home-story-verse {
  margin-top: 36px;
  padding-top: 25px;
  border-top-color: rgba(10,33,20,.15);
}

.home-story-verse p {
  color: #398442;
  font-family: "Amiri",serif!important;
  font-size: clamp(34px,3vw,44px);
  font-weight: 400;
  line-height: 1.5;
}

.home-story-verse span { color: #4e584f; }
.home-story-verse cite { color: #7b827a; }

@media(max-width:900px) {
  .home-redesign-copy h1 { font-size: clamp(66px,10vw,92px); }
  .home-story {
    grid-template-columns: minmax(280px,380px) minmax(360px,1fr);
    gap: 45px;
    padding-inline: 28px;
  }
  .home-story-content h2 { font-size: clamp(42px,5.5vw,56px); }
}

@media(max-width:700px) {
  .home-redesign-hero {
    min-height: calc(100svh - 70px);
    padding: 92px 0 64px;
  }
  .home-redesign-copy h1 {
    font-size: clamp(49px,14.2vw,68px);
    line-height: .92;
  }
}

/* Keep the story copy visible beside the decorative photo on compact screens. */
@media(max-width:700px) {
  body.page-home .home-story {
    position: relative;
    min-height: 620px;
    display: block;
    overflow: hidden;
    padding: 64px 18px 58px 72px;
  }

  body.page-home .home-story-visual {
    position: absolute;
    inset: 28px auto 28px -118px;
    z-index: 0;
    width: 180px;
    height: auto;
    margin: 0;
    border-radius: 0 22px 22px 0;
    opacity: .72;
  }

  body.page-home .home-story-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  body.page-home .home-story-content {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 470px;
    margin: 0 auto;
    opacity: 1;
    visibility: visible;
    transform: none;
  }

  body.page-home .home-story-content h2 {
    max-width: 10ch;
    font-size: clamp(32px,9.4vw,43px);
  }

  body.page-home .home-story-copy {
    max-width: 42ch;
  }
}

@media(max-width:390px) {
  body.page-home .home-story {
    min-height: 590px;
    padding: 54px 14px 50px 54px;
  }

  body.page-home .home-story-visual {
    left: -132px;
    width: 174px;
  }

  body.page-home .home-story-content h2 {
    font-size: 30px;
  }

  body.page-home .home-story-verse p {
    font-size: 27px;
  }
}

/* Final story placement: photograph left, supplied copy in the open right area. */
body.page-home .home-story {
  width: 100vw;
  min-height: 100svh;
  display: grid;
  grid-template-columns: minmax(300px,420px) minmax(420px,610px);
  justify-content: center;
  align-items: center;
  gap: clamp(54px,7vw,104px);
  margin-left: calc(50% - 50vw);
  padding: clamp(70px,9vh,104px) max(28px,calc((100vw - 1140px)/2));
  background: transparent;
  color: #fff;
}

body.page-home .home-story-visual {
  width: 100%;
  max-width: 420px;
  margin: 0;
}

body.page-home .home-story-content {
  width: 100%;
  max-width: 610px;
  justify-self: start;
  text-align: left;
  text-shadow: 0 8px 30px rgba(0,0,0,.58);
}

body.page-home .home-story-kicker {
  color: #8eef9f;
}

body.page-home .home-story-content h2 {
  max-width: 10.5ch;
  color: #fff;
}

body.page-home .home-story-copy {
  max-width: 58ch;
  color: rgba(255,255,255,.72);
}

body.page-home .home-story-verse {
  border-top-color: rgba(255,255,255,.2);
}

body.page-home .home-story-verse p {
  color: #67eb84;
  font-family: "Amiri",serif!important;
}

body.page-home .home-story-verse span {
  color: rgba(255,255,255,.86);
}

body.page-home .home-story-verse cite {
  color: rgba(255,255,255,.5);
}

@media(max-width:900px) {
  body.page-home .home-story {
    grid-template-columns: minmax(260px,340px) minmax(340px,1fr);
    gap: 38px;
    padding-inline: 26px;
  }
}

@media(max-width:700px) {
  body.page-home .home-story {
    min-height: auto;
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 48px 18px 58px;
  }

  body.page-home .home-story-visual {
    width: min(100%,340px);
    margin-inline: auto;
  }

  body.page-home .home-story-content {
    width: min(100%,520px);
    margin-inline: auto;
  }
}

/* Story content sits directly over the homepage video — no section background. */
body.page-home .home-story {
  background: transparent;
  color: #fff;
}

body.page-home .home-story-content {
  text-shadow: 0 8px 30px rgba(0,0,0,.55);
}

body.page-home .home-story-kicker {
  color: #8af0a0;
}

body.page-home .home-story-content h2 {
  color: #fff;
}

body.page-home .home-story-copy {
  color: rgba(255,255,255,.7);
}

body.page-home .home-story-verse {
  border-top-color: rgba(255,255,255,.2);
}

body.page-home .home-story-verse p {
  color: #66eb83;
}

body.page-home .home-story-verse span {
  color: rgba(255,255,255,.82);
}

body.page-home .home-story-verse cite {
  color: rgba(255,255,255,.5);
}

/* Mobile story guard kept last so legacy homepage media rules cannot override it. */
@media(max-width:760px) {
  body.page-home .home-story {
    min-height: auto;
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 48px 18px 58px;
  }

  body.page-home .home-story-visual {
    width: min(100%,340px);
    aspect-ratio: .8;
    margin-inline: auto;
    border-radius: 22px;
  }

  body.page-home .home-story-content {
    width: min(100%,520px);
    margin-inline: auto;
  }

  body.page-home .home-story-content h2 {
    max-width: 11ch;
    font-size: clamp(34px,10vw,44px);
    line-height: .98;
  }

  body.page-home .home-story-copy {
    margin-top: 20px;
    font-size: 10px;
    line-height: 1.75;
  }

  body.page-home .home-story-verse {
    margin-top: 24px;
    padding-top: 18px;
  }

  body.page-home .home-story-verse p {
    margin-bottom: 5px;
    font-family: "Amiri",serif!important;
    font-size: clamp(28px,8.5vw,37px);
    line-height: 1.45;
  }
}

/* Compact story layout — deliberately last in the cascade. */
@media(max-width:700px) {
  body.page-home .home-story {
    position: relative;
    min-height: 620px;
    display: block;
    overflow: hidden;
    padding: 64px 18px 58px 72px;
  }

  body.page-home .home-story-visual {
    position: absolute;
    inset: 28px auto 28px -118px;
    z-index: 0;
    width: 180px;
    height: auto;
    margin: 0;
    border-radius: 0 22px 22px 0;
    opacity: .72;
  }

  body.page-home .home-story-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  body.page-home .home-story-content {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 470px;
    margin: 0 auto;
    opacity: 1;
    visibility: visible;
    transform: none;
  }

  body.page-home .home-story-content h2 {
    max-width: 10ch;
    font-size: clamp(32px,9.4vw,43px);
  }

  body.page-home .home-story-copy {
    max-width: 42ch;
  }
}

@media(max-width:390px) {
  body.page-home .home-story {
    min-height: 590px;
    padding: 54px 14px 50px 54px;
  }

  body.page-home .home-story-visual {
    left: -132px;
    width: 174px;
  }

  body.page-home .home-story-content h2 {
    font-size: 30px;
  }

  body.page-home .home-story-verse p {
    font-size: 27px;
  }
}

/* Authoritative story position. */
body.page-home .home-story {
  width: 100vw;
  min-height: 100svh;
  display: grid;
  grid-template-columns: minmax(300px,420px) minmax(420px,610px);
  justify-content: center;
  align-items: center;
  gap: clamp(54px,7vw,104px);
  margin-left: calc(50% - 50vw);
  padding: clamp(70px,9vh,104px) max(28px,calc((100vw - 1140px)/2));
  background: transparent;
  color: #fff;
}

body.page-home .home-story-visual {
  width: 100%;
  max-width: 420px;
  margin: 0;
}

body.page-home .home-story-content {
  width: 100%;
  max-width: 610px;
  justify-self: start;
  text-align: left;
  text-shadow: 0 8px 30px rgba(0,0,0,.58);
}

body.page-home .home-story-kicker { color: #8eef9f; }
body.page-home .home-story-content h2 { max-width: 10.5ch;color: #fff; }
body.page-home .home-story-copy { max-width: 58ch;color: rgba(255,255,255,.72); }
body.page-home .home-story-verse { border-top-color: rgba(255,255,255,.2); }
body.page-home .home-story-verse p { color: #ffffff;font-family: "Amiri Quran","Scheherazade New","Amiri",serif!important; }
body.page-home .home-story-verse span { color: rgba(255,255,255,.86); }
body.page-home .home-story-verse cite { color: rgba(255,255,255,.5); }

@media(max-width:900px) {
  body.page-home .home-story {
    grid-template-columns: minmax(260px,340px) minmax(340px,1fr);
    gap: 38px;
    padding-inline: 26px;
  }
}

@media(max-width:700px) {
  body.page-home .home-story {
    min-height: auto;
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 48px 18px 58px;
  }

  body.page-home .home-story-visual {
    width: min(100%,340px);
    margin-inline: auto;
  }

  body.page-home .home-story-content {
    width: min(100%,520px);
    margin-inline: auto;
  }
}

/* Final responsive treatment for the Knowledge / Character story section. */
.home-story {
  box-sizing: border-box;
  width: 100vw;
  min-height: 100svh;
  grid-template-columns: minmax(340px,448px) minmax(430px,620px);
  justify-content: center;
  align-items: center;
  gap: clamp(64px,7vw,112px);
  margin-left: calc(50% - 50vw);
  padding: clamp(72px,9vh,108px) max(28px,calc((100vw - 1180px)/2));
  background: #f3f0e7;
}

.home-story-visual {
  width: 100%;
  max-width: 448px;
  aspect-ratio: .82;
  margin: 0;
}

.home-story-content {
  width: 100%;
  max-width: 620px;
}

.home-story-content h2 {
  max-width: 10.5ch;
  font-size: clamp(48px,4.5vw,68px);
}

.home-story-copy {
  max-width: 58ch;
  font-size: 12px;
}

.home-story-verse p {
  font-family: "Amiri",serif!important;
}

@media(max-width:980px) {
  .home-story {
    grid-template-columns: minmax(280px,360px) minmax(340px,1fr);
    gap: 42px;
    padding-inline: 28px;
  }

  .home-story-content h2 {
    font-size: clamp(39px,5vw,51px);
  }
}

@media(max-width:760px) {
  .home-story {
    min-height: auto;
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 48px 18px 58px;
  }

  .home-story-visual {
    width: min(100%,340px);
    aspect-ratio: .8;
    margin-inline: auto;
    border-radius: 22px;
  }

  .home-story-content {
    width: min(100%,520px);
    margin-inline: auto;
  }

  .home-story-kicker {
    margin-bottom: 13px;
    font-size: 7px;
  }

  .home-story-content h2 {
    max-width: 11ch;
    font-size: clamp(34px,10vw,44px);
    line-height: .98;
  }

  .home-story-copy {
    margin-top: 20px;
    font-size: 10px;
    line-height: 1.75;
  }

  .home-story-verse {
    margin-top: 24px;
    padding-top: 18px;
  }

  .home-story-verse p {
    margin-bottom: 5px;
    font-size: clamp(28px,8.5vw,37px);
    line-height: 1.45;
  }

  .home-story-verse span {
    font-size: 8px;
  }
}

@media(max-width:380px) {
  .home-story {
    padding-inline: 14px;
  }

  .home-story-content h2 {
    font-size: 32px;
  }
}

@media(max-width:760px) {
  .home-story {
    min-height: 100svh;
    grid-template-columns: 1fr;
    gap: 42px;
    padding: 64px 18px 68px;
  }
  .home-story-visual {
    width: min(100%,350px);
    aspect-ratio: .82;
  }
  .home-story-content {
    width: min(100%,520px);
    margin-inline: auto;
  }
  .home-story-content h2 {
    max-width: 12ch;
    font-size: clamp(38px,11.2vw,50px);
  }
  .home-story-copy { font-size: 9px; }
  .home-story-verse p { font-size: clamp(30px,9vw,39px); }
}

/* Centered desktop homepage navigation card. */
@media(min-width:760px) {
  body.page-home .site-header,
  body.page-home .site-header.is-scrolled {
    position: sticky;
    top: 7px;
    width: min(1010px,calc(100% - 36px));
    max-width: 1010px;
    min-height: 52px;
    grid-template-columns: minmax(220px,1fr) auto minmax(100px,1fr);
    gap: 16px;
    margin: 7px auto 0;
    padding: 5px 8px;
    border: 1px solid rgba(115,181,127,.16);
    border-radius: 11px;
    background: #17201b;
    box-shadow: 0 9px 28px rgba(0,0,0,.3);
    backdrop-filter: none;
  }

  body.page-home .site-logo { gap: 11px; }
  body.page-home .site-logo span { gap: 0; }

  body.page-home .site-logo img {
    width: 39px;
    height: 39px;
    padding: 5px;
    border-radius: 10px;
    background: #fff;
    box-shadow: none;
  }

  body.page-home .site-logo b {
    color: #fff;
    font-family: "Ubuntu", sans-serif !important;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0;
  }

  body.page-home .site-logo small {
    margin: 0;
    color: rgba(255,255,255,.7);
    font-size: 7px;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
  }

  body.page-home .site-nav {
    position: static;
    inset: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  body.page-home .site-nav a {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    padding: 0 13px;
    border-radius: 7px;
    color: #c1c7c0;
    font-size: 12px;
    font-weight: 800;
  }

  body.page-home .site-nav a:hover {
    color: #fff;
    background: rgba(255,255,255,.06);
    box-shadow: none;
    transform: none;
  }

  body.page-home .site-nav a.active,
  body.page-home .site-nav a.active:hover {
    color: #06130a;
    background: #31ae49;
    box-shadow: none;
    transform: none;
  }

  body.page-home .header-account-actions {
    display: flex;
    align-items: center;
    justify-self: end;
  }

  body.page-home .festival-date {
    min-width: 88px;
    display: block;
    text-align: right;
    line-height: 1.05;
  }

  body.page-home .festival-date span {
    display: block;
    margin-bottom: 4px;
    color: rgba(255,255,255,.66);
    font-size: 7px;
    font-weight: 700;
  }

  body.page-home .festival-date b {
    color: #fff;
    font-size: 10px;
    font-weight: 800;
  }

  body.page-home .visitor-logout-floating {
    top: 17px;
    right: 22px;
    left: auto;
    z-index: 55;
    height: 36px;
  }
}

/* Smaller centered homepage hero composition. */
.home-redesign-copy {
  width: min(100%,920px);
  max-width: 920px;
  margin-inline: auto;
  text-align: center;
}

.home-welcome,
.home-primary-actions,
.home-trust-row {
  justify-content: center;
}

.home-welcome {
  margin-inline: auto;
}

.home-redesign-copy h1 {
  max-width: 900px;
  margin-inline: auto;
  font-size: clamp(58px,7vw,94px);
  line-height: .91;
  letter-spacing: -.06em;
}

.home-redesign-copy .home-lead {
  max-width: 590px;
  margin-inline: auto;
}

.home-primary-actions {
  gap: 12px;
  margin-top: 26px;
}

.home-primary-actions .button {
  min-width: 174px;
  min-height: 48px;
  justify-content: flex-start;
  gap: 16px;
  padding: 5px 6px 5px 18px;
  border-radius: 999px;
  font-family: "Ubuntu", sans-serif !important;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: -.01em;
  box-shadow: 0 13px 32px rgba(0,0,0,.2);
}

.home-primary-actions .button span {
  width: 36px;
  height: 36px;
  display: grid;
  flex: 0 0 36px;
  place-items: center;
  margin-left: auto;
  border-radius: 50%;
  font-size: 12px;
  transition: transform .25s,background .25s;
}

.home-primary-actions .button-light {
  border-color: #58e77a;
  background: linear-gradient(135deg,#63ee83,#40d965);
  color: #06120a;
  box-shadow: 0 14px 36px rgba(48,213,91,.25);
}

.home-primary-actions .button-light span {
  background: rgba(3,31,11,.12);
}

.home-primary-actions .button-ghost {
  border-color: rgba(255,255,255,.16);
  background: linear-gradient(135deg,rgba(24,29,26,.82),rgba(8,11,9,.66));
  color: #fff;
  backdrop-filter: blur(16px);
}

.home-primary-actions .button-ghost span {
  border: 1px solid rgba(255,255,255,.1);
  background: rgba(255,255,255,.06);
  color: #72ee90;
}

.home-primary-actions .button:hover span {
  transform: translate(2px,-2px);
}

@media(max-width:700px) {
  .home-redesign-copy {
    width: min(100%,520px);
  }

  .home-redesign-copy h1 {
    max-width: 100%;
    font-size: clamp(43px,12.7vw,59px);
    line-height: .94;
  }

  .home-primary-actions .button {
    min-height: 46px;
    padding: 4px 5px 4px 15px;
    font-size: 8px;
  }

  .home-primary-actions .button span {
    width: 36px;
    height: 36px;
    flex-basis: 36px;
  }

  body.page-home .home-story {
    min-height: auto;
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 48px 18px 58px;
  }

  body.page-home .home-story-visual {
    width: min(100%,340px);
    aspect-ratio: .8;
    margin-inline: auto;
    border-radius: 22px;
  }

  body.page-home .home-story-content {
    width: min(100%,520px);
    margin-inline: auto;
  }

  body.page-home .home-story-content h2 {
    max-width: 11ch;
    font-size: clamp(34px,10vw,44px);
    line-height: .98;
  }

  body.page-home .home-story-copy {
    margin-top: 20px;
    font-size: 10px;
    line-height: 1.75;
  }

  body.page-home .home-story-verse {
    margin-top: 24px;
    padding-top: 18px;
  }

  body.page-home .home-story-verse p {
    margin-bottom: 5px;
    font-family: "Amiri",serif!important;
    font-size: clamp(28px,8.5vw,37px);
    line-height: 1.45;
  }
}

/* Visible compact story override. */
@media(max-width:700px) {
  body.page-home .home-story {
    position: relative;
    min-height: 620px;
    display: block;
    overflow: hidden;
    padding: 64px 18px 58px 72px;
  }

  body.page-home .home-story-visual {
    position: absolute;
    inset: 28px auto 28px -118px;
    z-index: 0;
    width: 180px;
    height: auto;
    margin: 0;
    border-radius: 0 22px 22px 0;
    opacity: .72;
  }

  body.page-home .home-story-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }

  body.page-home .home-story-content {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 470px;
    margin: 0 auto;
    opacity: 1;
    visibility: visible;
    transform: none;
  }

  body.page-home .home-story-content h2 {
    max-width: 10ch;
    font-size: clamp(32px,9.4vw,43px);
  }
}

@media(max-width:390px) {
  body.page-home .home-story {
    min-height: 590px;
    padding: 54px 14px 50px 54px;
  }

  body.page-home .home-story-visual {
    left: -132px;
    width: 174px;
  }

  body.page-home .home-story-content h2 { font-size: 30px; }
  body.page-home .home-story-verse p { font-size: 27px; }
}

/* Keep the Knowledge / Character chapter above the fixed homepage film. */
body.page-home .home-story {
  position: relative;
  z-index: 3;
  isolation: isolate;
  background: transparent;
  color: #fff;
}

body.page-home .home-story-content {
  position: relative;
  z-index: 2;
  text-shadow: 0 8px 30px rgba(0, 0, 0, .58);
}

body.page-home .home-story-kicker {
  color: #8eef9f;
}

body.page-home .home-story-content h2 {
  color: #fff;
}

body.page-home .home-story-copy {
  color: rgba(255, 255, 255, .72);
}

body.page-home .home-story-verse {
  border-top-color: rgba(255, 255, 255, .2);
}

body.page-home .home-story-verse p {
  color: #67eb84;
}

body.page-home .home-story-verse span {
  color: rgba(255, 255, 255, .86);
}

body.page-home .home-story-verse cite {
  color: rgba(255, 255, 255, .5);
}

/* Seamless transition into the redesigned festival access cards. */
body.page-home .home-access {
  position: relative;
  z-index: 3;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding: 0 max(28px, calc((100vw - 1184px) / 2)) 48px !important;
}

body.page-home .home-access > header {
  margin-bottom: 24px;
  padding-top: 0;
}

body.page-home .home-access-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

body.page-home .home-access-grid .feature-card {
  min-height: 190px;
  display: grid;
  grid-template-rows: auto 1fr auto;
  padding: 20px;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 22px;
  background:
    radial-gradient(circle at 18% 0%, rgba(86, 228, 122, .13), transparent 42%),
    linear-gradient(145deg, rgba(8, 24, 14, .86), rgba(3, 11, 7, .72));
  box-shadow: 0 22px 55px rgba(0, 0, 0, .25), inset 0 1px 0 rgba(255, 255, 255, .05);
  backdrop-filter: blur(16px);
  transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}

body.page-home .home-access-grid .feature-card::after {
  content: "";
  position: absolute;
  right: -42px;
  bottom: -52px;
  width: 125px;
  height: 125px;
  border: 1px solid rgba(86, 228, 122, .11);
  border-radius: 50%;
  box-shadow: 0 0 0 22px rgba(86, 228, 122, .025);
  pointer-events: none;
}

body.page-home .home-access-grid .feature-card:hover {
  transform: translateY(-5px);
  border-color: rgba(86, 228, 122, .42);
  background:
    radial-gradient(circle at 18% 0%, rgba(86, 228, 122, .2), transparent 44%),
    linear-gradient(145deg, rgba(10, 32, 18, .92), rgba(4, 15, 9, .8));
  box-shadow: 0 28px 65px rgba(0, 0, 0, .34), 0 0 0 1px rgba(86, 228, 122, .06);
}

body.page-home .home-access-grid .feature-card > div {
  position: relative;
  z-index: 1;
}

body.page-home .home-access-grid .feature-card .card-icon {
  width: 48px;
  min-width: 48px;
  height: 48px;
  border-color: rgba(86, 228, 122, .28);
  border-radius: 15px;
  background: linear-gradient(145deg, rgba(86, 228, 122, .17), rgba(86, 228, 122, .07));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08), 0 10px 25px rgba(0, 0, 0, .16);
}

body.page-home .home-access-grid .feature-card > div small {
  color: rgba(255, 255, 255, .36);
  font-size: 9px;
  letter-spacing: .14em;
}

body.page-home .home-access-grid .card-copy {
  position: relative;
  z-index: 1;
  align-self: end;
  margin: 30px 0 0;
}

body.page-home .home-access-grid .feature-card h3 {
  margin-bottom: 8px;
  font-size: 17px;
  line-height: 1.15;
}

body.page-home .home-access-grid .feature-card p {
  max-width: 26ch;
  padding-right: 20px;
  color: rgba(255, 255, 255, .5);
  font-size: 9px;
  line-height: 1.6;
}

body.page-home .home-access-grid .feature-card > b {
  right: 19px;
  bottom: 18px;
  z-index: 2;
  width: 31px;
  height: 31px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(86, 228, 122, .22);
  border-radius: 50%;
  background: rgba(86, 228, 122, .08);
  opacity: 1;
  transform: none;
}

@media(max-width: 900px) {
  body.page-home .home-access-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media(max-width: 700px) {
  body.page-home .home-access {
    padding: 0 16px 34px !important;
  }

  body.page-home .home-access > header {
    margin-bottom: 18px;
  }

  body.page-home .home-access-grid {
    gap: 10px;
  }

  body.page-home .home-access-grid .feature-card {
    min-height: 170px;
    padding: 15px;
    border-radius: 18px;
  }

  body.page-home .home-access-grid .feature-card .card-icon {
    width: 41px;
    min-width: 41px;
    height: 41px;
    border-radius: 13px;
  }

  body.page-home .home-access-grid .card-copy {
    margin-top: 24px;
  }

  body.page-home .home-access-grid .feature-card h3 {
    font-size: 13px;
  }

  body.page-home .home-access-grid .feature-card p {
    padding-right: 0;
    font-size: 8px;
  }

  body.page-home .home-access-grid .feature-card > b {
    display: none;
  }
}

@media(max-width: 430px) {
  body.page-home .home-access-grid {
    grid-template-columns: 1fr;
  }

  body.page-home .home-access-grid .feature-card {
    min-height: 150px;
  }
}

/* Mobile-only correction for the story composition and access cards. */
@media(max-width: 600px) {
  body.page-home {
    overflow-x: clip;
  }

  body.page-home .home-story {
    position: relative;
    isolation: isolate;
    width: 100vw;
    min-height: 720px;
    display: flex;
    align-items: flex-start;
    margin-left: calc(50% - 50vw);
    padding: 58px 22px 48px;
    overflow: hidden;
    border-block: 1px solid rgba(255, 255, 255, .1);
  }

  body.page-home .home-story-visual {
    position: absolute;
    inset: 0;
    z-index: 0;
    width: 100%;
    max-width: none;
    height: 100%;
    margin: 0;
    border: 0;
    border-radius: 0;
    opacity: 1;
    box-shadow: none;
  }

  body.page-home .home-story-visual img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 47% center;
    filter: saturate(.72) contrast(1.08) brightness(.58);
  }

  body.page-home .home-story-visual::after {
    background:
      linear-gradient(180deg, rgba(2, 10, 6, .64), rgba(2, 10, 6, .32) 32%, rgba(2, 10, 6, .48) 60%, rgba(2, 10, 6, .86)),
      linear-gradient(90deg, rgba(2, 10, 6, .32), transparent 72%);
  }

  body.page-home .home-story-visual figcaption {
    left: 22px;
    bottom: 20px;
    z-index: 3;
    font-size: 6px;
  }

  body.page-home .home-story-content {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 390px;
    margin: 0 auto;
    text-align: left;
    text-shadow: 0 4px 22px rgba(0, 0, 0, .7);
  }

  body.page-home .home-story-kicker {
    margin: 0 0 12px;
    font-size: 7px;
    letter-spacing: .15em;
  }

  body.page-home .home-story-content h2 {
    max-width: 9.5ch;
    margin: 0;
    font-size: clamp(37px, 12vw, 49px);
    line-height: .91;
    letter-spacing: -.06em;
  }

  body.page-home .home-story-copy {
    max-width: 35em;
    margin: 20px 0 0;
    color: rgba(255, 255, 255, .82);
    font-size: 9px;
    line-height: 1.7;
  }

  body.page-home .home-story-verse {
    width: 100%;
    margin: 25px 0 0;
    padding: 20px 0 0;
  }

  body.page-home .home-story-verse p {
    max-width: 10ch;
    margin: 0 0 8px;
    font-size: clamp(31px, 10vw, 40px);
    line-height: 1.35;
  }

  body.page-home .home-story-verse span {
    font-size: 8px;
  }

  body.page-home .home-story-verse cite {
    margin-top: 5px;
    font-size: 6px;
  }

  body.page-home .home-access {
    padding: 22px 14px 36px !important;
  }

  body.page-home .home-access > header {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-bottom: 18px;
  }

  body.page-home .home-access > header > span {
    padding-left: 0;
    border-left: 0;
  }

  body.page-home .home-access-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  body.page-home .home-access-grid .feature-card {
    min-height: 116px;
    grid-template-columns: 48px minmax(0, 1fr) 32px;
    grid-template-rows: 1fr;
    gap: 13px;
    align-items: center;
    padding: 15px;
    border-radius: 18px;
  }

  body.page-home .home-access-grid .feature-card > div {
    display: grid;
    justify-items: center;
    gap: 7px;
  }

  body.page-home .home-access-grid .feature-card .card-icon {
    width: 46px;
    min-width: 46px;
    height: 46px;
    margin: 0;
    border-radius: 14px;
  }

  body.page-home .home-access-grid .feature-card > div small {
    display: block;
    margin: 0;
    font-size: 9px;
    line-height: 1;
  }

  body.page-home .home-access-grid .card-copy {
    min-width: 0;
    align-self: center;
    margin: 0;
    text-align: left;
  }

  body.page-home .home-access-grid .feature-card h3 {
    margin: 0 0 6px;
    font-size: 14px;
    line-height: 1.15;
  }

  body.page-home .home-access-grid .feature-card p {
    max-width: 30ch;
    padding: 0;
    font-size: 8px;
    line-height: 1.5;
  }

  body.page-home .home-access-grid .feature-card > b {
    position: relative;
    right: auto;
    bottom: auto;
    width: 31px;
    height: 31px;
    display: grid;
    font-size: 12px;
  }
}

@media(max-width: 360px) {
  body.page-home .home-story {
    min-height: 680px;
    padding: 48px 17px 42px;
  }

  body.page-home .home-story-content h2 {
    font-size: 35px;
  }

  body.page-home .home-access-grid .feature-card {
    grid-template-columns: 43px minmax(0, 1fr) 29px;
    gap: 10px;
    padding: 13px;
  }

  body.page-home .home-access-grid .feature-card .card-icon {
    width: 42px;
    min-width: 42px;
    height: 42px;
  }
}

/* Refined cinematic story card for phones. */
@media(max-width: 600px) {
  body.page-home .home-story {
    width: calc(100vw - 24px);
    min-height: 700px;
    margin: 12px auto 0;
    padding: 42px 20px 24px;
    border: 1px solid rgba(255, 255, 255, .16);
    border-radius: 26px;
    box-shadow: 0 28px 70px rgba(0, 0, 0, .36);
  }

  body.page-home .home-story::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    border-radius: inherit;
    background:
      linear-gradient(180deg, rgba(2, 9, 5, .76) 0%, rgba(2, 9, 5, .42) 38%, rgba(2, 9, 5, .24) 56%, rgba(2, 9, 5, .88) 100%);
    pointer-events: none;
  }

  body.page-home .home-story-visual {
    border-radius: inherit;
  }

  body.page-home .home-story-visual img {
    object-position: 54% center;
    filter: saturate(.7) contrast(1.08) brightness(.72);
  }

  body.page-home .home-story-visual::after {
    display: none;
  }

  body.page-home .home-story-visual figcaption {
    left: 20px;
    right: 20px;
    bottom: 14px;
    z-index: 4;
    color: rgba(255, 255, 255, .66);
    font-size: 5px;
    letter-spacing: .13em;
  }

  body.page-home .home-story-content {
    z-index: 3;
    min-height: 632px;
    display: flex;
    flex-direction: column;
    margin: 0;
    text-shadow: 0 3px 18px rgba(0, 0, 0, .7);
  }

  body.page-home .home-story-kicker {
    width: max-content;
    margin-bottom: 11px;
    padding: 6px 9px;
    border: 1px solid rgba(105, 235, 132, .22);
    border-radius: 99px;
    background: rgba(4, 20, 10, .42);
    color: #8df1a3;
    font-size: 6px;
    letter-spacing: .14em;
    backdrop-filter: blur(10px);
  }

  body.page-home .home-story-content h2 {
    max-width: 9.2ch;
    font-size: clamp(35px, 10.8vw, 45px);
    line-height: .94;
    letter-spacing: -.055em;
    text-wrap: balance;
  }

  body.page-home .home-story-copy {
    max-width: 35em;
    margin-top: 16px;
    padding-right: 4px;
    color: rgba(255, 255, 255, .76);
    font-size: 8px;
    line-height: 1.65;
  }

  body.page-home .home-story-verse {
    width: 100%;
    margin: auto 0 24px;
    padding: 16px 16px 14px;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 18px;
    background:
      linear-gradient(135deg, rgba(5, 25, 12, .76), rgba(3, 12, 7, .56));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06), 0 16px 35px rgba(0, 0, 0, .22);
    backdrop-filter: blur(13px);
  }

  body.page-home .home-story-verse p {
    max-width: none;
    margin-bottom: 7px;
    color: #6ef08d;
    font-size: clamp(29px, 9vw, 37px);
    line-height: 1.35;
    text-align: right;
    text-shadow: 0 0 22px rgba(69, 224, 105, .16);
  }

  body.page-home .home-story-verse span {
    color: rgba(255, 255, 255, .82);
    font-size: 7px;
  }

  body.page-home .home-story-verse cite {
    color: rgba(255, 255, 255, .45);
    font-size: 5px;
  }
}

@media(max-width: 360px) {
  body.page-home .home-story {
    width: calc(100vw - 18px);
    min-height: 650px;
    padding: 34px 16px 20px;
    border-radius: 22px;
  }

  body.page-home .home-story-content {
    min-height: 594px;
  }

  body.page-home .home-story-content h2 {
    font-size: 33px;
  }

  body.page-home .home-story-copy {
    font-size: 7px;
  }

  body.page-home .home-story-verse {
    margin-bottom: 22px;
    padding: 13px;
    border-radius: 15px;
  }

  body.page-home .home-story-verse p {
    font-size: 28px;
  }
}

/* Final mobile spacing and verse-panel treatment. */
@media(max-width: 600px) {
  body.page-home .home-story {
    width: calc(100vw - 32px);
    min-height: 680px;
    margin: 20px auto 24px;
    padding: 38px 20px 22px;
    border-radius: 24px;
  }

  body.page-home .home-story-content {
    min-height: 616px;
  }

  body.page-home .home-story-copy {
    margin-top: 18px;
  }

  body.page-home .home-story-verse {
    position: relative;
    width: 100%;
    margin: auto 0 28px;
    padding: 18px 17px 15px;
    overflow: hidden;
    border: 1px solid rgba(105, 235, 132, .2);
    border-radius: 20px;
    background:
      radial-gradient(circle at 92% 8%, rgba(91, 235, 124, .14), transparent 42%),
      linear-gradient(145deg, rgba(5, 27, 13, .88), rgba(2, 12, 7, .72));
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, .07),
      0 18px 40px rgba(0, 0, 0, .28);
  }

  body.page-home .home-story-verse::before {
    content: "۞";
    position: absolute;
    left: 15px;
    top: 13px;
    color: rgba(110, 240, 141, .48);
    font-family: "Amiri", serif !important;
    font-size: 18px;
    line-height: 1;
  }

  body.page-home .home-story-verse::after {
    content: "";
    position: absolute;
    right: -34px;
    bottom: -52px;
    width: 112px;
    height: 112px;
    border: 1px solid rgba(110, 240, 141, .09);
    border-radius: 50%;
    pointer-events: none;
  }

  body.page-home .home-story-verse p {
    position: relative;
    z-index: 1;
    max-width: 9ch;
    margin: 0 0 11px auto;
    color: #78f296;
    font-size: clamp(27px, 8.7vw, 35px);
    line-height: 1.28;
    text-align: right;
  }

  body.page-home .home-story-verse span,
  body.page-home .home-story-verse cite {
    position: relative;
    z-index: 1;
    max-width: 30ch;
  }

  body.page-home .home-story-verse span {
    padding-top: 10px;
    border-top: 1px solid rgba(255, 255, 255, .1);
    color: rgba(255, 255, 255, .78);
    font-size: 7px;
    line-height: 1.45;
  }

  body.page-home .home-story-verse cite {
    margin-top: 5px;
    color: rgba(139, 240, 161, .56);
    font-size: 5px;
    letter-spacing: .13em;
  }

  body.page-home .home-access {
    padding-top: 8px !important;
  }
}

@media(max-width: 360px) {
  body.page-home .home-story {
    width: calc(100vw - 24px);
    min-height: 640px;
    margin-top: 16px;
    padding: 32px 15px 18px;
    border-radius: 21px;
  }

  body.page-home .home-story-content {
    min-height: 588px;
  }

  body.page-home .home-story-verse {
    margin-bottom: 25px;
    padding: 15px 14px 13px;
    border-radius: 17px;
  }

  body.page-home .home-story-verse p {
    font-size: 27px;
  }
}

/* Mobile story — clean editorial redesign. */
@media(max-width: 600px) {
  body.page-home .home-story {
    width: calc(100vw - 28px);
    min-height: 660px;
    margin: 22px auto 28px;
    padding: 34px 18px 20px;
    border-color: rgba(255, 255, 255, .18);
    border-radius: 25px;
    background: #061009;
    box-shadow:
      0 24px 60px rgba(0, 0, 0, .38),
      0 0 0 5px rgba(255, 255, 255, .025);
  }

  body.page-home .home-story::after {
    background:
      linear-gradient(180deg, rgba(2, 9, 5, .76) 0%, rgba(2, 9, 5, .46) 34%, rgba(2, 9, 5, .2) 58%, rgba(2, 9, 5, .9) 100%),
      linear-gradient(90deg, rgba(2, 9, 5, .3), transparent 76%);
  }

  body.page-home .home-story-visual img {
    object-position: 51% center;
    filter: saturate(.68) contrast(1.09) brightness(.76);
    transform: scale(1.02);
  }

  body.page-home .home-story-content {
    min-height: 606px;
    gap: 0;
  }

  body.page-home .home-story-kicker {
    position: relative;
    padding: 0 0 0 17px;
    border: 0;
    border-radius: 0;
    background: transparent;
    backdrop-filter: none;
  }

  body.page-home .home-story-kicker::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 10px;
    height: 2px;
    border-radius: 99px;
    background: #68ed88;
    box-shadow: 0 0 10px rgba(104, 237, 136, .5);
  }

  body.page-home .home-story-content h2 {
    max-width: 9.5ch;
    font-size: clamp(34px, 10.3vw, 43px);
    line-height: .96;
    letter-spacing: -.055em;
  }

  body.page-home .home-story-copy {
    max-width: 34em;
    margin-top: 18px;
    padding: 12px 13px;
    border-left: 2px solid rgba(105, 235, 132, .65);
    border-radius: 0 11px 11px 0;
    background: linear-gradient(90deg, rgba(3, 18, 9, .56), rgba(3, 18, 9, .08));
    color: rgba(255, 255, 255, .79);
    font-size: 8px;
    line-height: 1.65;
    backdrop-filter: blur(5px);
  }

  body.page-home .home-story-verse {
    display: grid;
    grid-template-columns: 1fr;
    gap: 9px;
    margin: auto 0 28px;
    padding: 17px 16px 14px;
    border-color: rgba(255, 255, 255, .14);
    border-radius: 18px;
    background:
      linear-gradient(150deg, rgba(5, 28, 14, .9), rgba(2, 12, 7, .82));
    box-shadow:
      inset 3px 0 0 rgba(103, 235, 132, .72),
      inset 0 1px 0 rgba(255, 255, 255, .06),
      0 16px 36px rgba(0, 0, 0, .26);
  }

  body.page-home .home-story-verse::before {
    content: "83:26";
    left: 16px;
    top: 17px;
    padding: 4px 6px;
    border: 1px solid rgba(107, 237, 136, .17);
    border-radius: 99px;
    background: rgba(100, 235, 130, .06);
    color: rgba(131, 241, 154, .62);
    font-family: "Ubuntu", sans-serif !important;
    font-size: 5px;
    font-weight: 800;
    letter-spacing: .1em;
  }

  body.page-home .home-story-verse::after {
    right: -48px;
    bottom: -64px;
    width: 130px;
    height: 130px;
    border-color: rgba(105, 235, 132, .07);
  }

  body.page-home .home-story-verse p {
    max-width: 10ch;
    margin: 0 0 2px auto;
    color: #76ef92;
    font-size: clamp(27px, 8.4vw, 34px);
    line-height: 1.3;
    text-align: right;
  }

  body.page-home .home-story-verse span {
    max-width: none;
    padding-top: 9px;
    border-top-color: rgba(255, 255, 255, .09);
    font-size: 7px;
  }

  body.page-home .home-story-verse cite {
    margin-top: -3px;
    font-size: 5px;
  }

  body.page-home .home-story-visual figcaption {
    bottom: 12px;
    font-size: 5px;
  }
}

@media(max-width: 360px) {
  body.page-home .home-story {
    width: calc(100vw - 20px);
    min-height: 620px;
    padding: 30px 15px 17px;
    border-radius: 21px;
  }

  body.page-home .home-story-content {
    min-height: 568px;
  }

  body.page-home .home-story-content h2 {
    font-size: 32px;
  }

  body.page-home .home-story-copy {
    margin-top: 14px;
    padding: 10px 11px;
    font-size: 7px;
  }

  body.page-home .home-story-verse {
    margin-bottom: 25px;
    padding: 14px 13px 12px;
    border-radius: 16px;
  }

  body.page-home .home-story-verse p {
    font-size: 26px;
  }
}

/* Mobile story without the campus photo; keep the ayah correctly RTL aligned. */
@media(max-width: 600px) {
  body.page-home .home-story {
    min-height: 590px;
    background:
      radial-gradient(circle at 92% 7%, rgba(86, 228, 122, .13), transparent 32%),
      radial-gradient(circle at 8% 72%, rgba(86, 228, 122, .06), transparent 35%),
      linear-gradient(155deg, #0a1b10 0%, #061009 58%, #030a06 100%);
  }

  body.page-home .home-story::after {
    background:
      linear-gradient(135deg, rgba(255, 255, 255, .025), transparent 42%),
      repeating-linear-gradient(135deg, rgba(255, 255, 255, .012) 0 1px, transparent 1px 12px);
  }

  body.page-home .home-story-visual {
    display: none;
  }

  body.page-home .home-story-content {
    min-height: 536px;
  }

  body.page-home .home-story-copy {
    background: linear-gradient(90deg, rgba(10, 36, 18, .72), rgba(5, 20, 11, .3));
  }

  body.page-home .home-story-verse {
    margin-bottom: 0;
    padding: 18px 16px 15px;
  }

  body.page-home .home-story-verse p[dir="rtl"] {
    width: 100%;
    max-width: none;
    margin: 0 0 13px;
    padding: 0 4px;
    direction: rtl;
    unicode-bidi: isolate;
    color: #78f296;
    font-size: clamp(29px, 9vw, 36px);
    line-height: 1.45;
    text-align: center;
  }

  body.page-home .home-story-verse span,
  body.page-home .home-story-verse cite {
    width: 100%;
    max-width: none;
    text-align: left;
  }

  body.page-home .home-story-verse span {
    padding-top: 11px;
    line-height: 1.5;
  }
}

@media(max-width: 360px) {
  body.page-home .home-story {
    min-height: 560px;
  }

  body.page-home .home-story-content {
    min-height: 508px;
  }

  body.page-home .home-story-verse p[dir="rtl"] {
    font-size: 27px;
  }
}

/* Let the fixed homepage video remain visible behind the mobile story. */
@media(max-width: 600px) {
  body.page-home .home-story {
    min-height: 0;
    margin-block: 14px 22px;
    padding: 30px 18px 28px;
    border-color: transparent;
    background: transparent;
    box-shadow: none;
  }

  body.page-home .home-story::after {
    display: none;
  }

  body.page-home .home-story-content {
    min-height: 0;
    display: block;
  }

  body.page-home .home-story-kicker {
    margin-bottom: 6px;
  }

  body.page-home .home-story-content h2 {
    margin-bottom: 0;
  }

  body.page-home .home-story-copy {
    margin-top: 13px;
    background: linear-gradient(90deg, rgba(2, 12, 7, .68), rgba(2, 12, 7, .16));
  }

  body.page-home .home-story-verse {
    margin: 22px 0 0;
    background:
      linear-gradient(145deg, rgba(3, 18, 9, .72), rgba(2, 10, 6, .55));
  }
}

@media(max-width: 360px) {
  body.page-home .home-story {
    min-height: 0;
    padding: 25px 15px 24px;
  }

  body.page-home .home-story-content {
    min-height: 0;
  }
}

/* Remove the mobile chapter gap and reveal homepage copy as it enters view. */
@media(max-width: 600px) {
  body.page-home .home-redesign-hero {
    min-height: auto;
    padding-bottom: 28px;
  }

  body.page-home .home-story {
    margin-top: 0;
    padding-top: 14px;
  }

  body.page-home .home-story-kicker {
    margin-bottom: 4px;
  }

  body.page-home .home-story-copy {
    margin-top: 10px;
  }
}



/* Minimal mobile ayah: no panel, one Arabic line, compact translation. */
@media(max-width: 600px) {
  body.page-home .home-story-verse {
    margin-top: 20px;
    padding: 8px 0 4px;
    overflow: visible;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
  }

  body.page-home .home-story-verse::before,
  body.page-home .home-story-verse::after {
    display: none;
  }

  body.page-home .home-story-verse p[dir="rtl"] {
    width: 100%;
    max-width: none;
    margin: 0 0 8px;
    padding: 0;
    color: #78f296;
    font-size: clamp(21px, 6.8vw, 27px);
    line-height: 1.35;
    text-align: center;
    white-space: nowrap;
  }

  body.page-home .home-story-verse span {
    padding-top: 6px;
    border-top: 1px solid rgba(255, 255, 255, .1);
    color: rgba(255, 255, 255, .66);
    font-size: 10px;
    line-height: 1.5;
  }

  body.page-home .home-story-verse cite {
    margin-top: 4px;
    font-size: 7px;
  }
}



/* Normal compact layout for tablets and zoomed desktop windows. */
@media(min-width: 601px) and (max-width: 759px) {
  body.page-home .site-header,
  body.page-home .site-header.is-scrolled {
    position: sticky;
    top: 8px;
    z-index: 80;
    width: calc(100% - 24px);
    min-height: 58px;
    grid-template-columns: 46px minmax(0, 1fr);
    gap: 10px;
    margin: 8px 12px 0;
    padding: 7px 76px 7px 8px;
    border-radius: 14px;
    background: rgba(8, 20, 12, .92);
    box-shadow: 0 14px 36px rgba(0, 0, 0, .3);
    backdrop-filter: blur(16px);
  }

  body.page-home .site-logo {
    width: 42px;
    min-width: 42px;
  }

  body.page-home .site-logo img {
    width: 42px;
    height: 42px;
    padding: 5px;
    border-radius: 11px;
    background: #fff;
  }

  body.page-home .site-logo > span,
  body.page-home .header-account-actions {
    display: none;
  }

  body.page-home .site-nav,
  body.page-home .site-nav.open {
    position: static;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 3px;
    padding: 0;
    border: 0;
    background: transparent;
  }

  body.page-home .site-nav a {
    min-height: 40px;
    display: grid;
    place-items: center;
    padding: 0 5px;
    border-radius: 8px;
    font-size: 9px;
  }

  body.page-home .visitor-logout-floating {
    top: 20px;
    right: 21px;
    z-index: 85;
    width: 50px;
    height: 34px;
    padding: 0;
    justify-content: center;
    font-size: 0;
  }

  body.page-home .visitor-logout-floating span {
    font-size: 13px;
  }

  body.page-home .home-story {
    position: relative;
    width: 100vw;
    min-height: calc(100svh - 74px);
    display: grid;
    grid-template-columns: minmax(190px, 230px) minmax(0, 1fr);
    gap: 28px;
    align-items: center;
    margin-left: calc(50% - 50vw);
    padding: 72px 24px 52px;
    overflow: visible;
  }

  body.page-home .home-story-visual {
    position: relative;
    inset: auto;
    z-index: 1;
    width: 100%;
    max-width: 230px;
    height: auto;
    aspect-ratio: .82;
    margin: 0;
    border-radius: 22px;
    opacity: 1;
  }

  body.page-home .home-story-content {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 420px;
    margin: 0;
  }

  body.page-home .home-story-content h2 {
    max-width: 10ch;
    font-size: clamp(38px, 6.2vw, 48px);
    line-height: .95;
  }

  body.page-home .home-story-copy {
    margin-top: 20px;
    font-size: 10px;
  }

  body.page-home .home-story-verse {
    margin-top: 24px;
  }
}

body.page-home .home-redesign-hero {
  min-height: calc(100svh - 66px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding-block: clamp(72px, 10vh, 112px);
}

body.page-home .home-redesign-copy {
  display: flex;
  align-items: center;
  justify-content: center;
}

body.page-home .home-redesign-copy h1 {
  margin: 0;
}

body.page-home .home-story {
  min-height: 100svh;
}

@media(max-width: 600px) {
  body.page-home .home-redesign-hero {
    min-height: calc(100svh - 70px);
    padding: 86px 0 54px;
  }

  body.page-home .home-story {
    min-height: 100svh;
    margin-block: 0;
    padding-top: 64px;
    padding-bottom: 64px;
  }
}

body.page-home .home-redesign-copy {
  flex-direction: column;
}

body.page-home .home-hero-eyebrow {
  margin: 0 0 18px;
  color: #9af2ad;
  font-family: "Ubuntu", sans-serif !important;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .2em;
  text-transform: uppercase;
}

body.page-home .home-hero-intro {
  width: min(100%, 570px);
  margin: 26px auto 0;
  color: rgba(255, 255, 255, .7);
  font-family: "Ubuntu", sans-serif !important;
  font-size: 12px;
  line-height: 1.8;
  text-align: center;
}

body.page-home .home-scroll-cue {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 34px;
  color: rgba(255, 255, 255, .48);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}

body.page-home .home-scroll-cue i {
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(114, 238, 144, .32);
  border-radius: 50%;
  color: #72ee90;
  font-size: 12px;
  font-style: normal;
  animation: homeScrollCue 1.8s ease-in-out infinite;
}

@keyframes homeScrollCue {
  50% { transform: translateY(5px); }
}

@media(max-width: 600px) {
  body.page-home .home-hero-eyebrow {
    margin-bottom: 14px;
    font-size: 7px;
  }

  body.page-home .home-hero-intro {
    width: min(100%, 34em);
    margin-top: 20px;
    font-size: 10px;
    line-height: 1.7;
  }

  body.page-home .home-scroll-cue {
    margin-top: 26px;
    font-size: 7px;
  }
}

@media(prefers-reduced-motion: reduce) {
  body.page-home .home-scroll-cue i {
    animation: none;
  }
}

/* Keep a growing student directory inside the admin card. */
.student-records-panel {
  position: relative;
  overflow: hidden;
}

.student-records-scroll {
  max-height: 480px;
  overflow-x: hidden;
  overflow-y: auto;
  padding-right: 7px;
  padding-bottom: 52px;
  overscroll-behavior: contain;
  scrollbar-color: rgba(78, 232, 131, .62) rgba(255, 255, 255, .06);
  scrollbar-width: thin;
}

.student-records-scroll::-webkit-scrollbar { width: 5px; }
.student-records-scroll::-webkit-scrollbar-track { background: rgba(255, 255, 255, .06); }
.student-records-scroll::-webkit-scrollbar-thumb {
  border-radius: 99px;
  background: rgba(78, 232, 131, .62);
}

.student-list-scroll-button {
  position: absolute;
  right: 18px;
  bottom: 18px;
  z-index: 4;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(78, 232, 131, .42);
  border-radius: 50%;
  background: rgba(7, 31, 15, .94);
  color: #78f296;
  box-shadow: 0 10px 28px rgba(0, 0, 0, .38);
  cursor: pointer;
  font-size: 15px;
  transition: transform .2s, background .2s;
}

.student-list-scroll-button:hover {
  transform: translateY(2px);
  background: rgba(11, 50, 24, .98);
}

@media(max-width: 759px) {
  .student-records-scroll {
    max-height: min(52svh, 430px);
  }

  .student-list-scroll-button {
    right: 13px;
    bottom: 13px;
  }
}

.participant-publish-note {
  margin: -2px 0 3px;
  padding: 10px 12px;
  border: 1px solid rgba(78, 232, 131, .16);
  border-radius: 10px;
  background: rgba(78, 232, 131, .06);
  color: rgba(210, 255, 222, .68);
  font-size: 9px;
  line-height: 1.5;
}

.participant-program-filter {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  margin: -2px 0 10px;
}

.participant-program-filter span {
  color: rgba(255, 255, 255, .46);
  font-size: 7px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.participant-program-filter select {
  min-width: 0;
  height: 34px;
  padding: 0 28px 0 10px;
  border: 1px solid rgba(255, 255, 255, .13);
  border-radius: 9px;
  outline: 0;
  background: rgba(7, 18, 11, .72);
  color: #dfffe7;
  font-size: 9px;
}

.admin-roster-filter {
  display: grid;
  gap: 7px;
  margin: 0 0 12px;
}

.admin-roster-filter span {
  color: rgba(255, 255, 255, .46);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.admin-roster-filter select {
  width: 100%;
  height: 43px;
  padding: 0 13px;
  border: 1px solid rgba(78, 232, 131, .25);
  border-radius: 11px;
  outline: 0;
  background: rgba(5, 18, 10, .82);
  color: #e5ffeb;
}

.admin-roster-filter select:focus {
  border-color: #4ee883;
  box-shadow: 0 0 0 3px rgba(78, 232, 131, .08);
}

.admin-roster-empty {
  margin: 14px 0;
  padding: 24px 14px;
  border: 1px dashed rgba(255, 255, 255, .13);
  border-radius: 12px;
  color: rgba(255, 255, 255, .45);
  font-size: 10px;
  text-align: center;
}

.participant-results-scroll {
  max-height: 390px;
  overflow-y: auto;
  padding-right: 5px;
  overscroll-behavior: contain;
  scrollbar-color: rgba(78, 232, 131, .58) rgba(255, 255, 255, .05);
  scrollbar-width: thin;
}

.participant-results-scroll::-webkit-scrollbar { width: 4px; }
.participant-results-scroll::-webkit-scrollbar-track { background: rgba(255, 255, 255, .05); }
.participant-results-scroll::-webkit-scrollbar-thumb {
  border-radius: 99px;
  background: rgba(78, 232, 131, .58);
}

@media(max-width: 600px) {
  .participant-results-scroll {
    max-height: min(48svh, 370px);
  }
}

/* Immediate, lightweight feedback for every admin mutation. */
.admin-saving-overlay {
  position: fixed;
  inset: 0;
  z-index: 5000;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(2, 8, 5, .58);
  backdrop-filter: blur(5px);
}

.admin-saving-dialog {
  position: relative;
  width: min(100%, 340px);
  overflow: hidden;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  padding: 18px;
  border: 1px solid rgba(78, 232, 131, .26);
  border-radius: 17px;
  background: rgba(7, 20, 11, .97);
  box-shadow: 0 28px 85px rgba(0, 0, 0, .55);
}

.admin-saving-dialog > div {
  min-width: 0;
  display: grid;
  gap: 5px;
}

.admin-saving-dialog strong {
  color: #f2fff5;
  font-size: 13px;
}

.admin-saving-dialog small {
  color: rgba(255, 255, 255, .5);
  font-size: 8px;
  line-height: 1.5;
}

.admin-saving-dialog > b {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 45%;
  height: 2px;
  background: linear-gradient(90deg, transparent, #4ee883, transparent);
  animation: adminSavingBar 1.15s ease-in-out infinite;
}

.admin-saving-spinner {
  position: relative;
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(78, 232, 131, .18);
  border-radius: 14px;
  background: rgba(78, 232, 131, .07);
}

.admin-saving-spinner i {
  position: absolute;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #62ec83;
  box-shadow: 0 0 12px rgba(78, 232, 131, .7);
  animation: adminSavingDot 1s ease-in-out infinite;
}

.admin-saving-spinner i:nth-child(1) { transform: translateX(-11px); animation-delay: -.2s; }
.admin-saving-spinner i:nth-child(3) { transform: translateX(11px); animation-delay: .2s; }

/* Complete admin control suite */
.admin-session-check{min-height:210px;display:grid;place-content:center;justify-items:center;gap:26px;text-align:center}.admin-session-check .admin-saving-spinner{position:relative}.admin-session-check p{margin:0!important;color:rgba(255,255,255,.55)!important;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.admin-online-dot{display:inline-block;width:7px;height:7px;margin-right:6px;border-radius:50%;background:#4ee883;box-shadow:0 0 0 5px rgba(78,232,131,.09),0 0 15px rgba(78,232,131,.6);animation:adminOnlinePulse 2s ease-in-out infinite}.admin-head-actions{display:flex;align-items:center;gap:9px;flex:none}.admin-preview-link{min-height:42px;display:grid;place-items:center;padding:0 14px;border:1px solid rgba(255,255,255,.13);border-radius:10px;background:rgba(255,255,255,.035);color:rgba(255,255,255,.72);font-size:10px;font-weight:800}.admin-preview-link:hover{border-color:rgba(78,232,131,.35);color:#a8f5bc}
@keyframes adminOnlinePulse{50%{opacity:.5;box-shadow:0 0 0 9px rgba(78,232,131,0)}}

.team-manager-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.team-control-card{position:relative;overflow:hidden;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;padding:22px;border:1px solid rgba(255,255,255,.14);border-radius:20px;background:radial-gradient(circle at 100% 0,color-mix(in srgb,var(--team) 13%,transparent),transparent 32%),linear-gradient(145deg,rgba(7,17,11,.82),rgba(5,11,8,.58));box-shadow:0 22px 65px rgba(0,0,0,.24)}.team-control-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--team)}.team-control-card>header{grid-column:1/-1;display:grid;grid-template-columns:46px minmax(0,1fr) auto;gap:12px;align-items:center}.team-control-card>header h2{margin:2px 0 0;color:#fff;font-size:23px}.team-control-card>header>strong{color:#fff;font-size:30px;line-height:.8;text-align:right}.team-control-card>header>strong small{display:block;margin-top:7px;color:rgba(255,255,255,.35);font-size:7px;letter-spacing:.12em;text-transform:uppercase}.team-control-swatch{width:46px;height:46px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--team) 40%,rgba(255,255,255,.15));border-radius:13px;background:color-mix(in srgb,var(--team) 12%,rgba(255,255,255,.03))}.team-control-swatch i{width:18px;height:18px;border-radius:50%;background:var(--team);box-shadow:0 0 20px color-mix(in srgb,var(--team) 70%,transparent)}.team-control-stats{grid-column:1/-1;display:flex;gap:8px;padding:10px 0;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}.team-control-stats span{flex:1;color:rgba(255,255,255,.42);font-size:9px;text-transform:capitalize}.team-control-stats b{margin-right:4px;color:#fff}.team-control-card label{display:grid;gap:7px}.team-control-card label>span{color:rgba(255,255,255,.46);font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.team-control-card input{width:100%;height:49px;min-width:0;padding:0 12px;border:1px solid rgba(255,255,255,.13);border-radius:10px;outline:0;background:rgba(255,255,255,.045);color:#fff}.team-control-card input:focus{border-color:var(--team);box-shadow:0 0 0 4px color-mix(in srgb,var(--team) 12%,transparent)}.team-color-field{display:grid;grid-template-columns:49px minmax(0,1fr);gap:7px}.team-color-field input[type=color]{padding:5px;cursor:pointer}.team-control-card>.button{grid-column:1/-1;width:100%;min-height:46px}.team-control-card>.button:disabled{cursor:default;opacity:.42}

.admin-roster-tools{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 14px}.admin-roster-tools .admin-roster-filter{margin:0}.admin-search-field{display:grid;gap:6px}.admin-search-field>span{color:var(--muted);font-size:9px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.admin-search-field input{width:100%;height:45px;padding:0 12px;border:1px solid var(--line);border-radius:10px;outline:0;background:#111914;color:#fff}.admin-search-field input:focus{border-color:#4ee883}.admin-search-field input::placeholder{color:rgba(255,255,255,.28)}

.review-admin-workspace{display:grid;grid-template-columns:minmax(260px,.42fr) minmax(0,1fr);gap:16px;align-items:start}.review-admin-summary{position:sticky;top:92px;min-height:250px;display:grid;align-content:space-between;padding:24px;border:1px solid rgba(78,232,131,.2);border-radius:20px;background:radial-gradient(circle at 90% 10%,rgba(78,232,131,.16),transparent 28%),linear-gradient(145deg,rgba(7,28,14,.85),rgba(4,10,7,.62));box-shadow:0 24px 70px rgba(0,0,0,.25)}.review-admin-summary h2{margin:5px 0 7px;color:#fff;font-size:27px;line-height:1.05}.review-admin-summary p:last-child{margin:0;color:rgba(255,255,255,.4);font-size:10px}.review-admin-summary>strong{color:#fff;font-size:70px;line-height:.8;letter-spacing:-.06em}.review-admin-summary>strong span{display:block;margin-top:18px;color:#f2ca52;font-size:13px;letter-spacing:.2em}.review-admin-list{display:grid;gap:10px}.review-admin-card{padding:18px;border:1px solid rgba(255,255,255,.12);border-radius:17px;background:linear-gradient(145deg,rgba(8,17,11,.76),rgba(5,10,7,.52));box-shadow:0 18px 50px rgba(0,0,0,.18)}.review-admin-card>header{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;align-items:center}.review-admin-card>header>span{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:rgba(78,232,131,.1);color:#8ce094;font-weight:900}.review-admin-card h3{margin:0 0 3px;color:#fff;font-size:13px}.review-admin-card time{color:rgba(255,255,255,.34);font-size:8px}.review-admin-card>header>b{color:#f2ca52;font-size:10px;letter-spacing:.08em}.review-admin-card>header>b i{color:rgba(255,255,255,.14);font-style:normal}.review-admin-card>p{margin:16px 0;color:rgba(255,255,255,.66);font-size:12px;line-height:1.65}.review-admin-card>footer{display:flex;align-items:center;justify-content:space-between;padding-top:11px;border-top:1px solid rgba(255,255,255,.07)}.review-admin-card>footer span{color:rgba(255,255,255,.25);font-size:8px;text-transform:uppercase}.review-admin-card>footer button{padding:7px 9px;border:1px solid rgba(255,100,100,.18);border-radius:8px;background:rgba(255,80,80,.05);color:#ffaaaa;font-size:9px;cursor:pointer}.admin-empty-state{min-height:320px;display:grid;place-content:center;justify-items:center;padding:30px;border:1px dashed rgba(255,255,255,.15);border-radius:20px;background:rgba(255,255,255,.025);text-align:center}.admin-empty-state>span{font-size:35px;color:#8ce094}.admin-empty-state h3{margin:13px 0 5px;color:#fff}.admin-empty-state p{margin:0 0 18px;color:var(--muted);font-size:11px}

@media(max-width:980px){.team-manager-grid{grid-template-columns:1fr}.review-admin-workspace{grid-template-columns:1fr}.review-admin-summary{position:relative;top:auto;min-height:190px;grid-template-columns:1fr auto;align-items:end}.review-admin-summary>strong{font-size:56px}}
@media(max-width:759px){.admin-sidebar{overflow-x:auto}.admin-sidebar nav{width:max-content;min-width:100%;grid-template-columns:repeat(7,minmax(64px,1fr))}.admin-head-actions{display:grid;justify-items:end}.admin-preview-link{min-height:32px;padding:0 9px}.team-manager-grid{gap:10px}.team-control-card{grid-template-columns:1fr;padding:17px}.team-control-card>header,.team-control-stats,.team-control-card>.button{grid-column:1}.team-control-card label{grid-column:1}.admin-roster-tools{grid-template-columns:1fr}.review-admin-summary{grid-template-columns:1fr;padding:19px}.review-admin-summary>strong{margin-top:28px}.review-admin-card{padding:15px}.review-admin-card>header{grid-template-columns:36px minmax(0,1fr)}.review-admin-card>header>span{width:36px;height:36px}.review-admin-card>header>b{grid-column:2}.admin-online-dot{animation:none}}

/* Team media, expanded settings and final admin alignment */
.team-control-swatch.has-image{overflow:hidden;padding:0;background:#071009}.team-control-swatch img{width:100%;height:100%;object-fit:cover}.team-image-upload{grid-column:1/-1;position:relative}.team-image-upload>input{position:absolute;inset:0;z-index:1;height:100%;opacity:0;cursor:pointer}.team-image-upload>div{min-height:62px;display:grid;align-content:center;padding:10px 14px 10px 48px;border:1px dashed rgba(78,232,131,.3);border-radius:11px;background:linear-gradient(90deg,rgba(78,232,131,.08),rgba(255,255,255,.025));transition:.2s}.team-image-upload>div:before{content:"↑";position:absolute;left:15px;top:34px;width:24px;height:24px;display:grid;place-items:center;border-radius:7px;background:rgba(78,232,131,.13);color:#83efa0;font-weight:900}.team-image-upload:hover>div{border-color:#4ee883;background:rgba(78,232,131,.1)}.team-image-upload b{color:#fff;font-size:11px}.team-image-upload small{margin-top:3px;color:rgba(255,255,255,.38);font-size:8px}
.leader-team-image{width:76px;height:76px;margin-bottom:17px;border:2px solid color-mix(in srgb,var(--team) 60%,#fff);border-radius:21px;object-fit:cover;box-shadow:0 15px 40px rgba(0,0,0,.3),0 0 25px color-mix(in srgb,var(--team) 28%,transparent)}.team-signal.has-image{overflow:hidden;padding:0}.team-signal.has-image img{width:100%;height:100%;object-fit:cover}
.settings-visibility-list{display:grid;gap:11px;margin-top:15px;padding-top:15px;border-top:1px solid rgba(255,255,255,.08)}.settings-visibility-list .setting-switch{min-height:52px;padding:9px;border-radius:11px;background:rgba(255,255,255,.025)}.settings-announcement-card,.settings-contact-card{grid-column:1/-1}.settings-announcement-card .settings-fields,.settings-contact-card .settings-fields{grid-template-columns:1fr}.settings-contact-card .settings-fields{grid-template-columns:1fr 1fr}
.site-announcement{position:fixed;z-index:110;top:84px;left:50%;width:min(720px,calc(100% - 30px));min-height:44px;display:flex;align-items:center;gap:10px;padding:8px 13px;border:1px solid rgba(78,232,131,.34);border-radius:12px;background:rgba(6,26,12,.93);color:#fff;box-shadow:0 18px 55px rgba(0,0,0,.38);backdrop-filter:blur(18px);transform:translateX(-50%)}.site-announcement i{width:25px;height:25px;display:grid;place-items:center;flex:none;border-radius:7px;background:#4ee883;color:#071008;font-size:10px;font-style:normal;font-weight:900}.site-announcement strong{min-width:0;overflow:hidden;font-size:10px;text-overflow:ellipsis;white-space:nowrap}.site-announcement span{margin-left:auto;color:#9fe8b4;font-size:8px;white-space:nowrap}.public-section-unavailable{min-height:70vh;display:grid;place-content:center;justify-items:start;padding-top:110px}.public-section-unavailable>span{color:#8ce094;font-size:9px;font-weight:900;letter-spacing:.14em;text-transform:uppercase}.public-section-unavailable h1{margin:10px 0;color:#fff;font-size:clamp(44px,8vw,78px)}.public-section-unavailable p{margin:0 0 22px;color:var(--muted)}
@media(min-width:760px){body.page-admin .admin-sidebar{height:calc(100vh - 112px)!important;min-height:560px!important;max-height:none!important}body.page-admin .admin-sidebar nav{min-height:0;overflow-y:auto;padding-right:2px}body.page-admin .admin-identity{flex:none;margin-top:auto}body.page-admin .admin-home-link{flex:none;text-align:center}body.page-admin .admin-workspace-head{align-items:center}body.page-admin .admin-head-actions{align-self:center}}
@media(max-width:759px){.settings-contact-card .settings-fields{grid-template-columns:1fr}.site-announcement{top:69px}.site-announcement span{display:none}.leader-team-image{width:60px;height:60px}.public-section-unavailable{padding:120px 18px 100px}.team-image-upload>div:before{top:34px}}
@media(max-width:760px){.leader-score-percentage{position:relative;left:auto;right:auto;bottom:auto;width:100%;margin:16px 0 0;padding:0;border:0}.leader-score-percentage .score-percentage-track{height:20px}.leader-score-percentage>strong{font-size:16px}}

@keyframes adminSavingDot {
  0%, 100% { opacity: .35; scale: .72; }
  50% { opacity: 1; scale: 1; }
}

@keyframes adminSavingBar {
  from { transform: translateX(-110%); }
  to { transform: translateX(330%); }
}

@media(prefers-reduced-motion: reduce) {
  .admin-saving-spinner i,
  .admin-saving-dialog > b { animation: none; }
}

/* Compact handoff from the story chapter to Festival access on phones. */
body.page-home .home-visitor-greeting {
  max-width: min(100%, 420px);
  margin: 0 auto 18px;
  overflow: hidden;
  color: rgba(255, 255, 255, .65);
  font-family: "Ubuntu", sans-serif;
  font-size: 12px;
  line-height: 1.4;
  text-align: center;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body.page-home .home-visitor-greeting strong {
  color: #8ff0a7;
  font-weight: 800;
}

@media(max-width: 600px) {
  body.page-home .home-visitor-greeting {
    max-width: min(100%, 300px);
    margin-bottom: 14px;
    font-size: 10px;
  }

  body.page-home .home-story {
    min-height: auto;
    margin-bottom: 6px;
    padding-bottom: 22px;
  }

  body.page-home .home-access {
    padding-top: 18px !important;
  }
}

/* Native phone layout -----------------------------------------------------
   Keep the existing page photography exactly as composed, but let the UI
   use the real viewport instead of a minimum-width, simulated phone frame. */
@media(max-width: 600px) {
  html,
  body {
    width: 100%;
    min-width: 0;
  }

  body:not(.page-home):not(.page-admin) {
    padding: 0 0 72px;
  }

  body:not(.page-home):not(.page-admin)::after {
    display: none;
  }

  body:not(.page-home):not(.page-admin) main {
    width: 100%;
    max-width: 440px;
    min-height: 100svh;
    margin: 0 auto;
    padding: 58px clamp(12px, 4.2vw, 18px) 0;
    border-radius: 0;
  }

  body:not(.page-home):not(.page-admin) .site-header {
    top: 10px;
    width: calc(100% - 20px);
    max-width: 420px;
    min-height: 44px;
    padding: 6px 8px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 14px;
  }

  body:not(.page-home):not(.page-admin) .site-logo {
    gap: 7px;
    padding-right: 66px;
  }

  body:not(.page-home):not(.page-admin) .site-logo img {
    width: 30px;
    height: 30px;
  }

  body:not(.page-home):not(.page-admin) .site-logo b {
    font-size: clamp(10px, 3.3vw, 13px);
    white-space: nowrap;
  }

  body:not(.page-home):not(.page-admin) .site-logo small {
    font-size: 6px;
    letter-spacing: .08em;
    white-space: nowrap;
  }

  body:not(.page-home):not(.page-admin) .visitor-logout-floating {
    top: 16px;
    right: max(16px, calc(50% - 194px));
    height: 32px;
    padding: 0 9px 0 5px;
    gap: 4px;
    font-size: 7px;
  }

  body:not(.page-home):not(.page-admin) .visitor-logout-floating span {
    width: 22px;
    height: 22px;
    font-size: 10px;
  }

  body:not(.page-home):not(.page-admin) .mobile-tabbar {
    bottom: 0;
    width: 100%;
    max-width: 440px;
    height: 54px;
    border-radius: 14px 14px 0 0;
  }

  body.page-scoreboard .scoreboard-experience {
    padding: 28px 0 72px;
  }

  body.page-scoreboard .leaderboard-header {
    gap: 13px;
    margin-bottom: 16px;
    padding-inline: 2px;
  }

  body.page-scoreboard .leaderboard-header h1 {
    font-size: clamp(39px, 12.5vw, 52px);
    line-height: .9;
  }

  body.page-scoreboard .leaderboard-status {
    padding-left: 11px;
  }

  body.page-scoreboard .leaderboard-status p {
    margin-top: 9px;
    font-size: 9px;
    line-height: 1.45;
  }

  body.page-scoreboard .leaderboard-glass {
    border-radius: 18px;
  }

  body.page-scoreboard .leader-feature {
    min-height: 275px;
    padding: 16px;
    padding-bottom: 60px;
  }

  body.page-scoreboard .leader-identity {
    margin: 25px 0 18px;
  }

  body.page-scoreboard .leader-identity h2 {
    font-size: clamp(32px, 10vw, 40px);
  }

  body.page-scoreboard .leader-score-block {
    right: 16px;
    bottom: 67px;
  }

  body.page-scoreboard .leader-score-block strong {
    font-size: clamp(52px, 16vw, 64px);
  }

  body.page-scoreboard .leader-score-percentage {
    left: 16px;
    right: 16px;
    bottom: 16px;
  }

  body.page-scoreboard .ranking-panel {
    padding: 13px 9px;
  }

  body.page-scoreboard .ranking-row {
    min-height: 68px;
    grid-template-columns: 21px 27px minmax(0,1fr) auto;
    gap: 7px;
    padding: 9px 8px;
    border-radius: 12px;
  }

  body.page-scoreboard .team-signal {
    width: 27px;
    height: 27px;
  }

  body.page-scoreboard .ranking-team h3 {
    font-size: 12px;
  }

  body.page-scoreboard .ranking-score {
    min-width: 38px;
    font-size: 24px;
  }

  body.page-schedule .schedule-head {
    min-height: 0;
    margin: 0;
    padding: 30px 2px 20px;
  }

  body.page-schedule .schedule-head h1 {
    max-width: 10ch;
    font-size: clamp(39px, 12.5vw, 52px);
    line-height: .94;
  }

  body.page-schedule .schedule-head > p {
    margin: 0;
    font-size: 10px;
    line-height: 1.55;
  }

  body.page-schedule .schedule-tabs {
    margin-bottom: 12px;
    padding: 4px;
  }

  body.page-schedule .schedule-tabs button {
    min-width: 76px;
    padding: 8px 10px;
    font-size: 9px;
  }

  body.page-schedule .schedule-column > header {
    min-height: 66px;
    padding: 13px;
  }

  body.page-schedule .schedule-column > header h2 {
    font-size: 20px;
  }

  body.page-schedule .schedule-row {
    min-height: 62px;
    padding: 10px;
  }

  body.page-participants .participant-shell {
    margin: 0;
    padding: 90px 0 72px;
  }

  body.page-participants .participant-title {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: end;
    gap: 24px;
    margin-bottom: 34px;
  }

  body.page-participants .participant-title h1 {
    margin: 0;
    font-size: clamp(46px, 10vw, 78px);
    letter-spacing: -0.03em;
    max-width: 12ch;
  }

  body.page-participants .participant-title p {
    color: var(--muted);
    line-height: 1.75;
  }

  body.page-participants .participant-page-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    align-items: center;
    min-width: 320px;
    padding: 20px;
    border: 1px solid rgba(78, 232, 131, 0.18);
    border-radius: 22px;
    background: rgba(6, 16, 10, 0.72);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
  }

  body.page-participants .participant-page-summary span {
    display: grid;
    gap: 6px;
    padding: 16px;
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.04);
  }

  body.page-participants .participant-page-summary span strong {
    font: 900 clamp(32px, 5vw, 46px) / 1 "Ubuntu", sans-serif;
    color: #fff;
  }

  body.page-participants .participant-page-summary span small {
    color: #b8f8c4;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
  }

  body.page-participants .participant-page-summary a {
    justify-self: end;
    padding: 12px 18px;
    border-radius: 999px;
    border: 1px solid rgba(78, 232, 131, 0.28);
    background: rgba(78, 232, 131, 0.08);
    color: #d8ffd9;
    font-size: 12px;
    font-weight: 700;
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
  }

  body.page-participants .participant-page-summary a:hover {
    background: #4ee883;
    color: #061009;
  }

  body.page-participants .participant-layout {
    display: grid;
    grid-template-columns: 1.3fr 0.75fr;
    gap: 24px;
  }

  body.page-participants .speaker-card {
    min-height: 420px;
    padding: 28px;
    border-radius: 26px;
    border: 1px solid rgba(78, 232, 131, 0.18);
    background: linear-gradient(180deg, rgba(7, 18, 11, 0.95), rgba(14, 39, 19, 0.92));
    box-shadow: 0 30px 90px rgba(0, 0, 0, 0.28);
  }

  body.page-participants .speaker-card:before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at top right, rgba(78, 232, 131, 0.18), transparent 24%);
    pointer-events: none;
  }

  body.page-participants .speaker-card * {
    position: relative;
    z-index: 1;
  }

  body.page-participants .speaker-card h2 {
    font-size: clamp(42px, 10vw, 84px);
  }

  body.page-participants .speaker-card footer strong {
    font-size: 40px;
  }

  body.page-participants .participant-search {
    height: 54px;
    margin: 18px 0 18px;
    border: 1px solid rgba(78, 232, 131, 0.18);
    border-radius: 16px;
    background: rgba(4, 14, 8, 0.75);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
  }

  body.page-participants .participant-search:focus-within {
    border-color: #4ee883;
    background: rgba(4, 14, 8, 0.9);
  }

  body.page-participants .participant-search input {
    padding: 0 18px;
    color: #f4fff5;
    font-size: 14px;
  }

  body.page-participants .participant-search button {
    width: 54px;
    background: rgba(78, 232, 131, 0.12);
    color: #d7ffd4;
  }

  body.page-participants .participant-search button:hover {
    background: #4ee883;
    color: #061009;
  }

  body.page-participants .participant-results-scroll {
    max-height: min(42svh, 330px);
  }

  body.page-participants .participant-row {
    min-height: 82px;
    grid-template-columns: 52px minmax(0, 1fr) 40px;
    padding: 16px;
  }

  body.page-participants .participant-row:hover,
  body.page-participants .participant-row.active {
    transform: translateX(3px);
    border-color: rgba(78, 232, 131, 0.45);
    background: linear-gradient(90deg, rgba(78, 232, 131, 0.14), rgba(78, 232, 131, 0.06));
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.15);
  }

  body.page-participants .participant-row time,
  body.page-participants .participant-row small {
    color: var(--muted);
    font-size: 11px;
  }

  body.page-participants .participant-row span {
    gap: 6px;
  }

  body.page-participants .participant-row strong {
    font-size: 15px;
  }

  body.page-participants .participant-row b {
    width: 40px;
    height: 40px;
    font-size: 12px;
  }

  body.page-review .review-shell {
    min-height: 0;
    gap: 20px;
    margin: 0;
    padding: 30px 0 72px;
  }

  body.page-review .review-copy h1 {
    font-size: clamp(39px, 12.5vw, 52px);
    line-height: .93;
  }

  body.page-review .review-copy > p:last-child {
    margin-top: 13px;
    font-size: 10px;
    line-height: 1.55;
  }

  body.page-review .review-card {
    gap: 15px;
    padding: 15px;
    border-radius: 17px;
  }

  body.page-review .rating-buttons button {
    font-size: 25px;
  }

  body.page-review .review-card textarea {
    min-height: 88px;
  }
}

@media(max-width: 350px) {
  body:not(.page-home):not(.page-admin) main {
    padding-inline: 10px;
  }

  body:not(.page-home):not(.page-admin) .site-logo {
    padding-right: 57px;
  }

  body:not(.page-home):not(.page-admin) .visitor-logout-floating {
    right: 13px;
  }

  body.page-scoreboard .leaderboard-header h1,
  body.page-schedule .schedule-head h1,
  body.page-review .review-copy h1 {
    font-size: 38px;
  }
}

/* Responsive scoreboard presentation */
@media(min-width:761px) and (max-width:1024px){
  body.page-scoreboard .scoreboard-experience{padding-top:82px}
  body.page-scoreboard .leaderboard-header{grid-template-columns:1fr minmax(250px,.7fr);gap:24px}
  body.page-scoreboard .leaderboard-header h1{font-size:clamp(58px,8vw,76px)}
  body.page-scoreboard .leaderboard-glass{grid-template-columns:minmax(280px,.9fr) minmax(420px,1.1fr)}
  body.page-scoreboard .leader-feature{min-height:500px;padding:24px}
  body.page-scoreboard .leader-identity{align-items:flex-start;flex-direction:column;gap:13px}
  body.page-scoreboard .leader-avatar{width:62px;height:62px}
  body.page-scoreboard .leader-identity-copy h2{font-size:38px}
  body.page-scoreboard .leader-performance{grid-template-columns:1fr}
  body.page-scoreboard .leader-advantage{min-width:0;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,.09);border-left:0;text-align:left}
  body.page-scoreboard .ranking-panel{padding:22px 18px}
  body.page-scoreboard .ranking-row{grid-template-columns:29px 35px minmax(0,1fr) auto;gap:10px;padding:12px}
}

@media(max-width:760px){
  body.page-scoreboard main{max-width:520px;padding-inline:clamp(10px,3.8vw,18px)}
  body.page-scoreboard .scoreboard-experience{padding:24px 0 76px}
  body.page-scoreboard .leaderboard-header{display:grid;grid-template-columns:1fr;gap:10px;margin-bottom:14px;padding:0}
  body.page-scoreboard .leaderboard-header .overline{display:none}
  body.page-scoreboard .leaderboard-header h1{font-size:clamp(39px,12vw,54px);line-height:.88;letter-spacing:-.04em}
  body.page-scoreboard .leaderboard-header h1>span,
  body.page-scoreboard .leaderboard-header h1>br{display:none}
  body.page-scoreboard .leaderboard-header h1 em{color:#7ef29d}
  body.page-scoreboard .leaderboard-status{justify-self:stretch;max-width:none;padding:0;border:0}
  body.page-scoreboard .leaderboard-status>span{gap:7px;font-size:7px;letter-spacing:.12em}
  body.page-scoreboard .leaderboard-status>span i{width:6px;height:6px;box-shadow:0 0 0 4px rgba(78,232,131,.1)}
  body.page-scoreboard .leaderboard-status p{max-width:390px;margin:6px 0 0;color:rgba(255,255,255,.43);font-size:8px;line-height:1.4}
  body.page-scoreboard .leaderboard-glass{display:grid;grid-template-columns:1fr;overflow:hidden;border-color:rgba(255,255,255,.13);border-radius:18px;background:rgba(4,11,7,.72);box-shadow:0 20px 55px rgba(0,0,0,.28);backdrop-filter:blur(12px)}
  body.page-scoreboard .leader-feature{min-height:0;display:flex;padding:14px 13px 17px;border-right:0;border-bottom:1px solid rgba(255,255,255,.12);background:linear-gradient(155deg,color-mix(in srgb,var(--team) 8%,#07110b),#06100a)}
  body.page-scoreboard .leader-feature-top{padding-bottom:11px}
  body.page-scoreboard .leader-rank{gap:7px}
  body.page-scoreboard .leader-rank b{font-size:14px}
  body.page-scoreboard .leader-rank small{font-size:6px}
  body.page-scoreboard .leader-live{padding:5px 7px;font-size:6px}
  body.page-scoreboard .leader-identity{display:flex;align-items:center;flex-direction:row;gap:11px;margin:18px 0 15px}
  body.page-scoreboard .leader-avatar{width:48px;height:48px;border-radius:14px}
  body.page-scoreboard .leader-avatar b{font-size:22px}
  body.page-scoreboard .leader-identity-copy p{margin-bottom:4px;font-size:6px}
  body.page-scoreboard .leader-identity-copy h2{font-size:clamp(26px,8.5vw,38px);line-height:.92;white-space:normal}
  body.page-scoreboard .leader-identity-copy>span{margin-top:5px;font-size:7px}
  body.page-scoreboard .leader-performance{display:grid;grid-template-columns:minmax(0,1fr) 92px;border-radius:13px}
  body.page-scoreboard .leader-score-block{position:relative;inset:auto;display:flex;align-items:end;gap:7px;padding:13px;text-align:left}
  body.page-scoreboard .leader-score-block strong{font-size:clamp(44px,14vw,60px);line-height:.72}
  body.page-scoreboard .leader-score-block span{padding-bottom:1px;font-size:6px}
  body.page-scoreboard .leader-advantage{min-width:0;display:grid;place-content:center;padding:10px;border-top:0;border-left:1px solid rgba(255,255,255,.09);text-align:center}
  body.page-scoreboard .leader-advantage span{font-size:6px}
  body.page-scoreboard .leader-advantage strong{margin:5px 0 0;font-size:18px}
  body.page-scoreboard .leader-score-percentage{position:relative;inset:auto;width:100%;margin:12px 0 0;padding:0;border:0}
  body.page-scoreboard .leader-score-percentage .score-percentage-track{height:13px;background:rgba(31,109,55,.48)}
  body.page-scoreboard .leader-score-percentage>strong{min-width:34px;font-size:13px}
  body.page-scoreboard .ranking-panel{padding:12px 9px 14px}
  body.page-scoreboard .ranking-panel>header{padding:1px 5px 9px;font-size:6px}
  body.page-scoreboard .ranking-panel>header div{gap:16px}
  body.page-scoreboard .ranking-panel>header strong{font-size:7px}
  body.page-scoreboard .ranking-list{gap:7px}
  body.page-scoreboard .ranking-row{min-height:61px;grid-template-columns:18px 27px minmax(0,1fr) 36px;gap:7px;padding:8px 7px;border-radius:11px}
  body.page-scoreboard .ranking-position{font-size:7px}
  body.page-scoreboard .team-signal{width:27px;height:27px;border-radius:9px}
  body.page-scoreboard .ranking-team h3{font-size:10px}
  body.page-scoreboard .ranking-progress{margin-top:6px}
  body.page-scoreboard .ranking-progress .score-percentage-track{height:10px}
  body.page-scoreboard .ranking-progress .score-percentage>strong,
  body.page-scoreboard .ranking-progress>strong{min-width:27px;font-size:10px}
  body.page-scoreboard .ranking-score{min-width:36px;font-size:21px}
  body.page-scoreboard .ranking-score small{font-size:5px}
  body.page-scoreboard .ranking-panel>footer{padding:13px 5px 0;font-size:6px}
}

@media(max-width:360px){
  body.page-scoreboard .leader-performance{grid-template-columns:minmax(0,1fr) 78px}
  body.page-scoreboard .leader-score-block{padding:11px 9px}
  body.page-scoreboard .leader-score-block strong{font-size:42px}
  body.page-scoreboard .leader-score-block span{display:none}
  body.page-scoreboard .leader-identity-copy h2{font-size:25px}
  body.page-scoreboard .ranking-panel>footer span:first-child{display:none}
}

/* Homepage institutional footer — Al Jamiathul Kauzariyya */
body.page-home .site-footer.simple-social-footer.home-institution-footer{
  position:relative;
  isolation:isolate;
  width:100%;
  min-height:360px;
  display:grid!important;
  grid-template-columns:minmax(0,1fr);
  align-content:center;
  justify-items:start;
  gap:22px;
  margin:54px 0 0;
  padding:clamp(46px,7vw,82px) max(28px,calc((100% - 1120px)/2));
  overflow:hidden;
  border:0;
  border-radius:0;
  background:linear-gradient(135deg,#f8faf9,#f1f5f3);
  box-shadow:none;
  color:#112018;
  text-align:left;
  backdrop-filter:none;
}
body.page-home .site-footer.simple-social-footer.home-institution-footer:before{content:"";position:absolute;z-index:-1;top:-105px;right:-120px;width:400px;height:400px;border:58px solid rgba(28,126,59,.035);border-radius:50%}
body.page-home .site-footer.simple-social-footer.home-institution-footer:after{content:"";position:absolute;z-index:-1;right:62px;bottom:-155px;width:310px;height:310px;border:1px solid rgba(28,126,59,.07);border-radius:50%}
.home-footer-identity{display:grid;justify-items:start;max-width:520px}
.home-footer-identity>a{display:block;width:min(235px,70vw);margin-bottom:17px}.home-footer-identity img{width:100%;height:auto;max-height:68px;object-fit:contain;object-position:left center}
.home-footer-identity h2{margin:0 0 10px;color:#112018;font: 800 clamp(18px,2.4vw,25px)/1.05 "Ubuntu", sans-serif;letter-spacing:.035em}
.home-footer-identity address{color:#68736d;font-size:13px;font-style:normal;line-height:1.55}
body.page-home .home-institution-footer .simple-social-icons{justify-content:flex-start;gap:10px}
body.page-home .home-institution-footer .simple-social-icons a{box-shadow:inset 0 1px 0 rgba(255,255,255,.45),0 8px 20px rgba(20,40,28,.12)}
.home-footer-copyright{margin:10px 0 0!important;color:#9aa29e!important;font-size:9px!important;letter-spacing:.025em}

@media(max-width:600px){
  body.page-home .site-footer.simple-social-footer.home-institution-footer{min-height:330px;margin-top:36px;margin-bottom:58px;padding:42px 22px;gap:19px}
  body.page-home .site-footer.simple-social-footer.home-institution-footer:before{top:-130px;right:-190px}
  .home-footer-identity>a{width:190px;margin-bottom:14px}.home-footer-identity h2{font-size:17px}.home-footer-identity address{font-size:11px}
  body.page-home .home-institution-footer .simple-social-icons{gap:8px}
  .home-footer-copyright{font-size:8px!important}
}

/* Minimal linked social logos */
body:not(.page-home) .site-footer.simple-social-footer{display:none!important}
.site-footer.simple-social-footer,
body.page-home .site-footer.simple-social-footer{
  position:relative;
  z-index:3;
  width:100%;
  max-width:none;
  min-height:0;
  display:flex!important;
  align-items:center;
  justify-content:center;
  margin:38px auto 24px;
  padding:12px 16px;
  border:0;
  border-radius:0;
  background:none;
  box-shadow:none;
  color:inherit;
  text-align:center;
  backdrop-filter:none;
}
.simple-social-icons {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  perspective: 600px;
}

.simple-social-icons a {
  --social: #fff;
  position: relative;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  overflow: hidden;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.15);
  border-radius: 14px;
  background: linear-gradient(145deg, color-mix(in srgb, var(--social) 12%, rgba(255, 255, 255, 0.08)), rgba(255, 255, 255, 0.03));
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.3);
  color: var(--social);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  opacity: 0;
  transform: translateY(12px) scale(0.88);
  animation: socialLogoIn 0.5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), background 0.35s ease, box-shadow 0.35s ease, border-color 0.35s ease !important;
  will-change: transform;
}

.simple-social-icons a:before {
  content: "";
  position: absolute;
  inset: -60% 40% -60% -90%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.35), transparent);
  transform: skewX(-20deg) translateX(-100%);
  transition: transform 0.6s ease;
}

.simple-social-icons a:hover {
  z-index: 2;
  transform: translateY(-7px) scale(1.16) translateZ(0) !important;
  border-color: color-mix(in srgb, var(--social) 60%, #fff);
  background: color-mix(in srgb, var(--social) 24%, rgba(6, 18, 12, 0.88)) !important;
  box-shadow: 0 16px 36px color-mix(in srgb, var(--social) 45%, rgba(0, 0, 0, 0.5)), 0 0 24px color-mix(in srgb, var(--social) 35%, transparent) !important;
}

.simple-social-icons a:hover:before {
  transform: skewX(-20deg) translateX(420%);
}

.simple-social-icons a:active {
  transform: translateY(-2px) scale(0.95) !important;
}

.simple-social-icons svg {
  position: relative;
  z-index: 1;
  width: 28px;
  height: 28px;
  display: block;
  stroke: none;
  stroke-width: 0;
  transition: transform 0.28s cubic-bezier(0.2, 0.8, 0.2, 1);
  filter: none !important;
}

.simple-social-icons a:hover svg {
  transform: translateY(-3px) scale(1.08);
  filter: none !important;
}

.simple-social-icons a:nth-child(1) { animation-delay: 0.05s; }
.simple-social-icons a:nth-child(2) { animation-delay: 0.1s; }
.simple-social-icons a:nth-child(3) { animation-delay: 0.15s; }
.simple-social-icons a:nth-child(4) { animation-delay: 0.2s; }
.simple-social-icons a:nth-child(5) { animation-delay: 0.25s; }

.simple-social-icons .instagram { --social: #f152a4; }
.simple-social-icons .youtube { --social: #ff3355; }
.simple-social-icons .whatsapp { --social: #25d366; }
.simple-social-icons .x-social { --social: #ffffff; }
.simple-social-icons .facebook { --social: #1877f2; }

@keyframes socialLogoIn {
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.simple-social-icons .instagram:hover svg,
.simple-social-icons .youtube:hover svg,
.simple-social-icons .whatsapp:hover svg,
.simple-social-icons .x-social:hover svg,
.simple-social-icons .facebook:hover svg {
  animation: simpleIconHoverLift 0.28s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
}

@keyframes simpleIconHoverLift {
  0% { transform: translateY(0) scale(1); }
  100% { transform: translateY(-3px) scale(1.08); }
}
@media(max-width:600px){.site-footer.simple-social-footer,body.page-home .site-footer.simple-social-footer{margin:24px auto 68px;padding:10px}.simple-social-icons{gap:10px}.simple-social-icons a{width:38px;height:38px;border-radius:11px}.simple-social-icons svg{width:19px;height:19px}}
@media(prefers-reduced-motion:reduce){.simple-social-icons a{opacity:1;transform:none;animation:none;transition:none}.simple-social-icons a:before{display:none}.simple-social-icons a:hover{transform:none}.simple-social-icons a:hover svg,.simple-social-icons .youtube:hover svg path:last-child{transform:none;animation:none}}

/* Shared Kauzariyya social footer */
.site-footer.social-site-footer,
body.page-home .site-footer.social-site-footer{
  position:relative;
  z-index:3;
  width:min(1160px,calc(100% - 32px));
  max-width:none;
  display:grid!important;
  grid-template-columns:1fr;
  gap:22px;
  margin:58px auto 22px;
  padding:25px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.13);
  border-radius:22px;
  background:radial-gradient(circle at 8% 0,rgba(78,232,131,.1),transparent 26%),linear-gradient(145deg,rgba(7,17,11,.94),rgba(4,10,7,.9));
  box-shadow:0 28px 80px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.04);
  color:#fff;
  text-align:left;
  backdrop-filter:blur(18px);
}
.site-footer.social-site-footer:before{content:"";position:absolute;inset:0 0 auto;height:2px;background:linear-gradient(90deg,#4ee883,rgba(78,232,131,.15),transparent 72%)}
.social-footer-intro{display:grid;grid-template-columns:minmax(250px,.7fr) minmax(320px,1.3fr);gap:30px;align-items:center;padding-bottom:21px;border-bottom:1px solid rgba(255,255,255,.09)}
.social-footer-brand{display:flex;align-items:center;gap:12px;width:max-content;max-width:100%}
.social-footer-brand img{width:48px;height:48px;object-fit:contain;padding:6px;border-radius:13px;background:#fff;box-shadow:0 14px 32px rgba(0,0,0,.3)}
.social-footer-brand>span{min-width:0;display:grid;gap:3px}.social-footer-brand strong{color:#fff;font: 800 15px/1 "Ubuntu", sans-serif;letter-spacing:.06em}.social-footer-brand small{overflow:hidden;color:rgba(255,255,255,.4);font-size:8px;letter-spacing:.05em;text-overflow:ellipsis;white-space:nowrap}
.social-footer-intro>div{justify-self:end;max-width:460px}.social-footer-intro .overline{margin-bottom:4px;font-size:8px}.social-footer-intro h2{margin:0;color:#fff;font-size:27px}.social-footer-intro>div>p:last-child{margin:6px 0 0;color:rgba(255,255,255,.46);font-size:10px;line-height:1.55}
.social-footer-links{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}
.social-link{--social:#8ce094;min-width:0;min-height:72px;display:grid;grid-template-columns:38px minmax(0,1fr) 16px;gap:10px;align-items:center;padding:11px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.035);transition:transform .22s,border-color .22s,background .22s}
.social-link:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--social) 48%,rgba(255,255,255,.15));background:color-mix(in srgb,var(--social) 8%,rgba(255,255,255,.035))}
.social-link>i{width:38px;height:38px;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--social) 30%,rgba(255,255,255,.12));border-radius:11px;background:color-mix(in srgb,var(--social) 11%,rgba(255,255,255,.025));color:var(--social);font-style:normal}.social-link svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.social-link>span{min-width:0;display:grid;gap:3px}.social-link small{color:rgba(255,255,255,.35);font-size:7px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.social-link strong{overflow:hidden;color:rgba(255,255,255,.88);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.social-link>b{color:rgba(255,255,255,.28);font-size:11px;transition:color .22s,transform .22s}.social-link:hover>b{transform:translate(2px,-2px);color:var(--social)}
.social-link.instagram{--social:#f65aa3}.social-link.youtube{--social:#ff5b65}.social-link.whatsapp{--social:#43e079}.social-link.x-social{--social:#e8edf0}.social-link.facebook{--social:#65a2ff}
.social-footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:18px;color:rgba(255,255,255,.3);font-size:8px;font-weight:700;letter-spacing:.06em}.social-footer-bottom a{color:#8ce094}

@media(max-width:900px){.social-footer-links{grid-template-columns:repeat(3,minmax(0,1fr))}.social-footer-intro{grid-template-columns:1fr 1fr}}
@media(max-width:600px){
  .site-footer.social-site-footer,
  body.page-home .site-footer.social-site-footer{width:calc(100% - 20px);gap:16px;margin:35px auto 72px;padding:17px;border-radius:18px}
  .social-footer-intro{grid-template-columns:1fr;gap:18px;padding-bottom:17px}.social-footer-intro>div{justify-self:start}.social-footer-intro h2{font-size:23px}
  .social-footer-brand img{width:43px;height:43px}.social-footer-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.social-link{min-height:62px;grid-template-columns:32px minmax(0,1fr) 12px;gap:8px;padding:8px;border-radius:12px}.social-link>i{width:32px;height:32px;border-radius:9px}.social-link svg{width:17px;height:17px}.social-link strong{font-size:9px}.social-link>b{font-size:9px}.social-link:last-child{grid-column:1/-1}.social-footer-bottom{align-items:flex-start;flex-direction:column;gap:5px}
}

/* Clear, accessible account sign-out control */
.visitor-logout-floating,
body.page-home .visitor-logout-floating,
body.page-admin .visitor-logout-floating{
  width:auto;
  height:42px;
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  gap:9px;
  padding:4px 12px 4px 4px;
  border:1px solid rgba(255,255,255,.13);
  border-radius:12px;
  background:linear-gradient(145deg,rgba(14,28,19,.96),rgba(5,12,8,.94));
  box-shadow:0 12px 34px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.06);
  color:#fff;
  backdrop-filter:blur(16px);
  transition:transform .2s,border-color .2s,background .2s,box-shadow .2s;
}
.visitor-logout-floating .logout-icon{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  flex:none;
  margin:0;
  border:1px solid rgba(78,232,131,.24);
  border-radius:9px;
  background:rgba(78,232,131,.1);
  color:#7df19c;
}
.visitor-logout-floating .logout-icon svg{width:16px;height:16px;display:block;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.visitor-logout-floating .logout-copy{min-width:58px;display:grid;gap:1px;margin:0;text-align:left}
.visitor-logout-floating .logout-copy small{color:rgba(255,255,255,.38);font-size:6px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}
.visitor-logout-floating .logout-copy strong{color:rgba(255,255,255,.88);font-size:9px;font-weight:800;letter-spacing:.02em;white-space:nowrap}
.visitor-logout-floating:hover{transform:translateY(-1px);border-color:rgba(255,112,112,.35);background:linear-gradient(145deg,rgba(39,18,18,.96),rgba(15,8,8,.94));box-shadow:0 15px 38px rgba(0,0,0,.36)}
.visitor-logout-floating:hover .logout-icon{border-color:rgba(255,112,112,.32);background:rgba(255,88,88,.1);color:#ff9b9b}
.visitor-logout-floating:focus-visible{outline:2px solid #78ef98;outline-offset:3px}

@media(max-width:600px){
  .visitor-logout-floating,
  body.page-home .visitor-logout-floating,
  body.page-admin .visitor-logout-floating,
  body:not(.page-home):not(.page-admin) .visitor-logout-floating{height:34px;gap:6px;padding:3px 8px 3px 3px;border-radius:10px}
  .visitor-logout-floating .logout-icon,
  body:not(.page-home):not(.page-admin) .visitor-logout-floating .logout-icon{width:26px;height:26px;border-radius:8px}
  .visitor-logout-floating .logout-icon svg{width:14px;height:14px}
  .visitor-logout-floating .logout-copy,
  .visitor-logout-floating .logout-copy small,
  .visitor-logout-floating .logout-copy strong{display:none!important}
}

@media(max-width:360px){
  .visitor-logout-floating,
  body.page-home .visitor-logout-floating,
  body.page-admin .visitor-logout-floating,
  body:not(.page-home):not(.page-admin) .visitor-logout-floating{width:32px;padding:3px}
  .visitor-logout-floating .logout-copy{display:none}
}

/* Homepage Musabaqa information chapters */
body.page-home .home-platform-statement,
body.page-home .home-musabaqa-about,
body.page-home .home-vision,
body.page-home .home-event-highlights,
body.page-home .home-digital-platform{
  position:relative;
  z-index:2;
  font-family: "Ubuntu", sans-serif;
}

body.page-home .home-platform-statement{
  max-width:1060px;
  display:grid;
  gap:19px;
  margin:36px auto 74px;
  padding:8px 0;
}
body.page-home .home-platform-statement p{max-width:900px;margin:0;color:rgba(255,255,255,.72);font-size:clamp(16px,1.8vw,21px);line-height:1.7}
body.page-home .home-platform-statement strong{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0;color:#eaf8dc;font-size:10px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
body.page-home .home-platform-statement strong i{width:4px;height:4px;border-radius:50%;background:var(--home-green);box-shadow:0 0 10px var(--home-green)}

body.page-home .home-musabaqa-about{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(300px,.85fr);
  gap:16px;
  margin-top:80px;
}
body.page-home .home-musabaqa-about>*,
body.page-home .home-vision article,
body.page-home .home-event-highlights article{
  border:1px solid rgba(255,255,255,.1);
  background:linear-gradient(145deg,rgba(9,20,12,.82),rgba(5,13,8,.65));
  box-shadow:0 22px 65px rgba(0,0,0,.2),inset 0 1px 0 rgba(255,255,255,.025);
}
body.page-home .home-about-copy{padding:clamp(26px,4vw,48px);border-radius:22px}
body.page-home .overline{margin:0 0 17px;color:#7fea98;font-size:9px;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
body.page-home .home-about-copy h2,
body.page-home .home-vision header h2,
body.page-home .home-event-highlights header h2,
body.page-home .home-digital-platform header h2{
  max-width:780px;
  margin:0;
  color:#fff;
  font-family:"Space Grotesk",sans-serif;
  font-size:clamp(36px,5vw,58px);
  font-weight:800;
  letter-spacing:-.035em;
  line-height:.98;
}
body.page-home .home-about-copy>p:not(.overline){margin:22px 0 0;color:rgba(255,255,255,.62);font-size:13px;line-height:1.8}
body.page-home .home-musabaqa-prayer{display:grid;align-content:center;gap:22px;padding:clamp(28px,4vw,46px);text-align:center;background:transparent;border-radius:22px;box-shadow:none}
body.page-home .home-musabaqa-prayer span{color:#f4edc4;font-family:serif;font-size:clamp(25px,3vw,38px);font-weight:700;line-height:1.7}
body.page-home .home-musabaqa-prayer p{margin:0;color:rgba(255,255,255,.62);font-size:13px;line-height:1.8}

body.page-home .home-vision,
body.page-home .home-event-highlights,
body.page-home .home-digital-platform{margin-top:110px}
body.page-home .home-vision>header,
body.page-home .home-event-highlights>header,
body.page-home .home-digital-platform>header{margin-bottom:34px}
body.page-home .home-vision>div{display:grid;grid-template-columns:1fr 1fr;gap:16px}
body.page-home .home-vision article{position:relative;min-height:225px;padding:30px;border-radius:19px}
body.page-home .home-vision article>span{position:absolute;top:24px;right:25px;color:rgba(86,228,122,.34);font-size:30px;font-weight:900}
body.page-home .home-vision h3{
  margin:0 0 14px;
  color:#fff;
  font-family: "Ubuntu", sans-serif;
  font-size:24px;
  line-height:1.05;
}
body.page-home .home-event-highlights h3{margin:0 0 14px;color:#fff;font-family: "Ubuntu", sans-serif;font-size:22px;line-height:1.15}
body.page-home .home-vision article p,
body.page-home .home-vision article li,
body.page-home .home-event-highlights article p{color:rgba(255,255,255,.61);font-size:12px;line-height:1.75}
body.page-home .home-vision article p{max-width:480px;margin:0}
body.page-home .home-vision ul{display:grid;gap:7px;margin:0;padding-left:18px}
body.page-home .home-vision li::marker{color:var(--home-green)}

body.page-home .home-event-highlights>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
body.page-home .home-event-highlights article{position:relative;min-height:250px;padding:25px 22px;border-radius:18px;transition:transform .25s,border-color .25s,background .25s}
body.page-home .home-event-highlights article:hover{transform:translateY(-6px);border-color:rgba(86,228,122,.35);background:linear-gradient(145deg,rgba(13,34,18,.92),rgba(5,13,8,.7))}
body.page-home .home-event-highlights article>span{width:44px;height:44px;display:grid;place-items:center;margin-bottom:28px;border-radius:13px;background:rgba(86,228,122,.12);color:#81ec9b;font-size:20px;font-weight:900}
body.page-home .home-event-highlights article>small{position:absolute;top:27px;right:24px;color:rgba(255,255,255,.19);font-size:9px;font-weight:900;letter-spacing:.1em}
body.page-home .home-event-highlights article p{margin:0}

body.page-home .home-digital-platform{padding-bottom:40px}
body.page-home .home-digital-platform>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
body.page-home .home-digital-platform a{display:grid;grid-template-columns:12px minmax(0,1fr) auto;gap:12px;align-items:center;min-height:67px;padding:0 18px;border:1px solid rgba(255,255,255,.11);border-radius:15px;background:rgba(11,25,15,.66);color:#fff;transition:transform .22s,border-color .22s,background .22s}
body.page-home .home-digital-platform a:hover{transform:translateY(-3px);border-color:rgba(86,228,122,.38);background:rgba(15,39,20,.82)}
body.page-home .home-digital-platform a i{width:9px;height:9px;border:2px solid #56e47a;border-radius:50%;box-shadow:0 0 0 5px rgba(86,228,122,.08)}
body.page-home .home-digital-platform a span{font-size:11px;font-weight:800}
body.page-home .home-digital-platform a b{color:rgba(255,255,255,.25);font-size:13px;transition:transform .22s,color .22s}
body.page-home .home-digital-platform a:hover b{transform:translate(2px,-2px);color:#7bea96}

@media(max-width:900px){
  body.page-home .home-musabaqa-about{grid-template-columns:1fr}
  body.page-home .home-musabaqa-prayer{min-height:280px}
  body.page-home .home-event-highlights>div{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.page-home .home-digital-platform>div{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:600px){
  body.page-home .home-platform-statement{gap:15px;margin:18px 0 54px;padding:5px 0}
  body.page-home .home-platform-statement p{font-size:14px;line-height:1.65}
  body.page-home .home-platform-statement strong{display:grid;grid-template-columns:1fr;gap:7px;font-size:8px;line-height:1.45}
  body.page-home .home-platform-statement strong i{display:none}
  body.page-home .home-musabaqa-about{gap:10px;margin-top:46px}
  body.page-home .home-about-copy{padding:24px 20px}
  body.page-home .home-about-copy h2,
  body.page-home .home-vision header h2,
  body.page-home .home-event-highlights header h2,
  body.page-home .home-digital-platform header h2{font-size:36px;line-height:1.02}
  body.page-home .home-about-copy>p:not(.overline){margin-top:17px;font-size:11px;line-height:1.75}
  body.page-home .home-musabaqa-prayer{min-height:230px;padding:27px 21px}
  body.page-home .home-musabaqa-prayer span{font-size:25px}
  body.page-home .home-musabaqa-prayer p{font-size:11px;line-height:1.7}
  body.page-home .home-vision,
  body.page-home .home-event-highlights,
  body.page-home .home-digital-platform{margin-top:68px}
  body.page-home .home-vision>header,
  body.page-home .home-event-highlights>header,
  body.page-home .home-digital-platform>header{margin-bottom:23px}
  body.page-home .home-vision>div,
  body.page-home .home-event-highlights>div,
  body.page-home .home-digital-platform>div{grid-template-columns:1fr}
  body.page-home .home-vision article{min-height:0;padding:23px 20px}
  body.page-home .home-vision article p,
  body.page-home .home-vision article li,
  body.page-home .home-event-highlights article p{font-size:11px}
  body.page-home .home-event-highlights article{min-height:205px;padding:21px 19px}
  body.page-home .home-event-highlights article>span{margin-bottom:22px}
  body.page-home .home-digital-platform{padding-bottom:20px}
  body.page-home .home-digital-platform a{min-height:60px;padding:0 15px}
}

/* Transparent institutional footer on Home and Review. */
body.page-home .site-footer.simple-social-footer.home-institution-footer,
body.page-review .site-footer.simple-social-footer.home-institution-footer{
  position:relative;
  isolation:isolate;
  width:100%;
  max-width:none;
  min-height:350px;
  display:grid!important;
  grid-template-columns:minmax(0,1fr);
  align-content:center;
  justify-items:start;
  gap:22px;
  margin:42px 0 0;
  padding:clamp(46px,7vw,82px) max(28px,calc((100% - 1120px)/2));
  overflow:hidden;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  color:#fff;
  text-align:left;
  backdrop-filter:none;
}
body.page-home .site-footer.simple-social-footer.home-institution-footer:before,
body.page-home .site-footer.simple-social-footer.home-institution-footer:after,
body.page-review .site-footer.simple-social-footer.home-institution-footer:before,
body.page-review .site-footer.simple-social-footer.home-institution-footer:after{display:none}
body.page-home .home-institution-footer .home-footer-identity h2,
body.page-review .home-institution-footer .home-footer-identity h2{color:#fff;text-shadow:0 2px 18px rgba(0,0,0,.45)}
body.page-home .home-institution-footer .home-footer-identity address,
body.page-review .home-institution-footer .home-footer-identity address{color:rgba(255,255,255,.66);text-shadow:0 2px 14px rgba(0,0,0,.55)}
body.page-home .home-institution-footer .home-footer-copyright,
body.page-review .home-institution-footer .home-footer-copyright{color:rgba(255,255,255,.4)!important;text-shadow:0 2px 12px rgba(0,0,0,.5)}
body.page-review .home-institution-footer .simple-social-icons{justify-content:flex-start;gap:10px}
body.page-review .home-institution-footer .simple-social-icons a{box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 9px 24px rgba(0,0,0,.28)}

@media(max-width:600px){
  body.page-home .site-footer.simple-social-footer.home-institution-footer,
  body.page-review .site-footer.simple-social-footer.home-institution-footer{min-height:320px;margin:28px 0 58px;padding:40px 22px;gap:18px}
  body.page-review .home-institution-footer .simple-social-icons{gap:8px}
}

/* Final shared desktop navbar alignment */
@media(min-width:901px){
  body .site-header,
  body.page-home .site-header,
  body.page-admin .site-header{
    top:12px;
    width:min(1184px,calc(100% - 32px))!important;
    min-height:64px;
    grid-template-columns:minmax(250px,1fr) auto minmax(180px,1fr)!important;
    gap:16px;
    margin:14px auto 0!important;
    padding:8px 11px!important;
    border:1px solid rgba(255,255,255,.12);
    border-radius:16px!important;
    background:rgba(5,13,8,.86)!important;
    box-shadow:0 18px 55px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.035);
    backdrop-filter:blur(18px);
  }
  body .site-logo{min-width:0;gap:11px}
  body .site-logo img{width:44px;height:44px;border-radius:11px}
  body .site-logo span{min-width:0}
  body .site-logo b{overflow:hidden;display:block;color:#fff;font: 800 13px/1.1 "Ubuntu", sans-serif!important;text-overflow:ellipsis;white-space:nowrap}
  body .site-logo small{display:block;margin-top:3px;color:rgba(255,255,255,.43);font-size:7px;letter-spacing:.04em;white-space:nowrap}
  body .site-nav,
  body.page-home .site-nav{position:static!important;display:flex!important;align-items:center;justify-content:center;gap:2px;padding:4px;border:1px solid rgba(255,255,255,.07);border-radius:12px;background:rgba(255,255,255,.025)}
  body .site-nav a,
  body.page-home .site-nav a{min-width:auto;padding:9px 13px;border-radius:9px;color:rgba(255,255,255,.65);font-size:10px;font-weight:800;white-space:nowrap}
  body .site-nav a:hover{background:rgba(255,255,255,.055);color:#fff}
  body .site-nav a.active{background:rgba(78,232,131,.12);color:#93f0aa}
  body .header-account-actions{justify-self:end}
  body .festival-date{min-width:112px;text-align:right}
}

/* Authenticated college student master roster */
.college-student-manager{display:grid;grid-template-columns:minmax(330px,.78fr) minmax(520px,1.22fr);gap:17px;align-items:start;padding-bottom:40px}
.college-student-form,.college-student-directory{border:1px solid rgba(255,255,255,.12);border-radius:20px;background:linear-gradient(145deg,rgba(7,17,11,.82),rgba(5,11,8,.66));box-shadow:0 24px 70px rgba(0,0,0,.22);backdrop-filter:blur(16px)}
.college-student-form{position:sticky;top:92px;padding:21px}
.college-student-form>header,.college-student-directory>header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;margin-bottom:19px}
.college-student-form h2,.college-student-directory h2{margin:0;color:#fff;font-size:27px;line-height:1.05}
.college-student-form header small{display:block;margin-top:7px;color:rgba(255,255,255,.36);font-size:8px;line-height:1.5}
.college-student-form header>button{padding:7px 10px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:rgba(255,255,255,.04);color:#fff;font-size:9px;cursor:pointer}
.college-student-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:16px}
.college-student-form-grid label,.college-student-filters label{min-width:0;display:grid;gap:6px}
.college-student-form-grid label>span,.college-student-filters label>span{color:rgba(255,255,255,.46);font-size:8px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.college-student-form-grid input,.college-student-form-grid select,.college-student-filters input,.college-student-filters select{width:100%;height:43px;min-width:0;padding:0 11px;border:1px solid rgba(255,255,255,.12);border-radius:9px;outline:0;background:#0c1510;color:#fff;font-size:10px}
.college-student-form-grid input:focus,.college-student-form-grid select:focus,.college-student-filters input:focus,.college-student-filters select:focus{border-color:#4ee883;box-shadow:0 0 0 3px rgba(78,232,131,.08)}
.college-student-form-grid label[dir=rtl]>span{text-align:right}.college-student-form-grid label[dir=rtl] input{text-align:right;font-family:"Noto Naskh Arabic",serif!important;font-size:14px}
.college-student-form-grid .span-2{grid-column:span 2}.college-student-form>.button{width:100%;min-height:46px}
.college-student-directory{min-width:0;padding:21px}
.college-student-directory>header>strong{display:grid;justify-items:end;color:#fff;font-size:34px;line-height:.8}.college-student-directory>header>strong small{margin-top:9px;color:rgba(255,255,255,.35);font-size:8px;letter-spacing:.08em;text-transform:uppercase}
.college-student-filters{display:grid;grid-template-columns:minmax(190px,1fr) 120px 105px;gap:8px;margin-bottom:13px}.college-student-list{max-height:720px;display:grid;gap:7px;overflow-y:auto;padding-right:4px;scrollbar-width:thin;scrollbar-color:rgba(78,232,131,.35) rgba(255,255,255,.04)}
.college-student-list article{display:grid;grid-template-columns:72px minmax(140px,1fr) minmax(140px,.72fr) auto;gap:11px;align-items:center;min-height:78px;padding:11px 12px;border:1px solid rgba(255,255,255,.09);border-radius:13px;background:rgba(255,255,255,.025);transition:border-color .2s,background .2s}
.college-student-list article:hover,.college-student-list article.editing{border-color:rgba(78,232,131,.3);background:rgba(78,232,131,.055)}
.college-student-list article>b{color:#8df0a5;font-size:11px;letter-spacing:.04em}.college-student-name{min-width:0}.college-student-name h3{overflow:hidden;margin:0 0 4px;color:#fff;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.college-student-name p{overflow:hidden;margin:0;color:rgba(255,255,255,.36);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.college-student-name p span{font-size:11px}
.college-student-meta{min-width:0;display:flex;flex-wrap:wrap;gap:4px 9px}.college-student-meta span{color:rgba(255,255,255,.46);font-size:8px}.college-student-meta i{padding:3px 6px;border-radius:99px;background:rgba(78,232,131,.09);color:#80e99a;font-size:6px;font-style:normal;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.college-student-meta i.inactive,.college-student-meta i.left{background:rgba(255,112,112,.08);color:#ffaaaa}.college-student-meta i.graduated{background:rgba(100,175,255,.1);color:#9dccff}
.college-student-list .row-actions{display:flex;gap:5px}.college-student-list .row-actions button{min-width:42px;padding:7px;border:1px solid rgba(255,255,255,.11);border-radius:7px;background:rgba(255,255,255,.04);color:#fff;font-size:8px;cursor:pointer}.college-student-list .row-actions button.danger{border-color:rgba(255,90,90,.17);color:#ffaaaa}

@media(max-width:1050px){.college-student-manager{grid-template-columns:1fr}.college-student-form{position:relative;top:auto}.college-student-form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.college-student-form-grid .span-2{grid-column:span 2}}
@media(max-width:759px){
  body.page-admin .admin-sidebar nav{grid-template-columns:repeat(8,minmax(64px,1fr))}
  .college-student-manager{gap:10px}.college-student-form,.college-student-directory{padding:16px;border-radius:17px}.college-student-form-grid{grid-template-columns:1fr}.college-student-form-grid .span-2{grid-column:1}.college-student-filters{grid-template-columns:1fr 1fr}.college-student-filters .student-directory-search{grid-column:1/-1}.college-student-list{max-height:620px}.college-student-list article{grid-template-columns:62px minmax(0,1fr) auto}.college-student-meta{grid-column:2}.college-student-list .row-actions{grid-column:3;grid-row:1/3;align-self:center;flex-direction:column}.college-student-name h3{font-size:11px}
}
@media(max-width:420px){.college-student-filters{grid-template-columns:1fr}.college-student-filters .student-directory-search{grid-column:1}.college-student-list article{grid-template-columns:1fr auto;gap:8px}.college-student-list article>b{grid-column:1}.college-student-name{grid-column:1}.college-student-meta{grid-column:1}.college-student-list .row-actions{grid-column:2;grid-row:1/4}}

/* Useful right-hand chapter for the transparent institutional footer */
body.page-home .site-footer.home-institution-footer,
body.page-review .site-footer.home-institution-footer{
  grid-template-columns:minmax(280px,.8fr) minmax(390px,1.2fr);
  column-gap:clamp(55px,9vw,150px);
}
body.page-home .home-footer-identity,
body.page-review .home-footer-identity{align-self:start;padding-top:15px}
.home-footer-utility{grid-column:2;grid-row:1/4;width:100%;max-width:570px;align-self:center}
.home-footer-utility>.overline{margin-bottom:9px;color:#7bea96!important;font-size:8px!important;letter-spacing:.17em}
.home-footer-utility>h2{margin:0 0 21px;color:#fff;font: 700 clamp(26px,3vw,38px)/1.08 "Ubuntu", sans-serif!important;letter-spacing:-.01em}
.home-footer-utility>nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.home-footer-utility a{min-width:0;min-height:54px;display:grid;grid-template-columns:25px minmax(0,1fr) auto;gap:9px;align-items:center;padding:0 13px;border:1px solid rgba(255,255,255,.11);border-radius:12px;background:rgba(5,15,9,.28);transition:transform .22s,border-color .22s,background .22s}
.home-footer-utility a:hover{transform:translateY(-3px);border-color:rgba(78,232,131,.36);background:rgba(28,93,43,.16)}
.home-footer-utility a>span{color:#6de68c;font-size:7px;font-weight:900;letter-spacing:.08em}
.home-footer-utility a>strong{overflow:hidden;color:rgba(255,255,255,.78);font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.home-footer-utility a>b{color:rgba(255,255,255,.27);font-size:10px;transition:transform .22s,color .22s}
.home-footer-utility a:hover>b{transform:translate(2px,-2px);color:#7bea96}
body.page-home .home-institution-footer>.simple-social-icons,
body.page-review .home-institution-footer>.simple-social-icons{grid-column:1}
body.page-home .home-institution-footer>.home-footer-copyright,
body.page-review .home-institution-footer>.home-footer-copyright{grid-column:1}

@media(max-width:760px){
  body.page-home .site-footer.home-institution-footer,
  body.page-review .site-footer.home-institution-footer{grid-template-columns:1fr;row-gap:20px}
  .home-footer-utility{grid-column:1;grid-row:auto;max-width:none;margin:10px 0 3px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1)}
  .home-footer-utility>h2{font-size:31px}.home-footer-utility>nav{grid-template-columns:1fr 1fr}
  body.page-home .home-institution-footer>.simple-social-icons,
  body.page-review .home-institution-footer>.simple-social-icons,
  body.page-home .home-institution-footer>.home-footer-copyright,
  body.page-review .home-institution-footer>.home-footer-copyright{grid-column:1}
}
@media(max-width:430px){.home-footer-utility>nav{grid-template-columns:1fr}.home-footer-utility a{min-height:50px}}

/* Animated Kauzariyya festival pulse */
.home-footer-pulse{position:relative;display:grid;grid-template-columns:118px minmax(0,1fr);gap:28px;align-items:center;min-height:245px;padding-left:0;border-left:none !important}
.footer-pulse-visual{position:relative;width:112px;height:112px;display:grid;place-items:center}
.footer-pulse-visual:before,.footer-pulse-visual:after,.footer-pulse-visual>i{content:"";position:absolute;border-radius:50%;border:1px solid rgba(78,232,131,.26)}
.footer-pulse-visual:before{inset:0;animation:footerPulseSpin 12s linear infinite}
.footer-pulse-visual:after{inset:16px;border-style:dashed;animation:footerPulseSpin 8s linear infinite reverse}
.footer-pulse-visual>i:first-child{inset:30px;border-color:rgba(78,232,131,.48);box-shadow:0 0 35px rgba(78,232,131,.11);animation:footerPulseBreathe 2.8s ease-in-out infinite}
.footer-pulse-visual>i:nth-child(2){top:3px;left:50%;width:9px;height:9px;border:0;background:#65ee89;box-shadow:0 0 15px rgba(78,232,131,.85);transform:translateX(-50%);transform-origin:4px 53px;animation:footerPulseOrbit 5s linear infinite}
.footer-pulse-visual>span{position:relative;width:36px;height:36px;display:grid;place-items:center;border-radius:12px;background:linear-gradient(145deg,rgba(82,232,121,.25),rgba(26,121,51,.18));box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 0 35px rgba(78,232,131,.16);transform:rotate(45deg)}
.footer-pulse-visual>span b{width:12px;height:12px;border:2px solid #83f09e;border-radius:50%;box-shadow:0 0 12px rgba(78,232,131,.55)}
.footer-pulse-copy>.overline{margin:0 0 8px!important;color:#75ed95!important;font-size:8px!important;letter-spacing:.16em}
.footer-pulse-copy>h2{margin:0 0 12px;color:#fff;font: 700 clamp(30px,3.8vw,48px)/1.02 "Ubuntu", sans-serif!important;letter-spacing:-.015em}
.footer-pulse-copy>p:not(.overline){max-width:470px;margin:0;color:rgba(255,255,255,.56);font: 500 11px/1.7 "Ubuntu", sans-serif!important}
.footer-pulse-values{display:flex;flex-wrap:wrap;gap:7px;margin-top:18px}.footer-pulse-values span{padding:6px 10px;border:1px solid rgba(78,232,131,.18);border-radius:99px;background:rgba(78,232,131,.055);color:#9aefad;font-size:7px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;animation:footerValueFloat 3.6s ease-in-out infinite}.footer-pulse-values span:nth-child(2){animation-delay:.35s}.footer-pulse-values span:nth-child(3){animation-delay:.7s}
@keyframes footerPulseSpin{to{transform:rotate(360deg)}}
@keyframes footerPulseOrbit{to{transform:translateX(-50%) rotate(360deg)}}
@keyframes footerPulseBreathe{50%{transform:scale(1.12);opacity:.62}}
@keyframes footerValueFloat{50%{transform:translateY(-3px);border-color:rgba(78,232,131,.38)}}

@media(max-width:760px){.home-footer-pulse{grid-template-columns:82px minmax(0,1fr);gap:19px;min-height:0;padding:29px 0 5px;border-left:0}.footer-pulse-visual{width:78px;height:78px}.footer-pulse-visual:after{inset:11px}.footer-pulse-visual>i:first-child{inset:22px}.footer-pulse-visual>i:nth-child(2){width:7px;height:7px;transform-origin:3px 37px}.footer-pulse-visual>span{width:27px;height:27px;border-radius:9px}.footer-pulse-visual>span b{width:9px;height:9px}.footer-pulse-copy>h2{font-size:37px}.footer-pulse-copy>p:not(.overline){font-size:9px}}
@media(max-width:430px){.home-footer-pulse{grid-template-columns:1fr}.footer-pulse-visual{margin-bottom:3px}.footer-pulse-copy>h2{font-size:39px}}
@media(prefers-reduced-motion:reduce){.footer-pulse-visual:before,.footer-pulse-visual:after,.footer-pulse-visual>i,.footer-pulse-values span{animation:none}}

/* Circular campus map and location chapter */
.home-footer-location{grid-template-columns:142px minmax(0,1fr)}
.footer-location-map{position:relative;width:138px;height:138px;display:block;overflow:hidden;border:2px solid rgba(78,232,131,.42);border-radius:50%;background:#0a1b0f;box-shadow:0 0 0 9px rgba(78,232,131,.035),0 20px 55px rgba(0,0,0,.32),inset 0 0 35px rgba(0,0,0,.4);transition:transform .3s,border-color .3s,box-shadow .3s}
.footer-location-map:hover{transform:translateY(-5px) scale(1.025);border-color:rgba(110,242,145,.78);box-shadow:0 0 0 12px rgba(78,232,131,.05),0 27px 65px rgba(0,0,0,.4)}
.footer-location-map iframe{position:absolute;inset:-24px;width:calc(100% + 48px);height:calc(100% + 48px);max-width:none;border:0;pointer-events:none;filter:saturate(.45) hue-rotate(75deg) brightness(.55) contrast(1.18)}
.footer-location-map:after{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,transparent 20%,rgba(3,16,8,.06) 45%,rgba(2,12,6,.58) 100%);pointer-events:none}
.footer-location-map>span{position:absolute;z-index:2;left:50%;top:50%;width:28px;height:28px;display:grid;place-items:center;border:1px solid rgba(160,255,184,.75);border-radius:50%;background:rgba(11,73,28,.86);box-shadow:0 0 0 8px rgba(78,232,131,.13),0 0 25px rgba(78,232,131,.7);transform:translate(-50%,-50%);animation:footerMapPin 2.3s ease-in-out infinite}
.footer-location-map>span:before,.footer-location-map>span:after{content:"";position:absolute;border:1px solid rgba(78,232,131,.36);border-radius:50%;animation:footerMapRing 2.3s ease-out infinite}.footer-location-map>span:before{inset:-13px}.footer-location-map>span:after{inset:-25px;animation-delay:.45s}.footer-location-map>span i{width:8px;height:8px;border-radius:50%;background:#8bf3a5;box-shadow:0 0 12px #4ee883}
.home-footer-location .footer-pulse-copy>h2{font-size:clamp(38px,4.4vw,57px)}
.footer-directions-link{width:max-content;display:inline-flex;align-items:center;gap:11px;margin-top:18px;padding:8px 12px;border:1px solid rgba(78,232,131,.22);border-radius:99px;background:rgba(78,232,131,.07);color:#9aefad;font-size:8px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;transition:transform .22s,border-color .22s,background .22s}.footer-directions-link:hover{transform:translateY(-2px);border-color:rgba(78,232,131,.55);background:rgba(78,232,131,.12)}.footer-directions-link b{font-size:10px;transition:transform .22s}.footer-directions-link:hover b{transform:translate(2px,-2px)}
@keyframes footerMapPin{50%{transform:translate(-50%,-50%) scale(1.09)}}
@keyframes footerMapRing{0%{transform:scale(.7);opacity:0}38%{opacity:.75}100%{transform:scale(1.32);opacity:0}}

@media(max-width:760px){.home-footer-location{grid-template-columns:100px minmax(0,1fr)}.footer-location-map{width:96px;height:96px}.footer-location-map>span{width:23px;height:23px}.home-footer-location .footer-pulse-copy>h2{font-size:39px}}
@media(max-width:430px){.home-footer-location{grid-template-columns:1fr}.footer-location-map{width:112px;height:112px;margin-bottom:5px}.home-footer-location .footer-pulse-copy>h2{font-size:42px}}
@media(prefers-reduced-motion:reduce){.footer-location-map>span,.footer-location-map>span:before,.footer-location-map>span:after{animation:none}}

/* Rectangular Google Maps preview with a full blue location treatment. */
.home-footer-location{grid-template-columns:184px minmax(0,1fr)}
.footer-location-map{width:176px;height:132px;border:1px solid rgba(82,145,255,.62);border-radius:30px;background:#0b1931;box-shadow:0 0 0 7px rgba(66,133,244,.045),0 22px 55px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.08)}
.footer-location-map:hover{transform:translateY(-5px) scale(1.018);border-color:#6fa5ff;box-shadow:0 0 0 9px rgba(66,133,244,.07),0 28px 65px rgba(0,0,0,.42)}
.footer-location-map iframe{inset:-8px;width:calc(100% + 16px);height:calc(100% + 16px);filter:saturate(.72) brightness(.62) contrast(1.12)}
.footer-location-map:after{border-radius:30px;background:linear-gradient(135deg,rgba(12,46,96,.06),rgba(4,17,40,.45)),linear-gradient(180deg,transparent 45%,rgba(4,14,32,.48))}
.footer-location-map>span{width:40px;height:48px;border:0;border-radius:0;background:transparent;box-shadow:none;animation:footerGooglePin 2.4s ease-in-out infinite}
.footer-location-map>span:before,.footer-location-map>span:after{display:none}.footer-location-map>span svg{width:32px;height:40px;display:block;filter:drop-shadow(0 5px 9px rgba(0,34,96,.75))}
.footer-directions-link{border-color:rgba(66,133,244,.35);background:rgba(66,133,244,.1);color:#a9c8ff}.footer-directions-link:hover{border-color:rgba(99,157,255,.75);background:rgba(66,133,244,.17)}
@keyframes footerGooglePin{0%,100%{transform:translate(-50%,-50%)}50%{transform:translate(-50%,calc(-50% - 6px))}}
@media(max-width:760px){.home-footer-location{grid-template-columns:132px minmax(0,1fr)}.footer-location-map{width:124px;height:98px;border-radius:24px}.footer-location-map:after{border-radius:24px}}
@media(max-width:430px){.home-footer-location{grid-template-columns:1fr}.footer-location-map{width:160px;height:116px}}
@media(prefers-reduced-motion:reduce){.footer-location-map>span{animation:none}}

/* Ultra-Premium Capsule Navigation */
@media(min-width:760px){
  body .site-nav,
  body.page-home .site-nav,
  body.page-admin .site-nav,
  body .site-nav.open{
    position:static!important;
    width:max-content!important;
    min-height:56px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:4px!important;
    margin:0!important;
    padding:6px!important;
    overflow:hidden!important;
    border:1px solid rgba(255,255,255,0.06)!important;
    border-radius:999px!important;
    background:rgba(10,14,11,0.85)!important;
    box-shadow:0 24px 50px rgba(0,0,0,0.5), inset 0 1px 0 rgba(255,255,255,0.04)!important;
    backdrop-filter:blur(32px)!important;
  }
  body .site-nav a,
  body.page-home .site-nav a,
  body.page-admin .site-nav a{
    position:relative!important;
    width:auto!important;
    min-width:0!important;
    height:44px!important;
    min-height:44px!important;
    display:grid!important;
    place-items:center!important;
    margin:0!important;
    padding:0 24px!important;
    border:0!important;
    border-radius:999px!important;
    background:transparent!important;
    box-shadow:none!important;
    color:rgba(255,255,255,0.5)!important;
    font: 600 13px/1 "Ubuntu", sans-serif!important;
    letter-spacing:0.03em!important;
    text-transform:none!important;
    white-space:nowrap!important;
    opacity:0;
    transform:translateY(6px);
    animation:exactNavTextIn .5s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    transition:all 0.4s cubic-bezier(0.16, 1, 0.3, 1)!important;
  }
  body .site-nav a:nth-child(2){animation-delay:.045s}body .site-nav a:nth-child(3){animation-delay:.09s}body .site-nav a:nth-child(4){animation-delay:.135s}body .site-nav a:nth-child(5){animation-delay:.18s}
  body .site-nav a:hover,
  body.page-home .site-nav a:hover,
  body.page-admin .site-nav a:hover{
    color:#ffffff!important;
    background:rgba(255,255,255,0.06)!important;
  }
  body .site-nav a.active,
  body.page-home .site-nav a.active,
  body.page-admin .site-nav a.active{
    background:#4ee883!important;
    color:#051208!important;
    font-weight:800!important;
    box-shadow:0 8px 24px rgba(78,232,131,0.35), inset 0 -2px 0 rgba(0,0,0,0.1)!important;
  }
}
@keyframes exactNavTextIn{to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){body .site-nav a{opacity:1;transform:none;animation:none}}

/* Runtime performance layer: keep the visual design while avoiding needless
   painting, decoding and animation work on touch or lower-power devices. */
body.page-scoreboard #react-root{animation:none}
body.page-scoreboard .leaderboard-glass{
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  background:linear-gradient(135deg,rgba(6,14,9,.9),rgba(5,10,7,.78));
}
html.professional-text-ready body.page-scoreboard .professional-text-reveal{
  opacity:1;
  transform:none;
  filter:none;
  transition:none;
}

/* Keep account controls inside the header grid instead of floating over pages. */
.site-header .header-account-actions{
  display:flex!important;
  align-items:center;
  justify-self:end;
  gap:10px;
  min-width:0;
}
.site-header .visitor-logout-floating,
body.page-home .site-header .visitor-logout-floating,
body.page-admin .site-header .visitor-logout-floating,
body:not(.page-home):not(.page-admin) .site-header .visitor-logout-floating{
  position:static!important;
  inset:auto!important;
  flex:none;
  margin:0!important;
  transform:none;
}
.site-header .visitor-logout-floating:hover{transform:translateY(-1px)}

/* Public, privacy-safe view of the complete imported student roster. */
.public-student-directory{margin:28px 0 54px;padding:24px;border:1px solid rgba(255,255,255,.12);border-radius:22px;background:rgba(5,13,8,.88);box-shadow:0 24px 70px rgba(0,0,0,.24)}
.public-student-directory>header{min-height:170px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:18px;padding:12px 4px 24px;border-bottom:1px solid rgba(255,255,255,.08)}.public-student-directory>header .overline{margin:0 0 13px;color:#78ef98;font-size:8px;letter-spacing:.18em}.public-student-directory>header h2{margin:0;color:#fff;font-size:clamp(52px,7vw,82px);line-height:.86;letter-spacing:-.055em}.public-student-directory>header p:last-child{margin:12px 0 0;color:rgba(255,255,255,.52);font-size:10px}.public-student-directory>header>strong{display:grid;justify-items:end;align-self:flex-end;margin-bottom:4px;color:#fff;font-size:38px;line-height:.8}.public-student-directory>header>strong small{margin-top:9px;color:rgba(255,255,255,.38);font-size:8px;letter-spacing:.08em;text-transform:uppercase}
.public-student-filters{display:grid;grid-template-columns:minmax(200px,1.4fr) minmax(130px,1fr) minmax(130px,1fr);gap:12px;margin-bottom:16px;align-items:end}.public-student-filters label{display:grid;gap:6px}.public-student-filters label>span,.filter-select-field>span{color:rgba(255,255,255,.48);font-size:8px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.public-student-filters input,.public-student-filters select{width:100%;height:44px;padding:0 12px;border:1px solid rgba(78,232,131,.25);border-radius:10px;outline:0;background:rgba(8,22,14,.88);color:#e6fff0;font-size:11px}.public-student-filters input:focus,.public-student-filters select:focus{border-color:#4ee883;box-shadow:0 0 0 3px rgba(78,232,131,.08)}

/* Custom Select & Filter Select Dark Theme Styling */
.filter-select-field{display:grid;gap:6px}.custom-select-wrap{position:relative;width:100%}.custom-select-trigger{width:100%;height:44px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 12px;border:1px solid rgba(78,232,131,.25);border-radius:10px;outline:0;background:rgba(8,22,14,.88);color:#e6fff0;font-family:inherit;font-size:11px;font-weight:600;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,255,255,.04);transition:all .2s ease}.custom-select-trigger:hover,.custom-select-wrap.is-open .custom-select-trigger{background:rgba(12,30,19,.95);border-color:#4ee883;box-shadow:0 0 0 3px rgba(78,232,131,.12);color:#fff}.custom-select-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.custom-select-arrow{color:#4ee883;font-size:10px;transition:transform .2s ease}.custom-select-wrap.is-open .custom-select-arrow{transform:rotate(180deg)}.custom-select-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:120;max-height:240px;overflow-y:auto;border-radius:12px;background:rgba(6,18,11,.96);border:1px solid rgba(78,232,131,.3);box-shadow:0 16px 40px rgba(0,0,0,.6),0 0 0 1px rgba(255,255,255,.05);backdrop-filter:blur(16px);padding:6px;display:flex;flex-direction:column;gap:2px}.custom-select-option{width:100%;display:flex;align-items:center;justify-content:space-between;padding:9px 12px;border-radius:8px;border:none;background:transparent;color:rgba(255,255,255,.85);font-family:inherit;font-size:11px;font-weight:500;text-align:start;cursor:pointer;transition:all .15s ease}.custom-select-option:hover{background:rgba(78,232,131,.14);color:#fff}.custom-select-option.selected{background:rgba(78,232,131,.22);color:#6effa2;font-weight:700}.custom-select-check{color:#4ee883;font-size:12px;font-style:normal;font-weight:900}select{background-color:rgba(8,22,14,.88)!important;color:#e6fff0!important;border:1px solid rgba(78,232,131,.25)!important;border-radius:10px!important;appearance:none!important;-webkit-appearance:none!important;-moz-appearance:none!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%234ee883' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E")!important;background-repeat:no-repeat!important;background-position:right 12px center!important;background-size:12px!important;padding-right:32px!important}select option{background-color:#06120b!important;color:#fff!important;padding:10px!important}
.public-student-grid{max-height:680px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;overflow-y:auto;padding-right:4px;scrollbar-width:thin;scrollbar-color:rgba(78,232,131,.38) rgba(255,255,255,.04)}.public-student-grid article{content-visibility:auto;contain-intrinsic-size:82px;min-width:0;display:grid;grid-template-columns:70px minmax(0,1fr);gap:9px;padding:12px;border:1px solid rgba(255,255,255,.085);border-radius:13px;background:rgba(255,255,255,.026)}.public-student-grid article>b{color:#82efa0;font-size:10px;letter-spacing:.04em}.public-student-grid article>div{min-width:0}.public-student-grid h3{overflow:hidden;margin:0 0 4px;color:#fff;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.public-student-grid article p{overflow:hidden;margin:0;color:rgba(255,255,255,.42);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.public-student-grid article p span{font-size:11px}.public-student-grid footer{grid-column:1/-1;display:flex;align-items:center;flex-wrap:wrap;gap:5px 10px;padding-top:8px;border-top:1px solid rgba(255,255,255,.06);color:rgba(255,255,255,.45);font-size:8px}.public-student-grid footer i{margin-left:auto;padding:3px 7px;border-radius:99px;background:rgba(78,232,131,.1);color:#8aefa2;font-size:6px;font-style:normal;font-weight:900;text-transform:uppercase}.public-student-grid footer i.inactive,.public-student-grid footer i.left{background:rgba(255,100,100,.09);color:#ffaaaa}.public-student-grid footer i.graduated{background:rgba(100,175,255,.1);color:#a9d2ff}.public-student-empty{grid-column:1/-1;display:grid;place-items:center;gap:6px;min-height:150px;color:rgba(255,255,255,.48)}.public-student-empty strong{color:#fff}
@media(max-width:700px){.site-header .header-account-actions{display:flex!important;align-items:center!important;gap:6px!important}.public-student-directory{margin:18px 0 32px;padding:15px;border-radius:18px}.public-student-filters{grid-template-columns:1fr}.public-student-grid{grid-template-columns:1fr;max-height:620px}.public-student-directory>header{min-height:145px;gap:12px;padding:8px 2px 20px}.public-student-directory>header h2{font-size:clamp(42px,14vw,62px)}.public-student-directory>header>strong{font-size:29px}.public-student-directory>header>strong small{font-size:6px}}
body.page-home .home-video-bg{
  background:#050b07 url("../kauzariyya4.webp") center/cover no-repeat;
}
body.page-home .home-musabaqa-about,
body.page-home .home-story,
body.page-home .home-access,
body.page-home .home-event-highlights,
body.page-home .home-institution-footer{
  content-visibility:auto;
  contain-intrinsic-size:auto 680px;
}
html.page-idle *,
html.page-idle *::before,
html.page-idle *::after{
  animation-play-state:paused!important;
}
html.performance-lite body *{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
html.performance-lite body.page-home .home-video-bg{display:block}
html.performance-lite body *,
html.performance-lite body *::before,
html.performance-lite body *::after{
  animation:none!important;
  scroll-behavior:auto!important;
}
html.performance-lite .reveal,
html.performance-lite .home-text-reveal,
html.performance-lite .professional-text-reveal,
html.performance-lite body .site-nav a,
html.performance-lite .simple-social-icons a,
html.performance-lite body.page-home .feature-card{
  opacity:1!important;
  transform:none!important;
  filter:none!important;
}

@media(max-width:900px){
  body.page-home{--page-image:url("../kauzariyya4-mobile.webp")}
  body.page-admin{--page-image:url("../kauzariyya4-mobile.webp")}
  body.page-scoreboard{--page-image:url("../kauzariyya6-mobile.webp")}
  body.page-schedule{--page-image:url("../kauzariyya5-mobile.webp")}
  body.page-participants{--page-image:url("../kauzariyya7-mobile.webp")}
  body.page-musabaqa{--page-image:url("../kauzariyya9-mobile.webp")}
  body.page-review{--page-image:url("../kauzariyya8-mobile.webp")}
  body.page-home .home-video-bg{background-image:url("../kauzariyya4-mobile.webp")}
  body,
  body.page-home,
  body.page-scoreboard,
  body.page-schedule,
  body.page-participants,
  body.page-review,
  body.page-admin{
    background-attachment:scroll!important;
  }
  body.page-home .home-musabaqa-about,
  body.page-home .home-story,
  body.page-home .home-access,
  body.page-home .home-event-highlights,
  body.page-home .home-institution-footer{
    contain-intrinsic-size:auto 520px;
  }
}

/* Location chapter belongs to Home only and sits inside a rounded glass panel. */
body.page-home .home-footer-location{
  min-height:270px;
  padding:28px clamp(24px,3vw,40px);
  border:1px solid rgba(255,255,255,.11);
  border-radius:28px;
  background:linear-gradient(135deg,rgba(7,22,12,.34),rgba(3,12,7,.16));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 24px 65px rgba(0,0,0,.16);
  backdrop-filter:blur(5px);
}
body.page-review .home-footer-location{display:none!important}

/* Lightweight staggered text entrance shared by every public page. */
html.universal-text-motion body .universal-text-enter{
  opacity:0!important;
  transform:translate3d(0,24px,0)!important;
  filter:blur(3px)!important;
  transition:opacity .62s cubic-bezier(.22,1,.36,1) var(--universal-text-delay,0ms),transform .75s cubic-bezier(.22,1,.36,1) var(--universal-text-delay,0ms),filter .6s ease var(--universal-text-delay,0ms)!important;
  will-change:opacity,transform,filter;
}
html.universal-text-motion body .universal-text-enter.universal-text-in{
  opacity:1!important;
  transform:translate3d(0,0,0)!important;
  filter:blur(0)!important;
  will-change:auto;
}
html.performance-lite.universal-text-motion body .universal-text-enter{filter:none!important;transition-duration:.42s,.52s!important}
.site-motion-disabled body .universal-text-enter{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}
@media(max-width:600px){
  html.universal-text-motion body .universal-text-enter{transform:translate3d(0,13px,0)!important;filter:blur(2px)!important}
  html.universal-text-motion body .universal-text-enter.universal-text-in{transform:none!important;filter:none!important}
}
@media(prefers-reduced-motion:reduce){html.universal-text-motion body .universal-text-enter{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}}

/* Participant-to-directory chapter heading. */
body.page-participants .directory-chapter-heading{
  position:relative;
  display:grid;
  gap:7px;
  margin:96px 0 14px;
  padding:24px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
  border-radius:22px;
  background:rgba(5,13,8,.88);
  box-shadow:0 24px 70px rgba(0,0,0,.24);
}
body.page-participants .directory-chapter-heading:before{
  display:none;
}
body.page-participants .directory-chapter-heading:after{
  content:"K";
  position:absolute;
  right:28px;
  top:50%;
  color:#78ef98;
  font: 900 108px/.75 "Ubuntu", sans-serif;
  letter-spacing:-.08em;
  opacity:.045;
  transform:translateY(-50%);
  pointer-events:none;
}
body.page-participants .directory-chapter-heading .overline{margin:0;color:#7bea96;font-size:8px}
body.page-participants .directory-chapter-heading h2{position:relative;z-index:1;max-width:820px;margin:0;color:#fff;font-size:clamp(28px,4vw,42px);line-height:1}
body.page-participants .directory-chapter-heading h2 em{color:#75ed94;font-style:normal}
body.page-participants .directory-chapter-heading>p:last-child{max-width:620px;margin:2px 0 0;color:rgba(255,255,255,.5);font-size:10px;line-height:1.6}
@media(max-width:600px){
  body.page-participants .directory-chapter-heading{margin:58px 0 11px;padding:15px;border-radius:18px}
  body.page-participants .directory-chapter-heading h2{font-size:29px}
  body.page-participants .directory-chapter-heading>p:last-child{font-size:9px}
}
body.page-review .site-footer.home-institution-footer{
  grid-template-columns:1fr;
  align-content:start;
  max-width:1120px;
  min-height:0;
  margin:12px auto 0;
  padding:24px max(22px,calc((100% - 1120px)/2)) 34px;
  gap:12px;
}
body.page-review .home-footer-identity{padding-top:0}

@media(max-width:600px){
  body.page-review .review-shell{padding-bottom:18px}
  body.page-review .site-footer.simple-social-footer.home-institution-footer{
    width:100%;
    min-height:0;
    margin:0 0 54px;
    padding:18px 14px 20px;
    gap:10px;
  }
  body.page-review .home-footer-identity h2{margin-bottom:7px;font-size:15px}
  body.page-review .home-footer-identity address{font-size:8px;line-height:1.45}
  body.page-review .home-institution-footer .simple-social-icons{gap:7px}
  body.page-review .home-institution-footer .simple-social-icons a{width:30px;height:30px;border-radius:9px}
  body.page-review .home-institution-footer .simple-social-icons svg{width:16px;height:16px}
  body.page-review .home-footer-copyright{font-size:7px}
}

@media(max-width:760px){body.page-home .home-footer-location{min-height:0;padding:24px 20px;border-radius:22px}}

/* Keep the map edge genuinely rounded despite generic footer-link rules. */
.home-footer-location .footer-location-map{
  overflow:hidden!important;
  border-radius:34px!important;
  clip-path:inset(0 round 34px);
  isolation:isolate;
}
.home-footer-location .footer-location-map:after{border-radius:34px!important}
@media(max-width:760px){.home-footer-location .footer-location-map,.home-footer-location .footer-location-map:after{border-radius:27px!important}.home-footer-location .footer-location-map{clip-path:inset(0 round 27px)}}

/* Polished phone layout for the Home location footer. */
@media(max-width:600px){
  body.page-home .site-footer.home-institution-footer{
    width:calc(100% - 20px);
    margin:28px 10px 64px;
    padding:30px 14px;
    row-gap:24px;
  }
  body.page-home .home-footer-location{
    width:100%;
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:24px;
    margin:5px 0 0;
    padding:16px;
    border-radius:25px;
  }
  body.page-home .home-footer-location .footer-location-map{
    width:100%;
    height:170px;
    margin:0;
    border-radius:25px!important;
    clip-path:inset(0 round 25px);
    box-shadow:0 0 0 5px rgba(66,133,244,.045),0 18px 42px rgba(0,0,0,.28);
  }
  body.page-home .home-footer-location .footer-location-map:after{border-radius:25px!important}
  body.page-home .home-footer-location .footer-location-map iframe{inset:-6px;width:calc(100% + 12px);height:calc(100% + 12px)}
  body.page-home .home-footer-location .footer-pulse-copy{padding:0 4px 4px}
  body.page-home .home-footer-location .footer-pulse-copy>.overline{margin-bottom:9px!important;font-size:7px!important;line-height:1.5}
  body.page-home .home-footer-location .footer-pulse-copy>h2{margin-bottom:12px;font-size:clamp(37px,12vw,48px);line-height:.94}
  body.page-home .home-footer-location .footer-pulse-copy>p:not(.overline){max-width:34rem;font-size:10px;line-height:1.7}
  body.page-home .home-footer-identity{padding:0 4px}
  body.page-home .home-institution-footer>.simple-social-icons{padding-inline:4px}
  body.page-home .home-institution-footer>.home-footer-copyright{padding-inline:4px}
}
@media(max-width:380px){
  body.page-home .home-footer-location{padding:12px;border-radius:21px;gap:12px;grid-template-columns:100px minmax(0,1fr)}
  body.page-home .home-footer-location .footer-location-map{width:100px;height:120px;border-radius:20px!important;clip-path:inset(0 round 20px)}
  body.page-home .home-footer-location .footer-location-map:after{border-radius:20px!important}
  body.page-home .home-footer-location .footer-pulse-copy>h2{font-size:32px}
}

/* Real-phone viewport: remove the old simulated device frame and prevent any
   page component from forcing a wider canvas than the screen. */
@media(max-width:560px){
  html,body{
    width:100%;
    min-width:0!important;
    max-width:100%;
    overflow-x:hidden;
  }
  body{padding:0 0 64px}
  body::before{
    inset:0;
    left:0;
    width:100%;
    transform:none;
    border-radius:0;
  }
  body::after{display:none}
  body main,
  body:not(.page-home):not(.page-admin) main{
    width:100%;
    max-width:none;
    min-width:0;
    padding-inline:12px;
  }
  #react-root,
  .section-wrap,
  .review-shell,
  .review-card,
  .scoreboard-experience,
  .leaderboard-glass,
  .leader-feature,
  .ranking-panel,
  .ranking-row,
  .schedule-head,
  .schedule-grid,
  .schedule-column,
  .participant-shell,
  .participant-layout,
  .speaker-card,
  .participant-list,
  .public-student-directory{
    width:100%;
    min-width:0;
    max-width:100%;
  }
  input,textarea,select{min-width:0;max-width:100%}
  .site-header,
  body.page-home .site-header,
  body.page-admin .site-header,
  body:not(.page-home):not(.page-admin) .site-header{
    left:8px;
    right:8px;
    width:auto;
    max-width:none;
    transform:none;
    margin:0;
  }
  .site-logo{min-width:0;overflow:hidden}
  .site-logo span{min-width:0;overflow:hidden}
  .site-logo b,.site-logo small{overflow:hidden;text-overflow:ellipsis}
  .mobile-tabbar,
  body:not(.page-home):not(.page-admin) .mobile-tabbar{
    left:0;
    right:0;
    bottom:0;
    width:100%;
    max-width:none;
    transform:none;
    border-radius:14px 14px 0 0;
  }
  body.page-scoreboard .leaderboard-glass{grid-template-columns:minmax(0,1fr)}
  body.page-schedule .schedule-tabs{max-width:100%;overflow-x:auto}
}

/* Polished participant roster panel. */
body.page-participants .participant-list{
  position:relative;
  overflow:hidden;
  padding:20px;
  border:1px solid rgba(97,232,132,.2);
  border-radius:22px;
  background:
    radial-gradient(circle at 100% 0,rgba(78,232,131,.1),transparent 34%),
    linear-gradient(155deg,rgba(7,24,13,.9),rgba(4,14,8,.78));
  box-shadow:0 24px 70px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.04);
  backdrop-filter:blur(18px);
}
body.page-participants .participant-list:before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:2px;
  background:linear-gradient(90deg,transparent,#4ee883 35%,rgba(78,232,131,.08) 82%,transparent);
}
body.page-participants .participant-list-head{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding-bottom:14px;
  margin-bottom:18px;
  border-bottom:1px solid rgba(255,255,255,.08);
}
body.page-participants .participant-list-head h2{
  margin:0;
  font-size:16px;
  color:#fff;
  letter-spacing:.1em;
  text-transform:uppercase;
}
body.page-participants .participant-list-head strong{
  display:flex;
  align-items:flex-end;
  gap:8px;
  color:#d8ffd9;
  font-size:14px;
}
body.page-participants .participant-list-head small{
  color:#a8efba;
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.1em;
}
body.page-participants .participant-roster-controls{
  display:flex;
  flex-direction:column;
  gap:14px;
  margin-bottom:24px;
  width:100%;
}
body.page-participants .participant-roster-controls form{margin:0}
body.page-participants .participant-search{
  height:auto;
  margin:0;
  border:none;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
body.page-participants .participant-search:focus-within{
  background:transparent;
  box-shadow:none;
}
body.page-participants .participant-search input{padding:0 16px;color:#effff3;font-size:13px}
body.page-participants .participant-search input::placeholder{color:rgba(255,255,255,.34)}
body.page-participants .participant-search button{
  width:56px;
  display:grid;
  place-items:center;
  border-left:1px solid rgba(255,255,255,.08);
  background:rgba(78,232,131,.055);
  transition:background .2s,color .2s;
}
body.page-participants .participant-search button:hover{background:#4ee883;color:#061009}
body.page-participants .participant-search button svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
body.page-participants .participant-program-filter{
  display:grid;
  gap:7px;
  margin:0;
}
body.page-participants .participant-program-filter span{padding-left:2px;color:rgba(216,255,226,.52);font-size:8px;letter-spacing:.14em}
body.page-participants .participant-program-filter select{
  width:100%;
  height:48px;
  padding:0 40px 0 13px;
  border-color:rgba(78,232,131,.2);
  border-radius:14px;
  background-color:rgba(5,20,10,.82);
  color:#eaffef;
  font-size:11px;
  transition:border-color .2s,box-shadow .2s;
}
body.page-participants .participant-program-filter select:focus{border-color:#4ee883;box-shadow:0 0 0 4px rgba(78,232,131,.08)}
body.page-participants .participant-results-scroll{
  margin-top:10px;
  padding:7px 6px 2px 0;
  border-top:1px solid rgba(255,255,255,.07);
  mask-image:linear-gradient(to bottom,transparent,#000 8px,#000 calc(100% - 10px),transparent);
  max-height:min(52svh,380px);
}
body.page-participants .participant-row{
  margin:10px 0;
  padding:16px;
  border-color:rgba(255,255,255,.09);
  background:rgba(255,255,255,.035);
}
body.page-participants .participant-row:hover,
body.page-participants .participant-row.active{border-color:rgba(78,232,131,.38);background:linear-gradient(90deg,rgba(78,232,131,.13),rgba(78,232,131,.045))}
body.page-participants .participant-row time,
body.page-participants .participant-row small{color:var(--muted);font-size:11px}
body.page-participants .participant-row span{gap:6px}
body.page-participants .participant-row strong{font-size:15px}
body.page-participants .participant-row b{width:40px;height:40px;font-size:12px}
body.page-participants .participant-empty-stage{
  min-height:420px;
  padding:28px;
  display:grid;
  gap:18px;
  place-content:center;
  text-align:center;
  border:1px dashed rgba(255,255,255,.12);
  border-radius:26px;
  background:rgba(4,10,6,.54);
}
body.page-participants .participant-empty-stage span{color:#8ce094;font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
body.page-participants .participant-empty-stage h2{margin:0;font-size:clamp(26px,4vw,38px)}
body.page-participants .participant-empty-stage p{margin:0;color:var(--muted);max-width:36ch;margin-inline:auto}
body.page-participants .participant-roster-empty{
  margin-top:12px;
  padding:26px 20px;
  display:grid;
  gap:10px;
  place-items:center;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);
  border-radius:18px;
  color:var(--muted);
  text-align:center;
}
body.page-participants .participant-roster-empty strong{color:#fff;font-size:16px}
body.page-participants .participant-roster-empty span{color:#a8efba;font-size:12px}
body.page-participants .reporting-note{
  margin:14px 0 0;
  padding:11px 12px;
  border:1px solid rgba(78,232,131,.12);
  border-radius:11px;
  background:rgba(78,232,131,.045);
  line-height:1.45;
}
@media(max-width:560px){
  body.page-participants .participant-list{padding:15px;border-radius:18px}
  body.page-participants .participant-search{height:48px;margin-top:13px}
  body.page-participants .participant-program-filter select{height:43px}
  body.page-participants .participant-roster-controls{grid-template-columns:1fr;}
  body.page-participants .participant-list-head{flex-direction:column;align-items:flex-start;}
  body.page-participants .participant-title{grid-template-columns:1fr;align-items:start;gap:16px}
  body.page-participants .participant-title h1{font-size:clamp(32px,11vw,46px);max-width:100%}
  body.page-participants .participant-page-summary{grid-template-columns:1fr;}
  body.page-participants .participant-layout{grid-template-columns:1fr;gap:18px}
}

/* Festival access — contained navigation chapter. */
body.page-home .home-access{
  position:relative;
  isolation:isolate;
  width:min(1184px,calc(100% - 48px));
  margin:84px auto 54px;
  padding:clamp(30px,4vw,52px)!important;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.13);
  border-radius:30px;
  background:
    radial-gradient(circle at 8% 0,rgba(78,232,131,.14),transparent 31%),
    linear-gradient(145deg,rgba(5,22,11,.94),rgba(3,12,7,.88));
  box-shadow:0 35px 90px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.045);
  backdrop-filter:blur(18px);
}
body.page-home .home-access:before{
  content:"";
  position:absolute;
  z-index:-1;
  right:-110px;
  top:-150px;
  width:390px;
  height:390px;
  border:1px solid rgba(78,232,131,.08);
  border-radius:50%;
  box-shadow:0 0 0 58px rgba(78,232,131,.018),0 0 0 116px rgba(78,232,131,.012);
}
body.page-home .home-access>header{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,.55fr);
  gap:44px;
  align-items:end;
  margin:0 0 30px;
  padding:0 0 30px;
  border-bottom:1px solid rgba(255,255,255,.1);
}
body.page-home .home-access>header p{margin:0 0 12px;color:#7cf09a;font-size:8px;letter-spacing:.2em}
body.page-home .home-access>header h2{max-width:720px;margin:0;font-size:clamp(46px,5vw,70px);line-height:.88;letter-spacing:-.055em}
body.page-home .home-access>header h2 em{color:#62ec83}
body.page-home .home-access>header>span{
  max-width:38ch;
  margin:0 0 3px;
  padding:0 0 0 18px;
  border-left:2px solid rgba(78,232,131,.42);
  color:rgba(255,255,255,.58);
  font-size:10px;
  line-height:1.7;
}
body.page-home .home-access-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
body.page-home .home-access-grid .feature-card{
  position:relative;
  min-height:154px;
  display:grid;
  grid-template-columns:58px minmax(0,1fr) 38px;
  grid-template-rows:1fr;
  gap:18px;
  align-items:center;
  padding:22px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.11);
  border-radius:18px;
  background:linear-gradient(130deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
  box-shadow:none;
  transition:transform .25s ease,border-color .25s ease,background .25s ease,box-shadow .25s ease;
}
body.page-home .home-access-grid .feature-card:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:3px;
  display:block;
  background:linear-gradient(180deg,transparent,#4ee883,transparent);
  opacity:0;
  transition:opacity .25s;
}
body.page-home .home-access-grid .feature-card:after{display:none}
body.page-home .home-access-grid .feature-card:hover{
  transform:translateY(-3px);
  border-color:rgba(78,232,131,.38);
  background:linear-gradient(130deg,rgba(78,232,131,.1),rgba(255,255,255,.025));
  box-shadow:0 20px 44px rgba(0,0,0,.22);
}
body.page-home .home-access-grid .feature-card:hover:before{opacity:1}
body.page-home .home-access-grid .feature-card>div{display:grid;justify-items:center;gap:8px}
body.page-home .home-access-grid .feature-card .card-icon{
  width:54px;
  min-width:54px;
  height:54px;
  margin:0;
  border-color:rgba(78,232,131,.3);
  border-radius:16px;
  background:rgba(78,232,131,.1);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.06);
}
body.page-home .home-access-grid .feature-card>div small{display:block;margin:0;color:rgba(133,240,159,.52);font-size:7px;letter-spacing:.18em}
body.page-home .home-access-grid .card-copy{min-width:0;align-self:center;margin:0}
body.page-home .home-access-grid .feature-card h3{margin:0 0 7px;color:#fff;font-size:18px;line-height:1.1}
body.page-home .home-access-grid .feature-card p{max-width:39ch;margin:0;padding:0;color:rgba(255,255,255,.5);font-size:9px;line-height:1.6}
body.page-home .home-access-grid .feature-card>b{
  position:static;
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border:1px solid rgba(78,232,131,.24);
  border-radius:50%;
  background:rgba(78,232,131,.07);
  color:#76ef95;
  opacity:1;
  transform:none;
  transition:background .2s,color .2s,transform .2s;
}
body.page-home .home-access-grid .feature-card:hover>b{background:#4ee883;color:#061009;transform:translate(2px,-2px)}
@media(max-width:760px){
  body.page-home .home-access{width:calc(100% - 24px);margin:54px auto 34px;padding:24px!important;border-radius:24px}
  body.page-home .home-access>header{grid-template-columns:1fr;gap:16px;margin-bottom:20px;padding-bottom:22px}
  body.page-home .home-access>header h2{font-size:clamp(39px,11vw,54px)}
  body.page-home .home-access>header>span{max-width:48ch;padding-left:14px;font-size:9px}
  body.page-home .home-access-grid{grid-template-columns:1fr;gap:9px}
  body.page-home .home-access-grid .feature-card{min-height:112px;grid-template-columns:48px minmax(0,1fr) 32px;gap:13px;padding:14px;border-radius:15px}
  body.page-home .home-access-grid .feature-card .card-icon{width:46px;min-width:46px;height:46px;border-radius:13px}
  body.page-home .home-access-grid .feature-card h3{font-size:14px}
  body.page-home .home-access-grid .feature-card p{font-size:8px}
  body.page-home .home-access-grid .feature-card>b{width:31px;height:31px}
}
@media(max-width:380px){
  body.page-home .home-access{padding:19px 15px!important}
  body.page-home .home-access-grid .feature-card{grid-template-columns:43px minmax(0,1fr) 28px;gap:10px;padding:12px}
  body.page-home .home-access-grid .feature-card .card-icon{width:42px;min-width:42px;height:42px}
}

/* Final mobile header placement: brand left, account action right. */
@media(max-width:560px){
  .site-header,
  body.page-home .site-header,
  body.page-admin .site-header,
  body:not(.page-home):not(.page-admin) .site-header{
    left:8px!important;
    right:auto!important;
    width:calc(100% - 16px)!important;
    min-width:0!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:6px!important;
    padding:6px 7px!important;
  }
  .site-header .site-logo,
  body.page-home .site-header .site-logo,
  body:not(.page-home):not(.page-admin) .site-header .site-logo{
    min-width:0;
    max-width:100%;
    gap:7px;
    padding:0!important;
    overflow:hidden;
  }
  .site-header .site-logo img{width:30px;height:30px;flex:none;padding:4px;border-radius:9px}
  .site-header .site-logo span{display:grid;min-width:0;overflow:hidden}
  .site-header .site-logo b{font-size:10px!important;line-height:1.05;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .site-header .site-logo small{font-size:5px!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .site-header .header-account-actions{
    grid-column:2!important;
    grid-row:1!important;
    justify-self:end!important;
    margin:0!important;
  }
  .site-header .visitor-logout-floating{
    position:static!important;
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    padding:3px!important;
    border-radius:9px!important;
  }
  .site-header .visitor-logout-floating .logout-icon{width:24px!important;height:24px!important;border-radius:7px}
  .site-header .visitor-logout-floating .logout-copy{display:none!important}
}
@media(max-width:280px){.site-header .site-logo small{display:none}.site-header .site-logo b{font-size:9px!important}}

/* Large interactive Google Map shared by the Home and Review pages. */
body.page-home .site-footer.simple-social-footer.home-institution-footer,
body.page-review .site-footer.simple-social-footer.home-institution-footer{
  display:grid!important;
}
body.page-home .home-footer-location,
body.page-review .home-footer-location{
  grid-column:1/-1;
  grid-row:auto;
  width:100%;
  max-width:1120px;
  display:grid!important;
  grid-template-columns:minmax(300px,430px) minmax(0,1fr);
  gap:clamp(30px,6vw,78px);
  align-items:center;
  justify-self:center;
  margin:0;
  padding:clamp(20px,3vw,34px);
}
body.page-review .home-footer-location{
  min-height:0;
  border:1px solid rgba(255,255,255,.11);
  border-radius:28px;
  background:linear-gradient(135deg,rgba(7,22,12,.58),rgba(3,12,7,.38));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 24px 65px rgba(0,0,0,.16);
  backdrop-filter:blur(7px);
}
.home-footer-location .footer-location-map{
  position:relative;
  width:100%;
  height:auto;
  aspect-ratio:1;
  overflow:hidden!important;
  border:2px solid rgba(255,255,255,.2);
  border-radius:50%!important;
  clip-path:circle(50%);
  background:#dfe5e1;
  box-shadow:0 0 0 9px rgba(78,232,131,.05),0 28px 70px rgba(0,0,0,.35);
  transform:none;
}
.home-footer-location .footer-location-map:hover{
  transform:none;
  border-color:rgba(110,242,145,.65);
}
.home-footer-location .footer-location-map iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  max-width:none;
  border:0;
  pointer-events:auto;
  filter:saturate(.72) brightness(.8) contrast(1.05);
}
.home-footer-location .footer-location-map:after{display:none}

.footer-directions-link,
.home-footer-location .footer-directions-link {
  position: relative !important;
  overflow: hidden !important;
  width: max-content !important;
  min-height: 48px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-top: 20px !important;
  padding: 10px 22px 10px 12px !important;
  border: 1px solid rgba(86, 228, 122, 0.4) !important;
  border-radius: 9999px !important;
  background: linear-gradient(135deg, rgba(8, 28, 16, 0.88), rgba(4, 16, 10, 0.95)) !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.45), 0 0 20px rgba(86, 228, 122, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
  color: #ffffff !important;
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.03em !important;
  text-decoration: none !important;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), background 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
}

.footer-directions-link::before,
.home-footer-location .footer-directions-link::before {
  content: "" !important;
  position: absolute !important;
  inset: -60% 40% -60% -90% !important;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.35), transparent) !important;
  transform: skewX(-20deg) translateX(-100%) !important;
  transition: transform 0.7s ease !important;
  display: block !important;
}

.footer-directions-link:hover,
.footer-directions-link:focus-visible,
.home-footer-location .footer-directions-link:hover,
.home-footer-location .footer-directions-link:focus-visible {
  transform: translateY(-4px) scale(1.04) translateZ(0) !important;
  border-color: #56e47a !important;
  background: linear-gradient(135deg, rgba(12, 42, 24, 0.96), rgba(6, 24, 14, 0.98)) !important;
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.55), 0 0 32px rgba(86, 228, 122, 0.4), inset 0 1px 0 rgba(255, 255, 255, 0.35) !important;
}

.footer-directions-link:hover::before,
.home-footer-location .footer-directions-link:hover::before {
  transform: skewX(-20deg) translateX(420%) !important;
}

.footer-directions-link .btn-gmap-badge {
  width: 32px !important;
  height: 32px !important;
  border-radius: 50% !important;
  background: linear-gradient(135deg, rgba(86, 228, 122, 0.22), rgba(43, 217, 106, 0.38)) !important;
  border: 1px solid rgba(86, 228, 122, 0.5) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #56e47a !important;
  box-shadow: 0 0 12px rgba(86, 228, 122, 0.35) !important;
  transition: transform 0.35s ease, background 0.35s ease, color 0.35s ease !important;
}

.footer-directions-link .btn-gmap-badge svg {
  animation: mapPinPulse 2.2s infinite ease-in-out !important;
}

@keyframes mapPinPulse {
  0%, 100% { transform: translateY(0) scale(1); }
  50% { transform: translateY(-2px) scale(1.12); }
}

.footer-directions-link .btn-gmap-label {
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.03em !important;
}

.footer-directions-link .btn-gmap-arrow {
  display: inline-block !important;
  color: #56e47a !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), color 0.35s ease !important;
}

.footer-directions-link:hover .btn-gmap-badge {
  transform: scale(1.12) rotate(-8deg) !important;
  background: linear-gradient(135deg, #56e47a, #2bd96a) !important;
  color: #04100a !important;
  box-shadow: 0 0 20px rgba(86, 228, 122, 0.7) !important;
}

.footer-directions-link:hover .btn-gmap-arrow {
  transform: translate(4px, -4px) scale(1.2) !important;
  color: #ffffff !important;
}

@media(max-width:760px){
  body.page-home .home-footer-location,
  body.page-review .home-footer-location{
    grid-template-columns:120px minmax(0,1fr);
    justify-items:start;
    align-items:center;
    gap:16px;
    padding:18px 14px 24px;
  }
  .home-footer-location .footer-location-map{
    width:120px;
    height:135px;
    aspect-ratio:auto;
    border-radius:24px!important;
    clip-path:inset(0 round 24px);
  }
  .home-footer-location .footer-pulse-copy{width:100%;padding:0;text-align:left}
  body.page-review .site-footer.simple-social-footer.home-institution-footer{
    margin-bottom:68px;
    padding-inline:10px;
  }
}

/* Final next-generation motion priority layer. */
html.nextgen-motion-ready body .motion-item:not(.motion-in){
  opacity:0!important;
  transform:perspective(1100px) translate3d(var(--motion-x,0),34px,0) rotateX(5deg) scale(.975)!important;
  filter:blur(9px)!important;
  clip-path:inset(0 0 10% 0 round 14px)!important;
}
html.nextgen-motion-ready body .motion-item.motion-in{
  opacity:1!important;
  filter:blur(0)!important;
  clip-path:inset(0 0 0 0 round 0)!important;
  transition:opacity .72s cubic-bezier(.16,1,.3,1) var(--motion-delay,0ms),transform .9s cubic-bezier(.16,1,.3,1) var(--motion-delay,0ms),filter .68s ease var(--motion-delay,0ms),clip-path .9s cubic-bezier(.16,1,.3,1) var(--motion-delay,0ms),border-color .28s ease,box-shadow .28s ease!important;
}
html.nextgen-motion-ready body .motion-item.motion-in:not(.motion-depth){transform:none!important}
html.nextgen-motion-ready body .motion-depth.motion-in{transform:perspective(1100px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateZ(0)!important}
@media(max-width:700px){
  html.nextgen-motion-ready body .motion-item:not(.motion-in){transform:translate3d(0,24px,0) scale(.985)!important;filter:blur(6px)!important}
  html.nextgen-motion-ready body .motion-item.motion-in{transform:none!important}
}
html.performance-lite body .motion-item,
.site-motion-disabled body .motion-item{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important;transition:none!important}
@media(prefers-reduced-motion:reduce){html.nextgen-motion-ready body .motion-item{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important;transition:none!important}}

/* The large campus map belongs to the Home page only. */
body.page-review .home-footer-location{display:none!important}

/* --- Visitor Logs Premium Design --- */
.visitor-logs-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: 20px;
  padding-bottom: 30px;
  margin-top: 10px;
}
.visitor-log-card {
  display: flex;
  align-items: center;
  gap: 16px;
  background: rgba(25, 45, 30, 0.4);
  border: 1px solid rgba(78, 232, 131, 0.15);
  border-radius: 16px;
  padding: 16px;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2), inset 0 1px 0 rgba(255, 255, 255, 0.05);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  transition: all 0.35s cubic-bezier(0.16, 1, 0.3, 1);
}
.visitor-log-card:hover {
  transform: translateY(-4px) scale(1.02);
  background: rgba(30, 60, 40, 0.5);
  border-color: rgba(78, 232, 131, 0.4);
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.3), 0 0 20px rgba(78, 232, 131, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.1);
}
.visitor-avatar {
  width: 48px;
  height: 48px;
  flex-shrink: 0;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(78, 232, 131, 0.15), rgba(20, 60, 32, 0.5));
  border: 1px solid rgba(78, 232, 131, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 18px;
  color: #a5f3b6;
  text-transform: uppercase;
  box-shadow: inset 0 2px 4px rgba(255, 255, 255, 0.05);
  transition: all 0.35s ease;
}
.visitor-log-card:hover .visitor-avatar {
  background: linear-gradient(135deg, rgba(78, 232, 131, 0.3), rgba(30, 90, 45, 0.7));
  color: #fff;
  border-color: rgba(78, 232, 131, 0.6);
  transform: scale(1.05);
}
.visitor-details {
  display: flex;
  flex-direction: column;
  gap: 4px;
  overflow: hidden;
}
.visitor-details strong {
  color: #e0f8e5;
  font-size: 16px;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  letter-spacing: 0.02em;
}
.visitor-details span {
  color: rgba(255, 255, 255, 0.5);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.visitor-logs-empty {
  grid-column: 1 / -1;
  text-align: center;
  padding: 60px 20px;
  background: rgba(25, 45, 30, 0.2);
  border: 1px dashed rgba(78, 232, 131, 0.2);
  border-radius: 20px;
  color: rgba(255, 255, 255, 0.5);
  font-size: 14px;
}

/* Admin power suite: universal search, reports, exports and live controls */
.arabic-class-select,
.arabic-class-select option,
.team-arabic-select,
.team-arabic-select option,
.team-name-select,
.team-name-select option {
  direction: rtl;
  font-family: "Noto Naskh Arabic", serif !important;
  font-size: 14px !important;
  text-align: right;
}

.admin-search-trigger {
  min-height: 42px;
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 0 9px 0 12px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 10px;
  background: rgba(255,255,255,.035);
  color: rgba(255,255,255,.72);
  font-size: 10px;
  font-weight: 800;
  cursor: pointer;
}
.admin-search-trigger:hover { border-color: rgba(78,232,131,.36); color: #a8f5bc; }
.admin-search-trigger > span { color: #80e99a; font-size: 17px; }
.admin-search-trigger kbd,
.admin-command-search kbd {
  padding: 4px 6px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 6px;
  background: rgba(255,255,255,.05);
  color: rgba(255,255,255,.42);
  font: 800 7px/1 "Ubuntu", sans-serif;
  letter-spacing: .05em;
}
.admin-search-backdrop {
  position: fixed;
  inset: 0;
  z-index: 2400;
  display: grid;
  place-items: start center;
  padding: max(90px,12vh) 18px 30px;
  background: rgba(1,7,3,.76);
  backdrop-filter: blur(12px);
}
.admin-command-search {
  width: min(680px,100%);
  overflow: hidden;
  border: 1px solid rgba(115,240,145,.28);
  border-radius: 20px;
  background: #071009;
  box-shadow: 0 45px 120px rgba(0,0,0,.62), inset 0 1px 0 rgba(255,255,255,.04);
}
.admin-command-search > header {
  min-height: 70px;
  display: grid;
  grid-template-columns: 28px minmax(0,1fr) auto;
  gap: 11px;
  align-items: center;
  padding: 0 17px;
  border-bottom: 1px solid rgba(255,255,255,.09);
}
.admin-command-search > header > span { color: #73e991; font-size: 24px; }
.admin-command-search input {
  width: 100%;
  height: 68px;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  color: #fff;
  font-size: 14px;
}
.admin-command-search input::placeholder { color: rgba(255,255,255,.3); }
.admin-command-results { max-height: min(560px,62vh); overflow-y: auto; padding: 8px; }
.admin-command-results > button {
  width: 100%;
  min-height: 62px;
  display: grid;
  grid-template-columns: 38px minmax(0,1fr) auto;
  gap: 11px;
  align-items: center;
  padding: 8px 10px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: #fff;
  text-align: left;
  cursor: pointer;
}
.admin-command-results > button:hover,
.admin-command-results > button:focus-visible { outline: 0; background: rgba(78,232,131,.09); }
.admin-command-results > button > i {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(78,232,131,.18);
  border-radius: 10px;
  background: rgba(78,232,131,.07);
  color: #83eda0;
  font-style: normal;
  font-weight: 900;
}
.admin-command-results > button > span { min-width: 0; display: grid; gap: 4px; }
.admin-command-results > button strong,
.admin-command-results > button small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-command-results > button strong { font-size: 11px; }
.admin-command-results > button small { color: rgba(255,255,255,.38); font-size: 8px; }
.admin-command-results > button > b { color: rgba(255,255,255,.3); font-size: 8px; text-transform: uppercase; }
.admin-command-empty { min-height: 230px; display: grid; place-content: center; justify-items: center; padding: 24px; text-align: center; }
.admin-command-empty > span { margin-bottom: 12px; color: #79e796; font-size: 32px; }
.admin-command-empty strong { color: #fff; font-size: 14px; }
.admin-command-empty small { margin-top: 7px; color: rgba(255,255,255,.37); font-size: 9px; }

.score-quick-adjust { display: grid; grid-template-columns: repeat(4,1fr); gap: 5px; margin-top: 7px; }
.score-quick-adjust button {
  min-height: 34px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 8px;
  background: rgba(255,255,255,.04);
  color: rgba(255,255,255,.68);
  font-size: 9px;
  font-weight: 900;
  cursor: pointer;
}
.score-quick-adjust button:hover { border-color: color-mix(in srgb,var(--team) 55%,#fff); background: color-mix(in srgb,var(--team) 11%,transparent); color: #fff; }
.score-editor .button:disabled { cursor: default; opacity: .42; }

.admin-reports-workspace { display: grid; gap: 15px; padding-bottom: 45px; }
.admin-report-kpis { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; }
.admin-report-kpis article {
  min-height: 125px;
  display: grid;
  align-content: space-between;
  padding: 17px;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 16px;
  background: linear-gradient(145deg,rgba(8,19,12,.82),rgba(5,11,8,.64));
  box-shadow: 0 18px 50px rgba(0,0,0,.18);
}
.admin-report-kpis span { color: rgba(255,255,255,.43); font-size: 8px; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.admin-report-kpis strong { color: #fff; font-size: 35px; line-height: 1; }
.admin-report-kpis small { color: #84dfa0; font-size: 8px; }
.admin-report-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 15px; align-items: start; }
.admin-report-card,
.admin-export-center {
  min-width: 0;
  padding: 21px;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 20px;
  background: linear-gradient(145deg,rgba(7,17,11,.84),rgba(5,11,8,.66));
  box-shadow: 0 24px 70px rgba(0,0,0,.22);
}
.admin-report-card > header,
.admin-export-center > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; margin-bottom: 18px; }
.admin-report-card h2,
.admin-export-center h2 { margin: 0; color: #fff; font-size: 26px; line-height: 1.05; }
.admin-report-card > header > span,
.admin-export-center > header > span {
  flex: none;
  padding: 6px 8px;
  border-radius: 99px;
  background: rgba(78,232,131,.09);
  color: #86eca0;
  font-size: 7px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.admin-report-card > header > span.warning { background: rgba(255,175,66,.1); color: #ffc16b; }
.admin-report-card > header > span.clear { background: rgba(78,232,131,.1); color: #86eca0; }
.admin-class-bars { display: grid; gap: 11px; }
.admin-class-bars article { display: grid; grid-template-columns: minmax(125px,.72fr) minmax(80px,1fr) 30px; gap: 10px; align-items: center; }
.admin-class-bars article > div { min-width: 0; display: grid; gap: 2px; }
.admin-class-bars article strong { overflow: hidden; color: #fff; font: 700 15px/1.25 "Noto Naskh Arabic",serif; text-overflow: ellipsis; white-space: nowrap; }
.admin-class-bars article small { color: rgba(255,255,255,.32); font-size: 7px; }
.admin-class-bars article > span,
.admin-team-report-list em { height: 6px; display: block; overflow: hidden; border-radius: 99px; background: rgba(255,255,255,.06); }
.admin-class-bars article > span i { height: 100%; display: block; border-radius: inherit; background: linear-gradient(90deg,#35be5d,#7bec98); }
.admin-class-bars article > b { color: #fff; font-size: 11px; text-align: right; }
.admin-quality-list { display: grid; gap: 7px; }
.admin-quality-list article { min-height: 51px; display: grid; grid-template-columns: 28px minmax(0,1fr) auto; gap: 9px; align-items: center; padding: 7px 9px; border: 1px solid rgba(255,255,255,.07); border-radius: 10px; background: rgba(255,255,255,.02); }
.admin-quality-list article > i { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 8px; background: rgba(78,232,131,.08); color: #7be997; font-size: 9px; font-style: normal; font-weight: 900; }
.admin-quality-list article.needs-attention > i { background: rgba(255,178,70,.1); color: #ffc06a; }
.admin-quality-list article > span { display: grid; gap: 3px; }
.admin-quality-list strong { color: rgba(255,255,255,.8); font-size: 9px; }
.admin-quality-list small { color: rgba(255,255,255,.3); font-size: 7px; }
.admin-quality-list article > b { color: #fff; font-size: 12px; }
.admin-quality-report > footer { display: grid; grid-template-columns: repeat(3,1fr); gap: 6px; margin-top: 12px; padding-top: 12px; border-top: 1px solid rgba(255,255,255,.07); }
.admin-quality-report > footer span { display: grid; gap: 3px; color: rgba(255,255,255,.34); font-size: 7px; }
.admin-quality-report > footer b { color: #84e49d; font-size: 11px; }
.admin-team-report-list { display: grid; gap: 8px; }
.admin-team-report-list article { min-height: 53px; display: grid; grid-template-columns: 11px minmax(92px,.7fr) minmax(70px,1fr) 28px; gap: 9px; align-items: center; padding: 7px 8px; border: 1px solid rgba(255,255,255,.07); border-radius: 11px; background: rgba(255,255,255,.02); }
.admin-team-report-list article > i { width: 9px; height: 9px; border-radius: 50%; background: var(--team); box-shadow: 0 0 13px var(--team); }
.admin-team-report-list article > span { min-width: 0; display: grid; gap: 2px; }
.admin-team-report-list strong { overflow: hidden; color: #fff; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.admin-team-report-list small { color: rgba(255,255,255,.33); font-size: 7px; }
.admin-team-report-list em i { height: 100%; display: block; border-radius: inherit; background: var(--team); }
.admin-team-report-list article > b { color: #fff; font-size: 11px; text-align: right; }
.admin-live-program-list { max-height: 380px; display: grid; gap: 7px; overflow-y: auto; padding-right: 3px; }
.admin-live-program-list article { min-height: 62px; display: grid; grid-template-columns: 44px minmax(110px,1fr) auto; gap: 9px; align-items: center; padding: 8px; border: 1px solid rgba(255,255,255,.07); border-radius: 11px; background: rgba(255,255,255,.02); }
.admin-live-program-list article.live { border-color: rgba(78,232,131,.3); background: rgba(78,232,131,.07); }
.admin-live-program-list time { color: #8fe8a6; font-size: 9px; font-weight: 900; }
.admin-live-program-list article > span { min-width: 0; display: grid; gap: 4px; }
.admin-live-program-list strong,
.admin-live-program-list small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-live-program-list strong { color: #fff; font-size: 9px; }
.admin-live-program-list small { color: rgba(255,255,255,.32); font-size: 7px; text-transform: capitalize; }
.admin-live-program-list article > div { display: flex; gap: 4px; }
.admin-live-program-list button { min-height: 29px; padding: 0 7px; border: 1px solid rgba(255,255,255,.1); border-radius: 7px; background: rgba(255,255,255,.035); color: rgba(255,255,255,.58); font-size: 7px; font-weight: 900; cursor: pointer; }
.admin-live-program-list button.go-live { border-color: rgba(78,232,131,.2); color: #87e9a0; }
.admin-live-program-list button:hover:not(:disabled) { border-color: rgba(78,232,131,.42); background: rgba(78,232,131,.1); color: #fff; }
.admin-live-program-list button:disabled { cursor: default; opacity: .25; }
.admin-export-center > header > div > p:last-child { max-width: 580px; margin: 7px 0 0; color: rgba(255,255,255,.37); font-size: 9px; line-height: 1.6; }
.admin-export-center > div { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
.admin-export-center > div > button { min-height: 76px; display: grid; grid-template-columns: 36px minmax(0,1fr); gap: 10px; align-items: center; padding: 11px; border: 1px solid rgba(255,255,255,.09); border-radius: 12px; background: rgba(255,255,255,.025); color: #fff; text-align: left; cursor: pointer; }
.admin-export-center > div > button:hover { border-color: rgba(78,232,131,.3); background: rgba(78,232,131,.07); }
.admin-export-center > div > button > i { width: 36px; height: 36px; display: grid; place-items: center; grid-row: 1/3; border-radius: 10px; background: rgba(78,232,131,.09); color: #83e99c; font-size: 15px; font-style: normal; }
.admin-export-center button > span { min-width: 0; display: grid; gap: 4px; }
.admin-export-center button strong,
.admin-export-center button small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.admin-export-center button strong { font-size: 9px; }
.admin-export-center button small { color: rgba(255,255,255,.32); font-size: 7px; }
.admin-export-center button > b { grid-column: 2; color: #7ee498; font-size: 7px; text-transform: uppercase; }

@media(max-width:1050px) {
  .admin-report-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .admin-export-center > div { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .admin-head-actions { flex-wrap: wrap; justify-content: flex-end; }
}
@media(max-width:820px) {
  .admin-report-grid { grid-template-columns: 1fr; }
}
@media(max-width:759px) {
  body.page-admin .admin-sidebar nav { grid-template-columns: repeat(10,minmax(64px,1fr)); }
  .admin-search-trigger { min-height: 32px; padding: 0 8px; }
  .admin-search-trigger kbd { display: none; }
  .admin-search-backdrop { padding: 76px 10px 20px; }
  .admin-command-search { border-radius: 16px; }
  .admin-command-search > header { min-height: 58px; padding: 0 12px; }
  .admin-command-search input { height: 56px; font-size: 11px; }
  .admin-report-kpis { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
  .admin-report-kpis article { min-height: 108px; padding: 14px; }
  .admin-report-kpis strong { font-size: 28px; }
  .admin-report-card,.admin-export-center { padding: 16px; border-radius: 17px; }
  .admin-live-program-list article { grid-template-columns: 38px minmax(0,1fr); }
  .admin-live-program-list article > div { grid-column: 2; }
  .admin-export-center > div { grid-template-columns: 1fr; }
  .score-quick-adjust button { min-height: 30px; font-size: 8px; }
}
@media(max-width:430px) {
  .admin-head-actions { display: flex; }
  .admin-search-trigger { width: 34px; justify-content: center; padding: 0; font-size: 0; }
  .admin-search-trigger > span { font-size: 17px; }
  .admin-report-kpis { grid-template-columns: 1fr; }
  .admin-class-bars article { grid-template-columns: minmax(105px,.8fr) minmax(65px,1fr) 24px; }
  .admin-quality-report > footer { grid-template-columns: 1fr; }
  .admin-command-results > button > b { display: none; }
  .admin-command-results > button { grid-template-columns: 34px minmax(0,1fr); }
}

/* Ayah single line layout & Cairo font priority override */
html body.page-home .home-story-verse p[dir="rtl"],
html body.page-home .home-story-verse p {
  display: block !important;
  text-align: center !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: clip !important;
  padding: 34px 14px 28px !important;
  font-family: "Amiri Quran", "Amiri", "Scheherazade New", "Noto Naskh Arabic", serif !important;
  font-size: clamp(20px, 2.2vw, 32px) !important;
  font-weight: 700 !important;
  line-height: 1.8 !important;
  color: #59df7b !important;
  text-shadow: none !important;
}

html body.page-home .home-story-verse p[dir="rtl"] span,
html body.page-home .home-story-verse p span {
  display: inline !important;
  white-space: nowrap !important;
  font-family: "Amiri Quran", "Amiri", "Scheherazade New", "Noto Naskh Arabic", serif !important;
  font-size: inherit !important;
  font-weight: 700 !important;
  line-height: inherit !important;
  color: #59df7b !important;
  text-shadow: none !important;
  opacity: 1 !important;
  filter: none !important;
  transform: none !important;
}

/* Scoreboard Exact Redesign matching Image 1 */
body.page-scoreboard .scoreboard-experience {
  padding: 80px 0 60px !important;
}

.scoreboard-container-box {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 1px solid rgba(78, 232, 131, 0.22);
  border-radius: 28px;
  background: linear-gradient(150deg, rgba(3, 24, 13, 0.96) 0%, rgba(2, 14, 8, 0.98) 100%);
  box-shadow: 0 32px 80px rgba(0, 0, 0, 0.45), inset 0 1px 0 rgba(78, 232, 131, 0.12);
  padding: clamp(24px, 4vw, 44px);
  color: #ffffff;
}

.scoreboard-box-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  margin-bottom: 32px;
}

.scoreboard-live-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #56e47a;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  margin-bottom: 12px;
}

.scoreboard-live-badge i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #56e47a;
  box-shadow: 0 0 10px #56e47a;
}

.scoreboard-box-title {
  font-family: 'Ubuntu', sans-serif !important;
  font-size: clamp(42px, 6vw, 68px);
  font-weight: 800;
  line-height: 0.92;
  margin: 0;
  color: #ffffff;
}

.scoreboard-box-title .title-accent {
  color: #56e47a;
}

.scoreboard-box-subtitle {
  max-width: 400px;
  color: rgba(255, 255, 255, 0.65);
  font-size: 12px;
  line-height: 1.6;
  margin: 0;
  text-align: right;
}

.scoreboard-box-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  gap: 24px;
  align-items: stretch;
}

/* Left Leader Card with dynamic Team Color */
.scoreboard-leader-card {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  background: linear-gradient(135deg, 
    color-mix(in srgb, var(--team, #6c1bb3) 82%, #0d041a) 0%, 
    color-mix(in srgb, var(--team, #430d78) 55%, #05010c) 60%, 
    #030107 100%
  );
  padding: 32px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 340px;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.35), inset 0 1px 0 color-mix(in srgb, var(--team, #ffffff) 25%, transparent);
  border: 1px solid color-mix(in srgb, var(--team, #ffffff) 20%, transparent);
}

.leader-card-circles {
  position: absolute;
  top: -40px;
  right: -40px;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  border: 40px solid color-mix(in srgb, var(--team, #ffffff) 15%, transparent);
  pointer-events: none;
}

.leader-card-rank {
  position: absolute;
  top: 24px;
  right: 28px;
  font-size: 36px;
  font-weight: 800;
  color: color-mix(in srgb, var(--team, #ffffff) 35%, transparent);
  line-height: 1;
}

.leader-card-overline {
  color: rgba(255, 255, 255, 0.6);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.leader-card-team {
  font-family: "Noto Naskh Arabic", serif !important;
  font-size: clamp(38px, 4.5vw, 54px);
  font-weight: 700;
  color: #ffffff;
  margin: 16px 0 12px;
  line-height: 1.1;
}

.leader-card-score-box {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 88px;
  height: 88px;
  border-radius: 24px;
  background: color-mix(in srgb, var(--team, #000000) 25%, rgba(0, 0, 0, 0.38));
  border: 1px solid color-mix(in srgb, var(--team, #ffffff) 30%, rgba(255, 255, 255, 0.12));
  margin-bottom: 12px;
  box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.4), 0 0 24px color-mix(in srgb, var(--team, transparent) 25%, transparent);
}

.leader-card-score {
  font-family: 'Ubuntu', sans-serif !important;
  font-size: 52px;
  font-weight: 800;
  color: #ffffff;
  line-height: 1;
}

.leader-card-footer-label {
  color: rgba(255, 255, 255, 0.7);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

/* Right Team Rows Stack */
.scoreboard-team-rows {
  display: flex;
  flex-direction: column;
  gap: 12px;
  justify-content: center;
}

.scoreboard-team-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 22px;
  border-radius: 18px;
  background: linear-gradient(135deg, 
    color-mix(in srgb, var(--team, #8fe312) 12%, rgba(5, 18, 11, 0.82)) 0%, 
    rgba(3, 11, 7, 0.9) 100%
  );
  border: 1px solid color-mix(in srgb, var(--team, #8fe312) 30%, rgba(255, 255, 255, 0.08));
  border-left: 5px solid var(--team, #8fe312);
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.3);
  position: relative;
  overflow: hidden;
}

.scoreboard-team-row::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 70px;
  background: linear-gradient(90deg, color-mix(in srgb, var(--team, #8fe312) 18%, transparent), transparent);
  pointer-events: none;
}

.team-row-rank {
  color: #ffffff;
  font-family: 'Ubuntu', sans-serif !important;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.04em;
  padding: 4px 11px;
  border-radius: 10px;
  background: color-mix(in srgb, var(--team, #8fe312) 22%, rgba(0, 0, 0, 0.4));
  border: 1.5px solid color-mix(in srgb, var(--team, #8fe312) 50%, rgba(255, 255, 255, 0.12));
  min-width: 42px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.team-row-name {
  font-family: "Noto Naskh Arabic", serif !important;
  font-size: 22px;
  font-weight: 700;
  color: #ffffff;
  margin: 0;
  padding-inline: 16px;
}

.team-row-line {
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, 
    color-mix(in srgb, var(--team, #ffffff) 25%, transparent), 
    rgba(255, 255, 255, 0.04) 75%,
    transparent
  );
  margin-inline: 16px;
}

.team-row-score-pill {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 50px;
  height: 42px;
  padding-inline: 14px;
  border-radius: 12px;
  background: color-mix(in srgb, var(--team, #000000) 20%, rgba(0, 0, 0, 0.45));
  border: 1px solid color-mix(in srgb, var(--team, #ffffff) 28%, rgba(255, 255, 255, 0.08));
  color: #ffffff;
  font-family: 'Ubuntu', sans-serif !important;
  font-size: 22px;
  font-weight: 800;
}

.scoreboard-box-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 28px;
  padding-top: 18px;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.45);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* 3D Levitating Neon Glass Cards Schedule Section */
.home-schedule-3d-deck {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  margin-top: 36px;
  padding: clamp(36px, 5vw, 56px);
  border-radius: 32px;
  border: 1px solid rgba(86, 228, 122, 0.28);
  background:
    radial-gradient(circle at 100% 0%, rgba(86, 228, 122, 0.16), transparent 55%),
    linear-gradient(150deg, rgba(8, 26, 16, 0.94), rgba(4, 14, 8, 0.98));
  box-shadow: 0 32px 80px rgba(0, 0, 0, 0.5), inset 0 1px 0 rgba(86, 228, 122, 0.2);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}

.animated-wave-ribbon-bg,
.flowing-sine-wave,
.glowing-wave-path {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
}

.mini-wave-stroke {
  animation: miniWavePulse 3s ease-in-out infinite alternate;
}

@keyframes waveRibbonFlow {
  0% {
    stroke-dashoffset: 0;
  }
  100% {
    stroke-dashoffset: -960;
  }
}

@keyframes miniWavePulse {
  0% {
    stroke: #56e47a;
    filter: drop-shadow(0 0 2px rgba(86, 228, 122, 0.4));
  }
  100% {
    stroke: #ffffff;
    filter: drop-shadow(0 0 10px rgba(86, 228, 122, 0.9));
  }
}

.schedule-3d-head {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 36px;
}

.schedule-3d-copy .overline {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #56e47a;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 12px;
}

.neon-pulse-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #56e47a;
  box-shadow: 0 0 10px #56e47a;
  animation: neonDotGlow 2s ease-in-out infinite;
}

@keyframes neonDotGlow {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 0 8px #56e47a;
  }
  50% {
    transform: scale(1.35);
    box-shadow: 0 0 20px #56e47a, 0 0 30px #56e47a;
  }
}

.schedule-3d-copy h2 {
  font-family: 'Ubuntu', sans-serif !important;
  font-size: clamp(36px, 4.8vw, 58px);
  font-weight: 800;
  line-height: 1.02;
  color: #ffffff;
  margin: 0 0 16px;
  text-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
}

.schedule-3d-wave {
  width: 120px;
  height: 18px;
  color: #56e47a;
}

.schedule-3d-action-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 12px 26px;
  border-radius: 9999px;
  border: 1px solid rgba(86, 228, 122, 0.4);
  background: rgba(86, 228, 122, 0.12);
  color: #56e47a;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none !important;
  box-shadow: 0 10px 28px rgba(86, 228, 122, 0.18);
  transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1);
  white-space: nowrap;
}

.schedule-3d-action-btn:hover {
  transform: translateY(-3px);
  border-color: rgba(86, 228, 122, 0.85);
  background: rgba(86, 228, 122, 0.26);
  color: #ffffff;
  box-shadow: 0 14px 34px rgba(86, 228, 122, 0.38);
}

.schedule-3d-action-btn b {
  font-size: 14px;
  transition: transform 0.3s ease;
}

.schedule-3d-action-btn:hover b {
  transform: translateY(3px);
}

.schedule-3d-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 24px;
  position: relative;
  z-index: 2;
}

/* 3D Levitating Glass Cards */
.schedule-3d-card {
  position: relative;
  text-decoration: none !important;
  color: #ffffff !important;
  border-radius: 24px;
  transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.45s ease, border-color 0.45s ease;
  transform-style: preserve-3d;
}

.card-3d-emerald {
  transform: perspective(1000px) rotateY(-3deg) rotateX(2deg);
  border: 1px solid rgba(16, 185, 129, 0.38);
  background:
    radial-gradient(circle at 100% 0%, rgba(16, 185, 129, 0.22), transparent 60%),
    linear-gradient(145deg, rgba(6, 34, 20, 0.92), rgba(2, 16, 10, 0.98));
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.45), 0 0 24px rgba(16, 185, 129, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.18);
  animation: cardLevitateEmerald 6s ease-in-out infinite alternate;
}

@keyframes cardLevitateEmerald {
  0% {
    transform: perspective(1000px) rotateY(-3deg) rotateX(2deg) translateY(0px);
  }
  100% {
    transform: perspective(1000px) rotateY(-2deg) rotateX(1deg) translateY(-8px);
  }
}

.card-3d-emerald:hover {
  transform: perspective(1000px) rotateY(0deg) rotateX(0deg) translateY(-12px) scale(1.02) !important;
  border-color: rgba(16, 185, 129, 0.95);
  box-shadow: 0 32px 80px rgba(0, 0, 0, 0.55), 0 0 45px rgba(16, 185, 129, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.card-3d-amber {
  transform: perspective(1000px) rotateY(3deg) rotateX(2deg);
  border: 1px solid rgba(245, 158, 11, 0.38);
  background:
    radial-gradient(circle at 100% 0%, rgba(245, 158, 11, 0.22), transparent 60%),
    linear-gradient(145deg, rgba(34, 24, 6, 0.92), rgba(16, 10, 2, 0.98));
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.45), 0 0 24px rgba(245, 158, 11, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.18);
  animation: cardLevitateAmber 6s ease-in-out infinite alternate 1s;
}

@keyframes cardLevitateAmber {
  0% {
    transform: perspective(1000px) rotateY(3deg) rotateX(2deg) translateY(0px);
  }
  100% {
    transform: perspective(1000px) rotateY(2deg) rotateX(1deg) translateY(-8px);
  }
}

.card-3d-amber:hover {
  transform: perspective(1000px) rotateY(0deg) rotateX(0deg) translateY(-12px) scale(1.02) !important;
  border-color: rgba(245, 158, 11, 0.95);
  box-shadow: 0 32px 80px rgba(0, 0, 0, 0.55), 0 0 45px rgba(245, 158, 11, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.card-3d-inner {
  padding: 28px 32px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 210px;
}

.card-3d-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.card-3d-badge {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.14em;
  padding: 4px 10px;
  border-radius: 8px;
  text-transform: uppercase;
}

.card-3d-emerald .card-3d-badge {
  background: rgba(16, 185, 129, 0.22);
  color: #34d399;
  border: 1px solid rgba(16, 185, 129, 0.4);
}

.card-3d-amber .card-3d-badge {
  background: rgba(245, 158, 11, 0.22);
  color: #fbbf24;
  border: 1px solid rgba(245, 158, 11, 0.4);
}

.card-3d-pill {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.12em;
  color: rgba(255, 255, 255, 0.7);
  padding: 3px 8px;
  border-radius: 6px;
  background: rgba(0, 0, 0, 0.3);
}

.card-3d-body {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-block: 22px;
}

.card-3d-number {
  font-family: 'Ubuntu', sans-serif !important;
  font-size: 64px;
  font-weight: 800;
  line-height: 0.85;
  color: #ffffff;
  text-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}

.card-3d-date-meta strong {
  display: block;
  font-size: 18px;
  font-weight: 800;
  color: #ffffff;
}

.card-3d-date-meta small {
  display: block;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.6);
  margin-top: 3px;
}

.card-3d-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-top: 14px;
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  color: rgba(255, 255, 255, 0.75);
  font-size: 11px;
  font-weight: 700;
}

.card-3d-arrow {
  font-size: 16px;
  transition: transform 0.3s ease;
}

.schedule-3d-card:hover .card-3d-arrow {
  transform: translateX(4px);
}

@media (max-width: 860px) {
  .schedule-3d-head {
    flex-direction: column;
    align-items: flex-start;
  }
  .schedule-3d-grid {
    grid-template-columns: 1fr;
  }
  .card-3d-emerald,
  .card-3d-amber {
    transform: none !important;
  }
}

/* Hardware accelerated pulsing glow animation */
@keyframes pulseGlow {
  0%, 100% { opacity: 0.8; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.15); box-shadow: 0 0 14px #56e47a; }
}

.neon-pulse-dot {
  animation: pulseGlow 2.5s ease-in-out infinite;
}

@media (max-width: 860px) {
  .schedule-deck-head {
    flex-direction: column;
    align-items: flex-start;
  }
  .schedule-deck-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 860px) {
  .scoreboard-box-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
  .scoreboard-box-subtitle {
    text-align: left;
  }
  .scoreboard-box-grid {
    grid-template-columns: 1fr;
  }
  .home-schedule-circles {
    grid-template-columns: 1fr;
  }
}

/* Arabic script text styling */
[lang="ar"], [dir="rtl"], .bismillah-mark, .arabic-team-name, .team-row-name {
  font-family: 'Noto Naskh Arabic', 'Amiri', 'Traditional Arabic', serif !important;
}

/* Group Roster Modal & Popup Styles */
.directory-head-actions {
  display: flex;
  align-items: center;
  gap: 16px;
}

.group-modal-trigger-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 22px;
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(78, 232, 131, 0.2), rgba(37, 174, 83, 0.15));
  border: 1px solid rgba(78, 232, 131, 0.4);
  color: #fff;
  font-family: 'Ubuntu', sans-serif !important;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.25s ease;
  box-shadow: 0 4px 20px rgba(78, 232, 131, 0.15);
}

.group-modal-trigger-btn:hover {
  background: linear-gradient(135deg, rgba(78, 232, 131, 0.35), rgba(37, 174, 83, 0.28));
  border-color: #4ee883;
  transform: translateY(-1px);
  box-shadow: 0 8px 28px rgba(78, 232, 131, 0.3);
  color: #6effa2;
}

.group-modal-trigger-small {
  padding: 8px 16px;
  font-size: 12px;
}

.group-modal-backdrop {
  position: fixed;
  inset: 0;
  z-index: 5000;
  display: grid;
  place-items: center;
  padding: 24px;
  background: rgba(4, 12, 8, 0.88);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  overflow-y: auto;
}

.group-modal-container {
  position: relative;
  width: min(1080px, calc(100% - 16px));
  max-height: min(88vh, 820px);
  display: flex;
  flex-direction: column;
  border-radius: 24px;
  border: 1px solid rgba(78, 232, 131, 0.22);
  background: rgba(8, 22, 14, 0.96);
  box-shadow: 0 32px 80px rgba(0, 0, 0, 0.65), inset 0 1px 0 rgba(255, 255, 255, 0.08);
  overflow: hidden;
}

.group-modal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 24px 28px 18px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(12, 30, 19, 0.6);
}

.group-modal-header h2 {
  font-family: 'Ubuntu', sans-serif !important;
  font-size: clamp(24px, 3vw, 32px) !important;
  color: #fff !important;
  margin: 2px 0 4px 0 !important;
}

.group-modal-header p {
  color: rgba(255, 255, 255, 0.6);
  font-size: 13px;
  margin: 0;
}

.group-modal-close {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.15);
  background: rgba(255, 255, 255, 0.05);
  color: #fff;
  font-size: 16px;
  cursor: pointer;
  display: grid;
  place-items: center;
  transition: all 0.2s ease;
}

.group-modal-close:hover {
  background: rgba(255, 78, 78, 0.2);
  border-color: rgba(255, 78, 78, 0.4);
  color: #ff6b6b;
}

.group-modal-tabs {
  display: flex;
  gap: 8px;
  padding: 16px 28px;
  overflow-x: auto;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  background: rgba(6, 18, 11, 0.4);
}

.group-modal-tabs button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.03);
  color: rgba(255, 255, 255, 0.75);
  font-family: 'Ubuntu', sans-serif !important;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.2s ease;
}

.group-modal-tabs button:hover {
  background: rgba(78, 232, 131, 0.1);
  border-color: rgba(78, 232, 131, 0.3);
  color: #fff;
}

.group-modal-tabs button.active {
  background: rgba(78, 232, 131, 0.18);
  border-color: #4ee883;
  color: #6effa2;
  box-shadow: 0 0 16px rgba(78, 232, 131, 0.2);
}

.group-modal-tabs button b {
  padding: 2px 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  font-size: 11px;
}

.group-modal-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 28px;
  background: rgba(8, 22, 14, 0.8);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.group-modal-toolbar input {
  flex: 1;
  max-width: 480px;
  height: 42px;
  padding: 0 16px;
  border-radius: 12px;
  border: 1px solid rgba(78, 232, 131, 0.25);
  background: rgba(4, 14, 8, 0.6);
  color: #fff;
  font-size: 13px;
}

.group-modal-toolbar input:focus {
  border-color: #4ee883;
  box-shadow: 0 0 0 3px rgba(78, 232, 131, 0.15);
  outline: none;
}

.group-modal-count {
  color: rgba(255, 255, 255, 0.5);
  font-size: 12px;
  font-weight: 500;
}

.group-modal-body {
  flex: 1;
  overflow-y: auto;
  padding: 16px 28px 28px;
}

.group-modal-table-wrap {
  width: 100%;
  overflow-x: auto;
}

.group-modal-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 8px;
  text-align: left;
}

.group-modal-table th {
  padding: 10px 14px;
  color: rgba(255, 255, 255, 0.45);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.group-modal-table td {
  padding: 14px;
  background: rgba(255, 255, 255, 0.025);
  border-top: 1px solid rgba(255, 255, 255, 0.05);
  border-bottom: 1px solid rgba(255, 255, 255, 0.05);
  color: #e6fff0;
  font-size: 13px;
  vertical-align: middle;
}

.group-modal-table tr td:first-child {
  border-top-left-radius: 12px;
  border-bottom-left-radius: 12px;
  border-left: 1px solid rgba(255, 255, 255, 0.05);
}

.group-modal-table tr td:last-child {
  border-top-right-radius: 12px;
  border-bottom-right-radius: 12px;
  border-right: 1px solid rgba(255, 255, 255, 0.05);
}

.group-modal-table tr:hover td {
  background: rgba(78, 232, 131, 0.06);
  border-color: rgba(78, 232, 131, 0.2);
}

.chest-no-cell strong {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 8px;
  background: rgba(78, 232, 131, 0.12);
  color: #6effa2;
  font-family: monospace, sans-serif;
  font-size: 12px;
  letter-spacing: 0.05em;
}

.name-block {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.name-block .display-name {
  font-weight: 700;
  color: #fff;
}

.name-block .full-name {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.55);
}

.name-block .arabic-name {
  font-size: 14px;
  color: #4ee883;
}

.class-pill {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.85);
  font-size: 11px;
  font-weight: 600;
}

.group-pill {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
}

.group-pill-1 { background: rgba(143, 227, 18, 0.15); color: #8fe312; border: 1px solid rgba(143, 227, 18, 0.3); }
.group-pill-2 { background: rgba(196, 0, 245, 0.15); color: #e57eff; border: 1px solid rgba(196, 0, 245, 0.3); }
.group-pill-3 { background: rgba(56, 156, 245, 0.15); color: #6db6ff; border: 1px solid rgba(56, 156, 245, 0.3); }
.group-pill-4 { background: rgba(188, 237, 22, 0.15); color: #bced16; border: 1px solid rgba(188, 237, 22, 0.3); }
.group-pill-unassigned { background: rgba(255, 255, 255, 0.06); color: rgba(255, 255, 255, 0.5); }

.status-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 6px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
}

.status-badge.status-active { background: rgba(78, 232, 131, 0.15); color: #4ee883; }

.group-modal-empty {
  padding: 48px 24px;
  text-align: center;
  color: rgba(255, 255, 255, 0.5);
  display: grid;
  gap: 8px;
}

/* ==========================================================================
   Modern Participants / Running Order Page Redesign
   ========================================================================== */

.participant-directory-page {
  padding: 24px 0 80px;
}

.participant-directory-page .participant-title {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 28px;
  padding-bottom: 20px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.participant-directory-page .participant-heading-copy h1 {
  font-family: 'Ubuntu', sans-serif !important;
  font-size: clamp(34px, 4.5vw, 54px) !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  line-height: 1.05 !important;
  margin: 4px 0 6px 0 !important;
  letter-spacing: -0.02em;
}

.participant-directory-page .participant-heading-copy p {
  color: rgba(255, 255, 255, 0.65);
  font-size: 14px;
  margin: 0;
}

.participant-directory-page .participant-page-summary {
  display: flex;
  align-items: center;
  gap: 12px;
}

.participant-directory-page .participant-page-summary span {
  display: flex;
  flex-direction: flex-column;
  align-items: flex-end;
  padding: 6px 14px;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.participant-directory-page .participant-page-summary strong {
  font-family: 'Ubuntu', sans-serif;
  font-size: 18px;
  color: #4ee883;
}

.participant-directory-page .participant-page-summary small {
  font-size: 10px;
  color: rgba(255, 255, 255, 0.5);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.participant-stage-layout {
  display: grid;
  grid-template-columns: minmax(340px, 420px) 1fr;
  gap: 24px;
  align-items: start;
}

@media (max-width: 960px) {
  .participant-stage-layout {
    grid-template-columns: 1fr;
  }
}

/* Spotlight Card (First in Queue) */
.participant-spotlight {
  position: relative;
  border-radius: 24px;
  border: 1px solid rgba(78, 232, 131, 0.28);
  background: linear-gradient(165deg, rgba(12, 34, 21, 0.94) 0%, rgba(6, 18, 11, 0.98) 100%);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.5), 0 0 32px rgba(78, 232, 131, 0.12), inset 0 1px 0 rgba(255, 255, 255, 0.1);
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  overflow: hidden;
}

.spotlight-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.live-label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 5px 12px;
  border-radius: 999px;
  background: rgba(78, 232, 131, 0.15);
  border: 1px solid rgba(78, 232, 131, 0.4);
  color: #6effa2;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.live-pulse {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #4ee883;
  box-shadow: 0 0 10px #4ee883;
  animation: pulseGlow 1.8s infinite;
}

@keyframes pulseGlow {
  0% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(78, 232, 131, 0.7); }
  70% { transform: scale(1.1); box-shadow: 0 0 0 8px rgba(78, 232, 131, 0); }
  100% { transform: scale(0.95); box-shadow: 0 0 0 0 rgba(78, 232, 131, 0); }
}

.spotlight-clock {
  font-family: monospace, sans-serif;
  font-size: 13px;
  color: rgba(255, 255, 255, 0.75);
  background: rgba(255, 255, 255, 0.05);
  padding: 4px 10px;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.08);
}

.spotlight-hero {
  position: relative;
  z-index: 1;
}

.spotlight-program-tag {
  display: inline-block;
  color: #4ee883;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 6px;
}

.spotlight-hero h2 {
  font-family: 'Ubuntu', sans-serif !important;
  font-size: clamp(28px, 3.5vw, 40px) !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  line-height: 1.1 !important;
  margin: 0 0 14px 0 !important;
  word-break: break-word;
}

.spotlight-tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.badge-category, .badge-code, .badge-team {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 8px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.badge-category {
  background: rgba(255, 255, 255, 0.08);
  color: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(255, 255, 255, 0.12);
}

.badge-code {
  background: rgba(78, 232, 131, 0.12);
  color: #6effa2;
  border: 1px solid rgba(78, 232, 131, 0.25);
  font-family: monospace, sans-serif;
}

.badge-team {
  background: rgba(255, 215, 0, 0.15);
  color: #ffd700;
  border: 1px solid rgba(255, 215, 0, 0.3);
  font-size: 12px;
}

.spotlight-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 4px;
}

.spotlight-stat {
  padding: 12px 10px;
  border-radius: 14px;
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(255, 255, 255, 0.06);
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.spotlight-stat span {
  font-size: 9px;
  color: rgba(255, 255, 255, 0.45);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 700;
}

.spotlight-stat strong {
  font-family: 'Ubuntu', sans-serif;
  font-size: 15px;
  color: #ffffff;
}

.spotlight-up-next {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 16px;
  background: rgba(255, 185, 0, 0.08);
  border: 1px solid rgba(255, 185, 0, 0.25);
}

.spotlight-next-order {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 10px;
  background: rgba(255, 185, 0, 0.2);
  color: #ffca28;
  font-family: 'Ubuntu', sans-serif;
  font-weight: 700;
  font-size: 13px;
}

.up-next-label {
  font-size: 10px;
  font-weight: 800;
  color: #ffca28;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  padding: 2px 6px;
  border-radius: 6px;
  background: rgba(255, 185, 0, 0.15);
}

.spotlight-next-copy {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.spotlight-next-copy strong {
  color: #ffffff;
  font-size: 13px;
  font-weight: 700;
}

.spotlight-next-copy small {
  color: rgba(255, 255, 255, 0.55);
  font-size: 11px;
}

/* Running Order List Panel */
.participant-list {
  border-radius: 24px;
  border: 1px solid rgba(78, 232, 131, 0.2);
  background: rgba(8, 22, 14, 0.94);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.45);
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.participant-list-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.participant-list-head h2 {
  font-family: 'Ubuntu', sans-serif !important;
  font-size: 24px !important;
  color: #ffffff !important;
  margin: 0 !important;
}

.scheduled-badge {
  padding: 5px 12px;
  border-radius: 999px;
  background: rgba(78, 232, 131, 0.12);
  border: 1px solid rgba(78, 232, 131, 0.3);
  color: #6effa2;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
}

/* Legacy controls handled in modern.css */

.participant-program-filter {
  display: flex;
  align-items: center;
  gap: 8px;
}

.participant-program-filter > span {
  font-size: 10px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.45);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.participant-results-scroll {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: 520px;
  overflow-y: auto;
  padding-right: 4px;
}

.participant-row {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 18px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(255, 255, 255, 0.06);
  transition: all 0.22s ease;
}

.participant-row:hover {
  background: rgba(78, 232, 131, 0.06);
  border-color: rgba(78, 232, 131, 0.25);
  transform: translateY(-1px);
}

.participant-row.is-live {
  background: linear-gradient(135deg, rgba(78, 232, 131, 0.16) 0%, rgba(12, 34, 21, 0.4) 100%);
  border: 1px solid rgba(78, 232, 131, 0.45);
  box-shadow: 0 4px 20px rgba(78, 232, 131, 0.12);
}

.participant-row.is-next {
  background: linear-gradient(135deg, rgba(255, 185, 0, 0.12) 0%, rgba(20, 16, 4, 0.4) 100%);
  border: 1px solid rgba(255, 185, 0, 0.35);
}

.participant-order {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(255, 255, 255, 0.08);
  font-family: 'Ubuntu', sans-serif;
  font-size: 14px;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.7);
}

.participant-row.is-live .participant-order {
  background: rgba(78, 232, 131, 0.25);
  border-color: #4ee883;
  color: #6effa2;
}

.participant-row.is-next .participant-order {
  background: rgba(255, 185, 0, 0.22);
  border-color: #ffca28;
  color: #ffd700;
}

.participant-person {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.participant-person strong {
  font-family: 'Ubuntu', sans-serif;
  font-size: 15px;
  font-weight: 700;
  color: #ffffff;
}

.participant-person small {
  font-size: 11px;
  color: rgba(255, 255, 255, 0.55);
}

.participant-call {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 3px;
}

.participant-call time {
  font-family: monospace, sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: #ffffff;
}

.state-pill {
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.state-pill.state-is-live {
  background: rgba(78, 232, 131, 0.2);
  color: #6effa2;
  border: 1px solid rgba(78, 232, 131, 0.4);
}

.state-pill.state-is-next {
  background: rgba(255, 185, 0, 0.2);
  color: #ffd700;
  border: 1px solid rgba(255, 185, 0, 0.4);
}

.state-pill.state-is-waiting {
  background: rgba(255, 255, 255, 0.06);
  color: rgba(255, 255, 255, 0.5);
  border: 1px solid rgba(255, 255, 255, 0.08);
}





