/* ============================================================
   Shared by index.html (About) and live.html: the greyed-out Register
   button and the "next edition coming soon" pop-up. Markup is created
   by js/join.js.
   ============================================================ */
a.is-closed, button.is-closed, .cut-btn.is-closed, .btn.is-closed {
  background: #26364F !important;
  color: #8FA6BF !important;
  box-shadow: inset 0 0 0 1px #34476A !important;
  cursor: not-allowed !important;
  filter: none !important;
}
a.is-closed:hover, .cut-btn.is-closed:hover, .btn.is-closed:hover { color: #A9BDD3 !important; }

dialog.soon-dialog {
  padding: 0; border: 0; background: transparent; color: #EAF2FB;
  width: min(520px, calc(100vw - 32px)); max-width: none; overflow: visible;
}
dialog.soon-dialog::backdrop { background: rgba(5, 13, 26, 0.82); backdrop-filter: blur(3px); }
.soon-card {
  position: relative; background: #10264A; border: 1px solid #20396A; border-radius: 10px;
  padding: 40px 32px 28px; text-align: center; overflow: hidden;
  font-family: Inter, 'Work Sans', system-ui, sans-serif;
}
.soon-card::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 6px;
  background: repeating-linear-gradient(135deg, #F5C451 0 14px, #10264A 14px 22px);
}
.soon-kicker { font-size: 13px; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; color: #8FCBF0; }
.soon-title {
  margin: 8px 0 12px; font-family: 'Big Shoulders Display', 'Big Shoulders', Impact, sans-serif;
  font-weight: 900; font-size: 56px; line-height: 0.95; text-transform: uppercase;
}
.soon-title span { color: #F5C451; }
.soon-text { margin: 0 auto 22px; max-width: 400px; font-size: 16px; line-height: 1.6; color: #C4D3E4; }
.soon-actions { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.soon-actions a, .soon-close {
  font-family: 'Big Shoulders Display', 'Big Shoulders', Impact, sans-serif; font-weight: 800; font-size: 19px;
  letter-spacing: 0.08em; text-transform: uppercase; padding: 12px 22px; text-decoration: none; cursor: pointer;
}
.soon-actions a.primary { background: #F5C451; color: #050D1A; clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 0 100%); }
.soon-actions a.ghost { color: #EAF2FB; box-shadow: inset 0 0 0 2px #2E4A72; }
.soon-actions a:hover { filter: brightness(1.1); }
.soon-close { margin-top: 18px; background: none; border: 0; color: #8FA6BF; font-size: 16px; }
.soon-close:hover { color: #EAF2FB; }
dialog.soon-dialog:focus-visible, .soon-card :focus-visible { outline: 2px solid #F5C451; outline-offset: 3px; }
dialog.soon-dialog[open] .soon-card { animation: soon-pop 0.28s cubic-bezier(.2,.9,.3,1.2); }
@keyframes soon-pop { from { opacity: 0; transform: translateY(14px) scale(0.96); } to { opacity: 1; transform: none; } }
@media (max-width: 520px) { .soon-card { padding: 36px 20px 22px; } .soon-title { font-size: 44px; } }
@media (prefers-reduced-motion: reduce) { dialog.soon-dialog[open] .soon-card { animation: none; } }
