html,
body{
  min-height:100%;
  margin:0;
  background:#000;
  color:#f7f8fb;
}

body{
  overflow-x:hidden;
}

.vfc-root{
  min-height:100dvh;
  padding:28px clamp(18px,3vw,60px) 38px;
  background:#000;
  position:relative;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  align-items:center;
  overflow:hidden;
}

.vfc-root::before{
  content:none;
}

.vfc-root::after{
  content:none;
}

.vfc-console-chrome{
  width:min(100%,1640px);
  margin:0 auto 22px;
  min-height:44px;
  padding:0 18px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:20px;
  background:#000;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04), 0 18px 50px rgba(0,0,0,.32);
  color:rgba(246,247,251,.52);
  font-size:11px;
  letter-spacing:.13em;
  text-transform:uppercase;
  position:relative;
  z-index:2;
}

.vfc-console-chrome strong{
  color:#f7f8fb;
  font-weight:800;
  letter-spacing:.14em;
}

.vfc-shell{
  align-self:center;
  width:min(100%,1640px) !important;
  padding:0;
  z-index:2;
  transform-origin:center;
  transition:opacity .28s ease;
  backface-visibility:hidden;
}

.vfc-widget-wrap{
  width:min(100%,1640px) !important;
}

.vfc-widget{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.09),
    0 34px 120px rgba(0,0,0,.58),
    0 0 0 1px rgba(255,255,255,.04) !important;
}

.vfc-command-locked .vfc-shell,
.vfc-command-loading .vfc-shell{
  opacity:0;
  transform:none;
  pointer-events:none;
}

.vfc-command-open .vfc-shell{
  opacity:1;
  transform:none;
}

.vfc-command-entry{
  position:fixed;
  inset:0;
  z-index:10000;
  display:grid;
  place-items:center;
  padding:28px;
  background:#000;
  transition:none;
  backface-visibility:hidden;
}

.vfc-command-entry::before{
  content:none;
}

.vfc-command-loading .vfc-command-entry::before{
  animation:none;
}

@keyframes vfcGateSweep{
  to{ transform:translateX(100%); }
}

.vfc-command-open .vfc-command-entry{
  opacity:0;
  visibility:hidden;
  transform:none;
  pointer-events:none;
}

.vfc-black-gate{
  width:min(100%,560px);
  display:grid;
  justify-items:center;
  gap:22px;
  position:relative;
  z-index:1;
}

.vfc-gate-heading{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.vfc-gate-mark{
  width:126px;
  height:126px;
  border-radius:32px;
  display:grid;
  place-items:center;
  color:#f8f9fb;
  font-size:82px;
  line-height:1;
  font-weight:500;
  letter-spacing:0;
  background:#08090c;
  border:1px solid rgba(255,255,255,.16);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.12),
    0 22px 80px rgba(0,0,0,.54);
  transform:translateZ(0);
}

.vfc-command-loading .vfc-gate-mark{
  animation:none;
}

.vfc-gate-progress{
  width:min(420px,72vw);
  height:3px;
  border-radius:999px;
  overflow:hidden;
  background:rgba(255,255,255,.13);
  box-shadow:0 0 0 1px rgba(255,255,255,.035), 0 16px 42px rgba(0,0,0,.42);
}

.vfc-gate-progress span{
  display:block;
  width:0;
  height:100%;
  border-radius:inherit;
  background:#f7f8fb;
  transition:width .24s cubic-bezier(.16,1,.3,1);
}

.vfc-gate-message{
  min-height:16px;
  color:rgba(246,247,251,.40);
  font-size:11px;
  font-weight:700;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.vfc-gate-actions{
  display:flex;
  gap:10px;
  min-height:42px;
}

.vfc-command-enter,
.vfc-command-secondary{
  height:42px;
  min-width:134px;
  padding:0 18px;
  border:1px solid rgba(255,255,255,.14);
  border-radius:14px;
  cursor:pointer;
  font-weight:800;
  letter-spacing:0;
}

.vfc-command-enter{
  color:#111318;
  background:#f7f8fb;
}

.vfc-command-secondary{
  color:#f7f8fb;
  background:rgba(255,255,255,.07);
}

.vfc-command-secondary:hover{
  background:rgba(255,255,255,.10);
}

@media (max-width:760px){
  .vfc-root{
    padding:14px;
  }

  .vfc-console-chrome{
    display:none;
  }

  .vfc-command-entry{
    padding:18px;
  }

  .vfc-gate-mark{
    width:104px;
    height:104px;
    border-radius:28px;
    font-size:68px;
  }

  .vfc-gate-progress{
    width:min(320px,76vw);
  }
}

@media (prefers-reduced-motion:reduce){
  .vfc-shell,
  .vfc-command-entry,
  .vfc-gate-progress span,
  .vfc-gate-mark,
  .vfc-command-entry::before{
    transition:none !important;
    animation:none !important;
  }
}
