.chapter-access-badge {
  display: inline-flex;
  align-items: center;
  gap: .3em;
  margin-left: .65em;
  padding: .1em .5em;
  border-radius: .35em;
  font-size: .68em;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: .04em;
  vertical-align: .12em;
  white-space: nowrap;
}

.card._story { cursor: pointer; }

.chapter-access-badge._free {
  color: #18734c;
  background: #e6f6ec;
}

.chapter-access-badge._vip {
  color: #915b12;
  background: #fff1d6;
}
.chapter-access-badge._unlocked, .novel-payment-success { color: #18734c; background: #e6f6ec; }
.chapter-access-badge._unlocked i { font-size: .9em; }
.novel-payment-success { display: inline-block; padding: .6rem .9rem; border-radius: .4rem; }

.novel-payment-open { overflow: hidden; }
.novel-payment-dialog[hidden] { display: none; }
.novel-payment-dialog { position: fixed; inset: 0; z-index: 99999; display: grid; place-items: center; padding: 1rem; }
.novel-payment-dialog__scrim { position: absolute; inset: 0; background: rgba(6, 9, 22, .76); }
.novel-payment-dialog__panel { position: relative; width: min(100%, 26rem); padding: 2rem; border-radius: 1rem; background: #fff; color: #242639; box-shadow: 0 1rem 4rem rgba(0, 0, 0, .3); }
.novel-payment-dialog__panel h2 { margin: .7rem 0; }
.novel-payment-dialog__signin[hidden], .novel-payment-dialog__purchase[hidden], .novel-payment-dialog__demo-note[hidden] { display: none; }
.novel-payment-dialog__form { display: grid; gap: .85rem; }
.novel-payment-dialog__form label { display: grid; gap: .3rem; font-weight: 600; }
.novel-payment-dialog__form input { width: 100%; padding: .7rem; border: 1px solid #a9a9b9; border-radius: .4rem; color: #242639; background: #fff; font: inherit; }
.novel-payment-dialog__form button { justify-self: start; border: 0; border-radius: .5rem; padding: .8rem 1.2rem; color: #fff; background: #7152ba; font: inherit; font-weight: 700; cursor: pointer; }
.novel-payment-dialog__demo-note { font-size: .9rem; color: #666778; }
.novel-payment-dialog__book { font-weight: 700; }
.novel-payment-dialog__price { font-size: 1.3rem; font-weight: 700; }
.novel-payment-dialog__message { min-height: 1.5em; color: #a13d23; }
.novel-payment-dialog__close { position: absolute; top: .7rem; right: .7rem; border: 0; background: transparent; color: inherit; font-size: 1.8rem; cursor: pointer; }
.novel-payment-dialog__checkout, .novel-payment-dialog__login, .novel-paywall__open { display: inline-block; border: 0; border-radius: .5rem; padding: .8rem 1.2rem; color: #fff; background: #7152ba; font: inherit; font-weight: 700; cursor: pointer; text-decoration: none; }
.novel-payment-dialog__checkout:disabled { opacity: .5; cursor: not-allowed; }
.novel-payment-dialog__checkout[hidden], .novel-payment-dialog__login[hidden] { display: none; }
.novel-paywall { margin: 2rem auto; max-width: 34rem; padding: 2rem; border: 1px solid #b7a3df; border-radius: .8rem; text-align: center; }
