.community-page { --community-night: #080c14; }
.community-page:has(.community-maintenance:not([hidden])) { background: var(--community-night); }
.community-maintenance { position: relative; isolation: isolate; overflow: hidden; background: var(--community-night); color: #f9f1df; }
.community-maintenance[hidden], #community-live[hidden] { display: none !important; }
.community-maintenance::before { content: ""; position: absolute; inset: 25% -20% 0; z-index: -1; background: radial-gradient(ellipse at 50% 45%, #eb811b20, transparent 55%); }
.community-maintenance-scene { position: relative; max-width: 1760px; margin: 0 auto; }
.community-maintenance-picture { display: block; width: 100%; mask-image: linear-gradient(#000 78%, transparent 100%); }
.community-maintenance-picture img { display: block; width: 100%; height: auto; aspect-ratio: 1672 / 941; }
.community-maintenance-scene::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, #080c1499, transparent 19%), linear-gradient(90deg, #080c1466, transparent 12%, transparent 88%, #080c1466); }
.community-maintenance-topline { position: absolute; z-index: 1; inset: 27px 4% auto; display: flex; justify-content: space-between; align-items: center; gap: 16px; font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.community-maintenance-topline a { color: #f4ead9; text-decoration: none; text-shadow: 0 2px 8px #000; }
.community-maintenance-status { display: inline-flex; align-items: center; gap: 9px; padding: 9px 13px; border: 1px solid #f9b96366; border-radius: 30px; background: #0a0f1aba; color: #ffe1a8; backdrop-filter: blur(10px); }
.community-maintenance-status i { width: 5px; height: 5px; background: #ffbd57; border-radius: 50%; box-shadow: 0 0 12px #ffab3f; }
.community-maintenance-embers { position: absolute; z-index: 1; inset: 50% 25% 12%; pointer-events: none; }
.community-maintenance-embers i { position: absolute; bottom: 0; width: 3px; height: 3px; border-radius: 50%; background: #ffe0a2; opacity: 0; box-shadow: 0 0 9px #ffa13d; animation: community-ember 7s ease-out infinite; }
.community-maintenance-embers i:nth-child(1) { left: 15%; animation-delay: -2s; }
.community-maintenance-embers i:nth-child(2) { left: 41%; animation-delay: -5s; }
.community-maintenance-embers i:nth-child(3) { left: 67%; animation-delay: -1s; }
.community-maintenance-embers i:nth-child(4) { left: 82%; animation-delay: -4s; }
.community-maintenance-copy { position: relative; z-index: 2; width: min(640px, calc(100% - 40px)); margin: -6.5vw auto 0; padding-bottom: 46px; text-align: center; }
.community-maintenance-eyebrow { margin: 0 0 15px; font: 700 10px/1.5 Inter, sans-serif; letter-spacing: .23em; color: #e2ad6e; text-transform: uppercase; }
.community-maintenance-copy h1 { margin: 0; font: 800 clamp(34px, 4vw, 56px)/1.04 'Barlow Condensed', Impact, sans-serif; letter-spacing: -.015em; text-wrap: balance; }
.community-maintenance-copy h1 span { color: #ffca76; }
.community-maintenance-description { max-width: 450px; margin: 19px auto 0; color: #b9bac3; font: 400 14px/1.8 Inter, sans-serif; text-wrap: pretty; }
.community-maintenance-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 27px; }
.community-maintenance-actions a { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 23px; border: 1px solid #ffffff26; border-radius: 8px; color: #d4d4dd; font: 600 12px Inter, sans-serif; text-decoration: none; transition: transform .2s, border-color .2s; }
.community-maintenance-actions a:first-child { background: linear-gradient(130deg, #ffcf82, #eaa14c); border-color: #ffd699; color: #24180c; box-shadow: 0 6px 30px #ec922820; }
.community-maintenance-actions a:hover { transform: translateY(-2px); border-color: #ffca76; }
.community-maintenance a:focus-visible { outline: 2px solid #ffe0a2; outline-offset: 5px; }
.community-maintenance-footer { display: flex; justify-content: center; align-items: center; gap: 12px; margin-top: 36px; color: #9b94a0; font: 500 9px/1.6 Inter, sans-serif; letter-spacing: .16em; text-transform: uppercase; }
.community-maintenance-footer::before, .community-maintenance-footer::after { content: ""; height: 1px; width: 32px; background: linear-gradient(90deg, transparent, #bd8b4855); }
.community-maintenance-footer::after { transform: rotate(180deg); }
.community-access-notice { margin: 20px auto; color: #ffcd86; text-align: center; }
@keyframes community-ember { 0% { transform: translate(0, 0); opacity: 0; } 20% { opacity: .6; } 100% { transform: translate(16px, -130px); opacity: 0; } }
@media (min-width: 1760px) { .community-maintenance-copy { margin-top: -115px; } }
@media (max-width: 767px) {
  .community-maintenance-picture img { aspect-ratio: 941 / 1672; }
  .community-maintenance-picture { mask-image: linear-gradient(#000 85%, transparent 100%); }
  .community-maintenance-topline { inset: 18px 18px auto; font-size: 8px; letter-spacing: .09em; }
  .community-maintenance-status { padding: 8px 10px; }
  .community-maintenance-copy { margin-top: -38px; padding-bottom: 32px; }
  .community-maintenance-copy h1 { font-size: clamp(34px, 9vw, 48px); }
  .community-maintenance-description { font-size: 13px; }
  .community-maintenance-eyebrow { font-size: 9px; }
  .community-maintenance-actions { gap: 10px; }
  .community-maintenance-actions a { padding: 0 18px; }
  .community-maintenance-embers { inset: 60% 30% 15%; }
}
@media (prefers-reduced-motion: reduce) { .community-maintenance-embers { display: none; } .community-maintenance-actions a { transition: none; } }

.community-preview-banner[hidden] { display: none !important; }
.community-preview-banner { position: sticky; top: 0; z-index: 90; display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding: 12px max(20px, calc((100vw - 1200px)/2)); background: #21170e; border-block: 1px solid #f3b66577; color: #f5dfbd; box-shadow: 0 12px 30px #0007; font: 500 12px/1.5 Inter, sans-serif; }
.community-preview-banner strong { color: #ffd18b; letter-spacing: .13em; font-size: 10px; }
.community-preview-banner a { color: #ffdaa2; font-weight: 700; text-underline-offset: 3px; white-space: nowrap; }
@media (max-width:620px) { .community-page .community-copy h1 { font-size: clamp(34px,12vw,64px); } }
