@charset "UTF-8";
.keyword {
  font-size: 1.25rem;
  padding: 0.25rem 1rem;
  margin: 1rem 0;
  background: var(--background-bw-white); }

.section {
  padding: 0.75rem 1rem;
  background: var(--background-bw-white);
  border-bottom: 0.5px solid var(--surface-gray-100); }
  .section .section-title {
    font-size: 1.125rem;
    line-height: 1.9375rem; }

.book-detail-info {
  position: relative;
  background: var(--background-bw-white);
  display: flex; }
  .book-detail-info .cover {
    width: 6rem;
    height: 8rem;
    margin-right: 0.75rem;
    box-shadow: 0 4px 8px 0 var(--black-10);
    border-radius: 2px;
    font-size: 0; }
  .book-detail-info .book-cell {
    flex: 1;
    overflow: hidden;
    display: flex;
    flex-direction: column; }
  .book-detail-info .book-title {
    line-height: 1.4;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    font-size: 1rem;
    min-height: 2.75rem;
    overflow: auto;
    white-space: normal;
    flex: 1; }
  .book-detail-info .book-writer {
    display: block;
    color: var(--surface-gray-500);
    white-space: nowrap;
    text-overflow: ellipsis;
    font-size: 0.75rem;
    overflow: hidden; }
  .book-detail-info .book-meta {
    font-size: 0.75rem;
    overflow: hidden;
    color: var(--surface-gray-500); }

.book-summary {
  position: relative;
  font-size: 0.875rem;
  line-height: 1.5rem;
  text-align: justify;
  max-height: 5.92rem;
  overflow: hidden;
  color: var(--surface-gray-700); }
  .book-summary.enabled {
    height: 5.92rem;
    max-height: none;
    transition: height 0.25s ease-in; }
  .book-summary p {
    display: block; }
  .book-summary[open] p {
    white-space: pre-wrap; }

.book-summary-more {
  width: 2rem;
  height: 1.2rem;
  background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0), white 1rem);
  background: linear-gradient(to right, rgba(255, 255, 255, 0), white 1rem);
  position: absolute;
  right: 0;
  bottom: 0;
  text-align: right; }
  .book-summary-more > .icon-arrow-r {
    float: right;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    -webkit-transition: -webkit-transform .25s;
    transition: transform .25s; }

.tags {
  margin-top: 1rem;
  display: flex;
  flex-wrap: wrap; }
  .tags .tag {
    font-size: 0.75rem;
    border-radius: 0.75rem;
    background-color: var(--primary-red-50);
    color: var(--primary-red-500);
    border-radius: 0.125rem;
    padding: 0.125rem 0.375rem;
    margin-right: .5rem;
    margin-bottom: .5rem; }

.chapter-count {
  font-weight: 400;
  font-size: 0.875rem;
  float: right;
  color: var(--surface-gray-500); }
  .chapter-count .icon {
    font-size: 0.75rem; }

.latest-chapter-section .chapter-item {
  padding: 0.5rem 0; }
  .latest-chapter-section .chapter-item:not(:last-child) {
    border-bottom: 0.5px solid var(--surface-gray-100); }
  .latest-chapter-section .chapter-item .chapter-name {
    font-size: 0.875rem;
    color: var(--surface-gray-700);
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    display: inline-block;
    position: relative;
    max-width: calc(100% - 3rem);
    vertical-align: middle; }
  .latest-chapter-section .chapter-item small {
    display: inline-block;
    font-weight: 500;
    margin-left: .25rem;
    padding: 0.125rem 0.25rem;
    font-size: 0.75rem;
    color: var(--main-color);
    border: 1px solid var(--primary-red-300);
    border-radius: 0.25rem;
    transform: scale(0.7); }

.link-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.75rem; }
  .link-list .link-item {
    font-size: 0.875rem;
    line-height: 1.2;
    color: var(--surface-gray-700);
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap; }

.bottom-guide {
  box-shadow: 0 4px 24px var(--black-32);
  background: var(--background-bw-white); }
  .bottom-guide .btn-normal {
    width: 1.25rem;
    padding: 0.25rem;
    border-radius: 2rem; }
  .bottom-guide .bottom-guide-title:before {
    content: '\6253\5f00\0041\0070\0070';
    display: block; }
  .bottom-guide .bottom-guide-desc {
    position: absolute;
    top: 0;
    font-weight: 400;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    padding: 0.1rem 0.2rem;
    margin-top: -0.5rem;
    margin-right: -0.5rem;
    border-radius: 0.4rem 0.4rem 0.4rem 0;
    background: var(--yellow-50);
    color: var(--orange-500);
    border: 1px solid var(--bw-white);
    transform: scale(0.75, 0.75);
    transform-origin: right; }

.book-copyright {
  color: var(--surface-gray-500);
  padding: .75rem 1rem;
  font-size: 0.875rem; }

.chapter-section .chapter-title {
  font-style: normal;
  font-size: 1.125rem;
  line-height: 1.9375rem; }

.chapter-section .chapter-content {
  color: #3B3F47;
  font-size: 1rem;
  line-height: 2; }
  .chapter-section .chapter-content p + p {
    margin-top: 0.5rem; }

.chapter-section .next-chapter-btn {
  color: var(--main-color);
  border: 1px solid var(--main-color);
  align-items: center; }

.book-list {
  white-space: nowrap;
  overflow: scroll;
  margin-left: -0.25rem; }

.guide-button {
  position: fixed;
  bottom: 75px;
  left: 50%;
  transform: translateX(-50%);
  min-width: 240px;
  max-width: 90vw;
  height: 44px;
  width: auto;
  display: flex !important;
  justify-content: center;
  align-items: center;
  background: var(--main-color);
  color: #fff;
  border-radius: 22px;
  font-weight: 500;
  font-size: 15px; }
  .guide-button::before {
    content: '前往 App '; }

.js_collapse_wrap {
  overflow: hidden;
  position: relative; }
  .js_collapse_wrap[data-collapse="200"] {
    max-height: 200px; }
  .js_collapse_wrap[data-collapse="600"] {
    max-height: 600px; }
  .js_collapse_wrap[open] {
    height: auto !important;
    max-height: none !important; }
    .js_collapse_wrap[open] .js_open {
      display: none; }
  .js_collapse_wrap .js_open {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0), white);
    height: 6.25rem;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    font-size: 0.875rem;
    font-weight: 500;
    padding-bottom: 0.75rem;
    color: var(--main-color); }
