:root{
  --afl-bg:#06C755;
  --afl-fg:#ffffff;
  --afl-opacity:1;
  --afl-z:9999;
  --afl-maxw:1280px;
  --afl-shadow: none;
}
#afl-bar{
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: var(--afl-z);
  display: flex;
  justify-content: center;
  opacity: var(--afl-opacity);
  pointer-events: none; /* 初期は操作不可（表示アニメ後に可） */
}
#afl-bar .afl-link{
  pointer-events: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: .5rem;
  width: 100%;
  max-width: var(--afl-maxw);
  margin: 0 auto;
  padding: 14px 16px;
  background: var(--afl-bg);
  color: var(--afl-fg);
  font-weight: 700;
  text-decoration: none;
  border-top-left-radius: 12px;
  border-top-right-radius: 12px;
  box-shadow: var(--afl-shadow);
}
#afl-bar .afl-text{
  font-size: 16px;
  line-height: 1;
}
#afl-bar .afl-close{
  pointer-events: auto;
  position: absolute;
  right: 10px;
  top: -36px;
  width: 32px;
  height: 32px;
  border-radius: 16px;
  border: none;
  background: #000;
  color: #fff;
  font-size: 20px;
  line-height: 32px;
  cursor: pointer;
  opacity: .6;
}
#afl-bar .afl-close:hover{
  opacity: .85;
}

#afl-bar.afl-hidden{
  transform: translateY(100%);
  transition: transform .35s ease;
}
#afl-bar.afl-show{
  transform: translateY(0%);
}
