.nyce-nav {
  display: flex; gap: 8px; align-items: center; justify-content: center;
  flex-wrap: wrap; padding: 12px 16px; color: #fff8f1; font-weight: 800; letter-spacing: .06em; font-size: 12px;
}
.nyce-nav a, .nyce-nav span { text-decoration: none; color: inherit; }
.nyce-pills { display: flex; gap: 8px; flex-wrap: wrap; }
.nyce-links { display: none; }
.nyce-pill {
  display: inline-flex; align-items: center; gap: 8px;
  border: 1px solid rgba(232,93,4,.8); border-radius: 999px; padding: 6px 10px; background: rgba(0,0,0,.35);
}
.nyce-dot { width: 8px; height: 8px; border-radius: 50%; background: #e85d04; box-shadow: 0 0 10px #e85d04; }
.nyce-go {
  border: 2px solid #e85d04; border-radius: 999px; padding: 7px 10px; background: #e85d04; color: #1a120c !important;
}
.theme-swatch, #themeBtn, #themeBtnSplash, .look-toggle { display: none !important; }

@font-face { font-family: NycePassion; src: url("passion.woff2") format("woff2"); font-display: swap; }
body, button, input { font-family: "Trebuchet MS", "Segoe UI", sans-serif; }
.splash h1, .legal-page h1 {
  color: #e85d04;
  font-family: NycePassion, "Trebuchet MS", sans-serif;
  font-size: clamp(48px, 9vw, 104px);
  letter-spacing: 0;
  font-weight: 900;
  line-height: .9;
  text-shadow: 0 3px 0 #000, 0 14px 36px rgba(0,0,0,.85), 0 0 34px rgba(232,93,4,.55);
}
.splash {
  background:
    linear-gradient(180deg, rgba(9,7,5,.15) 0%, rgba(9,7,5,.55) 48%, #090705 100%),
    url("hero.jpg") center 8% / cover no-repeat !important;
}
.splash .manifest, .splash .original {
  font-family: NycePassion, "Trebuchet MS", sans-serif;
  font-size: clamp(22px, 3.4vw, 34px);
  font-weight: 800;
  color: #fff;
  text-shadow: 0 3px 0 rgba(0,0,0,.8), 0 12px 28px rgba(0,0,0,.8);
}
.nyce-nav { font-family: "Trebuchet MS", "Segoe UI", sans-serif; font-size: 12px; }

.splash .card, .now-online, .splash-radio-mini {
  border: 3px solid #e85d04 !important;
  border-radius: 18px !important;
  background: rgba(18,12,8,.82) !important;
  box-shadow: 0 20px 60px rgba(0,0,0,.45);
}
.splash .legal-links, .splash .cookie-sticker { display: none; }
.site-foot { margin-top: 28px; width: 100%; text-align: center; color: #a08b7d; font-size: 12px; font-family: "Trebuchet MS", "Segoe UI", sans-serif; padding: 10px 12px 18px; }
  text-align: center; color: #a08b7d; font-size: 12px; padding: 12px 12px 22px;
}
.site-foot a { color: #e7cbb8; }
.cookie-sticker {
  display: inline-block; margin-top: 8px; transform: rotate(-2deg);
  border: 2px solid #e85d04; background: #e85d04; color: #1a120c !important;
  font-weight: 800; text-decoration: none; padding: 6px 10px; border-radius: 8px;
}

.splash h1 { margin: 0 0 8px !important; font-size: clamp(48px, 9vw, 104px) !important; }
.splash .manifest { margin: 4px 0 18px !important; font-size: clamp(24px, 3.8vw, 38px) !important; }
.splash .original { display: none; }

.splash .badge-row span { background: rgba(255,186,8,.8) !important; color: #fff !important; border: 2px solid #e85d04 !important; border-radius: 999px; }


.site-foot a { color: #e7cbb8 !important; text-decoration: none !important; }
.site-foot .cookie-sticker {
  color: #1a120c !important;
  background: #e85d04 !important;
  border: 2px solid #e85d04 !important;
  box-shadow: none !important;
  transform: rotate(-2deg);
  text-decoration: none !important;
}

.site-foot .cookie-sticker { font-size: 14px; padding: 9px 14px; margin-top: 16px; }
.splash .manifest { margin-bottom: 28px !important; }

.site-foot .cookie-sticker {
  font-size: 13px !important;
  padding: 8px 12px !important;
  margin-top: 16px !important;
  border-width: 2px !important;
  letter-spacing: .02em !important;
  line-height: 1.2 !important;
}

.splash .enter { font-family: NycePassion, "Trebuchet MS", sans-serif; font-size: 40px; letter-spacing: .04em; color: #fff !important; }

.splash .player {
  width: min(720px, 100%);
  margin: 36px auto 28px;
  background: rgba(18,12,8,.82);
  border: 3px solid #e85d04;
  border-radius: 18px;
  padding: 14px 14px 12px;
  display: grid;
  grid-template-columns: 92px 1fr auto;
  grid-template-areas: "label label label" "art meta play" "art bar bar";
  gap: 10px 14px;
  align-items: center;
  text-align: left;
  color: #fff8f1;
}
.splash .art { grid-area: art; width: 92px; height: 92px; border-radius: 12px; object-fit: cover; border: 2px solid #000; cursor: zoom-in; }
.splash .art.on { animation: pulseart 1.4s ease-in-out infinite; }
@keyframes pulseart { 50% { transform: scale(1.06); box-shadow: 0 0 18px rgba(232,93,4,.85); } }
.splash .meta { grid-area: meta; min-width: 0; }
.splash .kicker { color: #e85d04; font-size: 11px; font-weight: 800; letter-spacing: .14em; }
.splash .title { font-size: 20px; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.splash .artist { color: #e7cbb8; }
.splash .plays { grid-area: play; display: flex; gap: 8px; }
.splash .bar-row { grid-area: bar; display: flex; align-items: center; gap: 8px; }
.splash .times { font-size: 11px; color: #e7cbb8; font-weight: 700; }
.splash .track { flex: 1; height: 8px; border-radius: 99px; background: #2a1c12; overflow: hidden; }
.splash .track > span { display: block; height: 100%; width: 0; background: #e85d04; }
.splash button.play { border: 0; background: #e85d04; color: #1a120c; font-weight: 900; border-radius: 999px; padding: 14px 18px; cursor: pointer; }
.splash .ghost { border: 2px solid #e85d04; background: transparent; color: #fff; font-weight: 800; border-radius: 999px; padding: 12px 14px; cursor: pointer; }
.lightbox { position: fixed; inset: 0; background: rgba(0,0,0,.82); display: none; place-items: center; z-index: 30; }
.lightbox.open { display: grid; }
.lightbox img { max-width: min(92vw, 720px); max-height: 88vh; border-radius: 16px; border: 3px solid #e85d04; }
.sheet { width: min(440px, 92vw); background: #140e0a; border: 3px solid #e85d04; border-radius: 16px; padding: 16px; color: #fff; text-align: left; }
.sheet ol { list-style: none; padding: 0; margin: 10px 0 0; }
.sheet li { padding: 6px 0; border-top: 1px solid #3a2418; }

.splash .under-card { width: min(720px, 100%); }
.splash .player { width: 100% !important; margin-top: 8px !important; }

.splash .player-wrap { width: min(720px, 100%); margin: 28px auto 0; }
.splash .np-label { margin: 0 0 0 14px; text-align: left; font-size: 22px; color: #fff; font-weight: 700; font-family: "Trebuchet MS", "Segoe UI", sans-serif; text-shadow: 0 2px 0 rgba(0,0,0,.75), 0 10px 24px rgba(0,0,0,.8); }

.splash .player-wrap { position: relative; }
.splash .count { position: absolute; inset: 0; z-index: 6; display: flex; flex-direction: column; align-items: center; justify-content: center; background: rgba(0,0,0,.72); }
.splash .count[hidden] { display: none; }
.splash .count b { font-family: NycePassion, sans-serif; font-size: 18vw; line-height: .8; color: #fff; }
.splash .count span { color: #fff; font-weight: 900; letter-spacing: .18em; font-size: 28px; text-shadow: 0 0 18px #fff; }

.nyce-pill { text-decoration: none; }
.mob { display: none; }

.nyce-nav { justify-content: center; }
.nyce-links { display: flex; gap: 8px; }
.site-foot { position: static !important; margin-top: 28px; }
@media (max-width: 700px) {
  .desk { display: none; }
  .mob { display: inline; }
  .nyce-nav { justify-content: center; gap: 6px; padding: 8px; }
  .site-foot { position: static; margin-top: 24px; padding-bottom: 8px; }
  body:has(#login.splash:not(.hidden)) { padding-bottom: 72px; }
}

body:has(#login.splash:not(.hidden)) { padding-bottom: 80px; }

body:has(#login.splash:not(.hidden)) { height: auto; overflow: auto; }
body:has(#login.splash:not(.hidden)) .shell { height: auto; min-height: 0; overflow: visible; display: block; }
body:has(#login.splash:not(.hidden)) .login.splash { flex: none; }
body:has(#login.splash:not(.hidden)) .site-foot { margin-top: 24px; }
@media (max-width: 700px) {
  body:has(#login.splash:not(.hidden)) { padding-bottom: 90px; }
}

.nyce-dot { background: #b42318; box-shadow: 0 0 8px #b42318; }
.nyce-dot.on { background: #1f7a32; box-shadow: 0 0 10px #1f7a32; animation: dotpulse 1.4s ease-in-out infinite; }
.nyce-dot.mid { background: #e6b325; box-shadow: 0 0 10px #e6b325; animation: dotpulse 1.4s ease-in-out infinite; }
.nyce-dot.off { background: #c1121f; box-shadow: 0 0 10px #c1121f; }
@keyframes dotpulse { 50% { transform: scale(1.35); opacity: .65; } }
@media (max-width: 700px) {
  .nyce-links { display: none; }
}

@media (min-width: 701px) {
  body:has(#login.splash:not(.hidden)) { min-height: 100vh; }
  body:has(#login.splash:not(.hidden)) .shell { min-height: 100vh; display: flex; flex-direction: column; }
  body:has(#login.splash:not(.hidden)) .login.splash { flex: 1; justify-content: center; }
  body:has(#login.splash:not(.hidden)) .site-foot { margin-top: 0; }
}

@media (min-width: 901px) {
  html:has(#login.splash:not(.hidden)), body:has(#login.splash:not(.hidden)) { height: 100%; overflow: hidden; }
  body:has(#login.splash:not(.hidden)) .shell { height: 100vh; min-height: 100vh; display: flex; flex-direction: column; overflow: hidden; }
  body:has(#login.splash:not(.hidden)) .login.splash { flex: 1; min-height: 0; overflow: auto; display: flex; flex-direction: column; justify-content: center; align-items: center; }
  body:has(#login.splash:not(.hidden)) .site-foot { flex-shrink: 0; margin-top: 0; }
}

body:has(#login.splash:not(.hidden)), html:has(#login.splash:not(.hidden)) { height: auto !important; overflow: auto !important; }
body:has(#login.splash:not(.hidden)) .shell { height: auto !important; min-height: 0 !important; overflow: visible !important; display: block !important; }
body:has(#login.splash:not(.hidden)) .login.splash:not(.hidden) { flex: none; display: flex; flex-direction: column; align-items: center; justify-content: flex-start; padding-top: 28px; }
body:has(#login.splash:not(.hidden)) .site-foot {
  position: static !important;
  margin: 36px 0 0 !important;
  padding: 10px 12px 48px !important;
}

html:has(#login.splash:not(.hidden)), body:has(#login.splash:not(.hidden)) {
  height: auto !important;
  min-height: 100vh !important;
  overflow: auto !important;
  display: flex !important;
  flex-direction: column !important;
  background: #090705;
}
body:has(#login.splash:not(.hidden)) .shell {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
}
body:has(#login.splash:not(.hidden)) .login.splash:not(.hidden) {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  overflow: visible;
}
body:has(#login.splash:not(.hidden)) .site-foot {
  position: static !important;
  margin-top: 28px !important;
  padding: 10px 12px 56px !important;
  text-align: center;
}

body:has(#login.splash:not(.hidden)) {
  background:
    linear-gradient(180deg, rgba(9,7,5,.15) 0%, rgba(9,7,5,.55) 48%, #090705 100%),
    url("hero.jpg") center 8% / cover no-repeat fixed !important;
}
body:has(#login.splash:not(.hidden)) .splash {
  background: none !important;
}

body:has(#login.splash:not(.hidden)) {
  background: linear-gradient(180deg, rgba(9,7,5,.15) 0%, rgba(9,7,5,.55) 48%, #090705 100%), url("hero.jpg") center 8% / cover no-repeat !important;
}

html:has(.splash), html:has(body.sub) { background: #090705; }
.legal-shell { background: #090705; }
@media (max-width: 700px) {
  .legal-shell .topbar { display: none; }
  .legal-page { margin: 8px 12px 24px; padding: 16px; }
  .legal-page h1 { font-size: 40px !important; }
  .legal-grid { grid-template-columns: 1fr; }
  .subnav { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; }
  .legal-shell { padding-bottom: 28px; }
  body { padding-bottom: 36px; }
}

.splash .hearing { margin: 16px 0 4px; font-size: 22px; color: #fff; font-weight: 700; text-align: center; text-shadow: 0 2px 0 rgba(0,0,0,.75), 0 10px 24px rgba(0,0,0,.8); }
.hear-short { display: none; }
@media (max-width: 700px) { .hear-long { display: none; } .hear-short { display: inline; } .splash .hearing { font-size: 16px; } }

body.sub { background: #090705; color: #fff8f1; }
body.sub::before {
  content: "";
  position: fixed; inset: -20px; z-index: -1;
  background: url("hero.jpg") center 8% / cover no-repeat;
  filter: blur(8px) brightness(.42);
}
body.sub .legal-shell .topbar { display: none; }
body.sub .legal-page, body.sub .legal-card {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}
body.sub .legal-page { max-width: 820px; text-align: left; }
body.sub .legal-page h1, body.sub .legal-page h2 { color: #e85d04; }
body.sub .legal-card { padding: 0 0 18px; }
body.sub .subnav { margin-bottom: 16px; }

body.sub { height: auto !important; overflow: auto !important; }
body.sub::before { z-index: 0; }
body.sub .nyce-nav, body.sub .legal-shell, body.sub .site-foot { position: relative; z-index: 1; }
body.sub .legal-shell, body.sub .legal-page {
  background: transparent !important;
  height: auto !important;
  overflow: visible !important;
}
body.sub .site-foot { display: block !important; }

body.sub .subnav { display: none; }
body.sub .site-foot { margin-top: 36px; padding: 10px 12px 48px; text-align: center; }


body.sub { min-height: 100vh; display: flex; flex-direction: column; padding-bottom: 0 !important; }
body.sub .legal-shell { flex: 1; display: flex; flex-direction: column; }
body.sub .legal-page { flex: 1; }
body.sub .site-foot {
  position: static !important;
  margin-top: 28px !important;
  padding: 10px 12px 56px !important;
  background: transparent;
}

body.sub .legal-page h1 { font-size: clamp(36px, 6vw, 64px); margin-bottom: 8px; }
body.sub .legal-grid { gap: 22px; }
body.sub .legal-card h2 { font-size: 18px; letter-spacing: .04em; margin-bottom: 8px; }
body.sub .smil table { display: flex; flex-wrap: wrap; gap: 6px; }
body.sub .smil tr { display: inline-flex; align-items: center; gap: 6px; border: 1px solid rgba(232,93,4,.45); border-radius: 999px; padding: 4px 8px; background: rgba(0,0,0,.28); }
body.sub .smil td { padding: 0; border: 0; font-size: 13px; }
body.sub .cmd tr { border-bottom: 1px solid rgba(255,255,255,.08); }
body.sub .cmd td { padding: 6px 8px 6px 0; }
body.sub details { margin: 6px 0; }
body.sub summary { cursor: pointer; font-weight: 800; }

body.sub { min-height: 0 !important; display: block !important; }
body.sub .legal-shell, body.sub .legal-page { flex: none !important; display: block !important; }
body.sub .site-foot { margin-top: 12px !important; }

body.sub { height: auto !important; overflow: visible !important; }
body.sub .nyce-nav { display: flex !important; }
body.sub .site-foot {
  display: block !important;
  visibility: visible !important;
  position: static !important;
  margin-top: 18px !important;
  color: #e7cbb8 !important;
  padding-bottom: 48px !important;
}

body.sub .badge-row { margin: 0 0 28px !important; }
body.sub .legal-page h1 { margin: 0 0 22px !important; }
body.sub .lede { margin: 0 0 36px !important; }

body:has(#chat:not(.hidden)) { padding-bottom: 0 !important; overflow: hidden !important; height: 100% !important; }
body:has(#chat:not(.hidden)) .shell { height: 100% !important; overflow: hidden !important; display: flex !important; }

#login.hidden { display: none !important; }

body:has(#chat:not(.hidden)) { height: 100dvh !important; overflow: hidden !important; padding-bottom: 0 !important; }
body:has(#chat:not(.hidden)) .shell { height: 100dvh !important; overflow: hidden !important; display: flex !important; flex-direction: column !important; }
body:has(#chat:not(.hidden)) .chat-stage { flex: 1; min-height: 0; overflow: hidden; }

body:has(#login.splash:not(.hidden)) .login.splash { padding-top: 22px !important; }
.splash .badge-row { margin-top: 0 !important; }

body:has(#login.splash:not(.hidden)) .login.splash { padding-top: 0 !important; }
body:has(#login.splash:not(.hidden)) .splash .badge-row { margin-top: 16px !important; }

body:has(#login.splash:not(.hidden)) .login.splash {
  justify-content: flex-start !important;
  align-items: center !important;
  padding-top: 0 !important;
  flex: none !important;
}
body:has(#login.splash:not(.hidden)) .splash .badge-row { margin-top: 16px !important; }

body:has(#login.splash:not(.hidden)) .splash .badge-row { margin-top: 33px !important; }

.splash h1 {
  font-family: NycePassion, "Trebuchet MS", sans-serif !important;
  color: #e85d04 !important;
  font-size: clamp(48px, 9vw, 104px) !important;
  letter-spacing: 0 !important;
  font-weight: 900 !important;
  line-height: .9 !important;
  margin: 0 0 8px !important;
  text-shadow: 0 3px 0 #000, 0 14px 36px rgba(0,0,0,.85), 0 0 34px rgba(232,93,4,.55) !important;
}
@media (max-width: 700px) {
  .splash h1 { font-size: 64px !important; }
}

.splash .badge-row { gap: 6px !important; margin-bottom: 10px !important; }
.splash .badge-row span {
  font-family: "Trebuchet MS", "Segoe UI", sans-serif !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  border: 2px solid #e85d04 !important;
  border-radius: 999px !important;
  padding: 3px 7px !important;
  background: rgba(255,186,8,.8) !important;
  color: #fff !important;
}

.splash .manifest {
  color: #fff !important;
  font-weight: 800 !important;
  letter-spacing: .01em !important;
  text-shadow: 0 3px 0 rgba(0,0,0,.8), 0 12px 28px rgba(0,0,0,.8) !important;
}

.splash .manifest { white-space: nowrap !important; }

.splash .online-wrap { width: min(720px, 100%); margin: 18px auto 0; text-align: left; }
.splash .online-wrap .np-label { margin: 0 0 8px 14px; }
.splash .online-line { margin: 0 0 10px; color: #fff; font-weight: 700; }

.splash .manifest { margin-bottom: 18px !important; }
.splash .online-wrap { margin-top: 51px !important; }
.splash .np-label { text-shadow: none !important; }

body.sub::before {
  inset: 0 !important;
  background-position: center 8% !important;
  background-size: cover !important;
  filter: blur(2px) brightness(.62) !important;
}

body.sub::before {
  inset: -8px !important;
  background: linear-gradient(180deg, rgba(9,7,5,.35), rgba(9,7,5,.62)), url("hero.jpg") center 8% / cover no-repeat !important;
  filter: blur(6px) brightness(.5) !important;
}

body.sub::before { inset: 0 !important; }

@media (max-width: 700px) {
  body:has(#login.splash:not(.hidden)) {
    background: linear-gradient(180deg, rgba(9,7,5,.15) 0%, rgba(9,7,5,.55) 48%, #090705 100%), url("hero.jpg") center 8% / cover no-repeat !important;
    background-attachment: scroll !important;
  }
  body:has(#login.splash:not(.hidden)) .splash { background: none !important; }
}

@media (max-width: 700px) {
  body:has(#login.splash:not(.hidden)) {
    background-image: linear-gradient(180deg, rgba(9,7,5,.15) 0%, rgba(9,7,5,.55) 48%, #090705 100%), url("hero.jpg") !important;
    background-size: auto, 100vw auto !important;
    background-position: center, center 8% !important;
    background-repeat: no-repeat !important;
    background-attachment: scroll !important;
  }
  .splash input, .splash select, .splash textarea { font-size: 16px !important; }
}

@media (max-width: 700px) {
  body:has(#login.splash:not(.hidden)) {
    background-size: auto, cover !important;
    background-attachment: scroll, fixed !important;
    background-position: center, center 8% !important;
  }
}

@media (max-width: 700px) {
  body:has(#login.splash:not(.hidden))::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    background: linear-gradient(180deg, rgba(9,7,5,.15) 0%, rgba(9,7,5,.55) 48%, #090705 100%), url("hero.jpg") center 8% / cover no-repeat;
  }
  body:has(#login.splash:not(.hidden)),
  body:has(#login.splash:not(.hidden)) .splash { background: none !important; }
}

body.sub .admin, body.sub .grid, body.sub input, body.sub select, body.sub textarea { color: #fff8f1; }
body.sub .grid { background: rgba(18,12,8,.82); }
body.sub .topbar { background: rgba(9,7,5,.72); }

body.staff::before { filter: blur(6px) brightness(.28) !important; }
body.staff .badge-btn, body.staff a.badge-btn, body.staff button.badge-btn {
  border-radius: 999px !important;
  height: auto !important;
  padding: 8px 14px !important;
  background: #e85d04 !important;
  color: #1a120c !important;
  border: 2px solid #e85d04 !important;
  box-shadow: none !important;
}
body.staff .badge-btn.ghost, body.staff a.badge-btn.ghost {
  background: transparent !important;
  color: #fff !important;
}
body.staff .topbar { border: 0; background: transparent; }

body.staff .admin h1 { color: #e85d04; text-align: left; margin: 8px 0 16px; }
body.staff textarea, body.staff input, body.staff select {
  background: #1a120c !important;
  color: #fff8f1 !important;
  border: 1px solid #e85d04 !important;
}

body.staff .admin > form.row { margin-top: -2px !important; }

body.staff .admin > p.hint + p { margin-top: -2px; }

body.staff .admin > form.row + h2 { margin-top: -4px; }

body:has(#chat:not(.hidden)) { display: flex !important; flex-direction: column !important; height: 100dvh !important; overflow: hidden !important; }
body:has(#chat:not(.hidden)) .nyce-nav { flex: none; }
body:has(#chat:not(.hidden)) .shell { flex: 1; min-height: 0; height: auto !important; overflow: hidden !important; }

.count, .splash .count {
  position: fixed !important;
  inset: 0 !important;
  z-index: 40 !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background: rgba(0,0,0,.72);
}
.count[hidden], .splash .count[hidden] { display: none !important; }

body.staff, body.staff .legal-shell, body.staff .legal-page, body.staff .admin {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}
body.staff .table-wrap {
  display: block;
  width: 100%;
  max-width: 100%;
  overflow-x: auto !important;
  overflow-y: visible !important;
}
body.staff .legal-page, body.staff .legal-shell, body.staff .admin {
  max-width: none !important;
  width: calc(100% - 32px) !important;
}
body.staff #userTable, body.staff .admin table.grid {
  width: 100% !important;
  min-width: 100% !important;
  table-layout: auto;
}
body.staff #userTable tbody tr { display: table-row; }
