html.gated, body.gated {
  background: #000 !important;
  overflow: hidden !important;
  height: 100%;
}
html.gated:has(.gate-on),
body.gated:has(.gate-on) {
  background: #fff !important;
}
html.gated .cx-top,
html.gated .cx-app,
html.gated .cx-askbar,
html.gated .bottom-nav-bar,
html.gated .modal-overlay-generic {
  display: none !important;
}
#cessionGate {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2147483000;
  background: #000;
  color: #fff;
  display: none;
}
#cessionGate.open {
  display: block;
}
#cessionGate:has(.gate-on) {
  background: #fff;
  color: #111;
}
.gate-login {
  position: absolute;
  top: 18px;
  left: 18px;
  z-index: 2;
  background: none;
  border: 0;
  color: #fff;
  font-size: 15px;
  font-weight: 600;
  padding: 8px 0;
}
.gate-land {
  min-height: 100dvh;
  min-height: 100svh;
  background: #000;
  padding: 56px 28px 40px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.gate-col {
  width: min(320px, 100%);
}
.gate-k {
  width: 52px;
  height: 52px;
  margin-bottom: 28px;
  display: block;
}
.gate-skip {
  font-size: 22px;
  margin: 0 0 18px;
  font-weight: 400;
}
.gate-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  background: #2563EB;
  color: #fff;
  border: 0;
  border-radius: 999px;
  height: 48px;
  font-weight: 600;
  font-size: 16px;
}
.gate-code {
  display: none;
  width: 100%;
  margin-top: 12px;
}
.gate-code.on { display: block; }
.gate-code input {
  width: 100%;
  height: 48px;
  border: 0;
  border-radius: 999px;
  padding: 0 18px;
  font-size: 16px;
  color: #111;
}
.gate-err {
  color: #ff8aa2;
  font-size: 13px;
  margin-top: 8px;
  min-height: 16px;
}
.gate-hero {
  font-size: 36px;
  font-weight: 700;
  line-height: 1.05;
  margin: 36px 0 0;
}
.gate-word {
  height: 40px;
  margin-top: 10px;
  display: block;
}
.gate-on {
  min-height: 100dvh;
  min-height: 100svh;
  background: #fff;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 48px 24px 32px;
}
.gate-phone {
  width: min(400px, 100%);
  background: #fff;
  color: #111;
  border-radius: 0;
  box-shadow: none;
  padding: 0;
}
.gate-phone h1 {
  font-size: 28px;
  line-height: 1.15;
  margin: 16px 0 12px;
}
.gate-phone p { color: #6E6E78; font-size: 13px; line-height: 1.4; }
.gate-phone input[type=text] {
  width: 100%;
  border: 0;
  border-bottom: 1px solid #ECECF0;
  font-size: 20px;
  padding: 10px 0;
  margin: 8px 0 16px;
  color: #111;
  background: transparent;
}
.gate-agree {
  display: flex;
  gap: 10px;
  align-items: flex-start;
  font-size: 12px;
  color: #6E6E78;
  line-height: 1.35;
  margin: 8px 0 20px;
}
.gate-go {
  width: 100%;
  height: 48px;
  border: 0;
  border-radius: 24px;
  background: #2563EB;
  color: #fff;
  font-weight: 600;
}
.gate-go[disabled] { background: #F1F1F3; color: #B6B6BE; }
.gate-go.ghost {
  background: #fff;
  color: #111;
  border: 1px solid #e6e6ea;
  margin-top: 10px;
}
.gate-words {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 16px 0;
}
.gate-words span {
  background: #f4f4f7;
  border-radius: 10px;
  padding: 8px 10px;
  font-size: 13px;
  user-select: none;
}
.gate-warn {
  background: #111;
  color: #fff;
  border-radius: 12px;
  padding: 12px;
  font-size: 13px;
  line-height: 1.4;
}
