@charset 'UTF-8';
blockquote,body,dd,dl,figure,form,h1,h2,h3,h4,h5,h6,ol,p,ul {
    margin: 0;
}

ol,ul {
    padding: 0;
    list-style: none
}

a {
    text-decoration: none;
    color: inherit;
    outline: 0;
    color: rgba(0,100,150,.9)
}

a[href]:active,button:active {
    background-image: -webkit-linear-gradient(to top,rgba(0,0,0,.05),rgba(0,0,0,.05));
    background-image: linear-gradient(to top,rgba(0,0,0,.05),rgba(0,0,0,.05))
}

input:focus {
    outline: 0
}

em {
    font-style: normal
}

h1,h2,h3,h4,h5,h6,input,select,textarea {
    font-size: 100%
}

input,select,textarea {
    font-family: inherit;
    box-sizing: border-box
}

img {
    border: 0;
    vertical-align: middle;
    display: inline-block;
}

p {
    word-break: break-all;
}

main {
    display: block
}

output {
    speak: digits
}

html {
    font-size: 14px
}

@media screen and (min-width: 320px) {
    html {
        font-size:16px
    }
}

@media screen and (min-width: 375px) {
    html {
        font-size:calc(112.5% + 2 * (100vw - 375px)/ 39);
        font-size: calc(18px + 2 * (100vw - 375px)/ 39)
    }
}

@media screen and (min-width: 414px) {
    html {
        font-size:calc(125% + 4 * (100vw - 414px)/ 586);
        font-size: calc(20px + 4 * (100vw - 414px)/ 586)
    }
}

@media screen and (min-width: 600px) {
    html {
        font-size:calc(137.5% + 4 * (100vw - 600px)/ 400);
        font-size: calc(22px + 4 * (100vw - 600px)/ 400)
    }
}

@media screen and (min-width: 1000px) {
    html {
        font-size:calc(150% + 6 * (100vw - 1000px)/ 1000);
        font-size: calc(24px + 6 * (100vw - 1000px)/ 1000)
    }
}

body {
    font-family: sans-serif;
    line-height: 1.5;
    -webkit-user-select: none;
    color: #33373d;
    fill: currentColor;
    -webkit-tap-highlight-color: transparent;
    -webkit-text-size-adjust: none;
    -webkit-touch-callout: none;
    background-color: rgba(0,100,150,.1);
}

.icon-account {
    background-image: url(default-mini.png);
    background-position: -63px 0;
    width: 24px;
    height: 24px
}

.icon-end {
    background-image: url(default-mini.png);
    background-position: 0 -60px;
    width: 20px;
    height: 27px
}

.icon-free {
    background-image: url(default-mini.png);
    background-position: 0 -30px;
    width: 26px;
    height: 26px
}

.icon-god {
    background-image: url(default-mini.png);
    background-position: -30px -30px;
    width: 26px;
    height: 26px
}

.icon-home {
    background-image: url(default-mini.png);
    background-position: -31px 0;
    width: 28px;
    height: 25px
}

.icon-rank {
    background-image: url(default-mini.png);
    background-position: 0 0;
    width: 27px;
    height: 26px
}

.icon-sort {
    background-image: url(default-mini.png);
    background-position: -63px -28px;
    width: 24px;
    height: 24px
}

@media (-webkit-min-device-pixel-ratio: 2),(min-resolution:192dpi) {
    .icon-account {
        background-image:url(default.png);
        background-size: 87px 87px
    }

    .icon-end {
        background-image: url(default.png);
        background-size: 87px 87px
    }

    .icon-free {
        background-image: url(default.png);
        background-size: 87px 87px
    }

    .icon-god {
        background-image: url(default.png);
        background-size: 87px 87px
    }

    .icon-home {
        background-image: url(default.png);
        background-size: 87px 87px
    }

    .icon-rank {
        background-image: url(default.png);
        background-size: 87px 87px
    }

    .icon-sort {
        background-image: url(default.png);
        background-size: 87px 87px
    }
}

h4 {
    height: 1.75rem;
    padding: 0 1rem;
    border-top: 1rem solid transparent
}

.pull-right {
    float: right;
    font-size: .75rem;
    font-weight: 400;
    padding: .25rem
}

.mt0 { margin-top: 0!important }
.mb0 { margin-bottom: 0!important }

.cf:before,.clear:after { display: table; content: " " }
.clear:after { clear: both }

.min-height { min-height: calc(100vh - 8.75rem); }

.header {
    display: flex;
    background-color: rgba(0,100,150,.5);
    background: linear-gradient(45deg, rgba(0,100,150,1), rgba(0,100,150,.5));
    justify-content: space-between;
    align-items: center;
    overflow: hidden;
    height: 2rem;
    line-height: 2rem;
    padding: .375rem;
    font-size: .75rem;
}

.header .center {
    position: absolute;
    left: 6rem;
    width: calc(100% - 12rem);
    text-align: center;
    font-size: .875rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis
}

.header .left {
    position: absolute;
    top: 0;
    left: 0;
    padding: .25rem .375rem
}

.header .right {
    position: absolute;
    top: 0;
    right: 0;
    padding: .25rem .375rem
}

.header .left a,.header .right a {
    float: left;
    overflow: hidden;
    width: 2.25rem;
    height: 2.25rem
}

.header .left svg,.header .right svg {
    width: 1.125rem;
    height: 1.125rem;
    fill: #fff;
    padding: .55rem
}

.header,.header a { color: #fff }

a.icon-more:empty { position: relative }
a.icon-more:empty::after,a.icon-more:empty::before {
    position: absolute;
    top: 1.125rem; left: 50%;
    width: 1.125rem; margin-top: -1px; margin-left: -.5625rem; content: '';
    -webkit-transition: all .15s; transition: transform .15s; border-top: 1px solid
}
a.icon-more:empty::before { height: 4px; -webkit-transform-origin: top center; transform-origin: top center; border-bottom: 1px solid }
a.icon-more:empty::after { -webkit-transform: translateY(-5px); transform: translateY(-5px) }
a.icon-more.active::before { height: 0; -webkit-transform: translateY(0) rotate(45deg); transform: translateY(0) rotate(45deg); border-bottom: 0 }
a.icon-more.active::after { -webkit-transform: translateY(0) rotate(-45deg); transform: translateY(0) rotate(-45deg) }

.guide {
    position: fixed; z-index: 3; top: 2.7rem; right: 0; bottom: 0; left: 0;
    visibility: hidden; overflow: hidden; transition: visibility .25s; background: rgba(0,0,0,.8)
}
.active.guide { visibility: visible; transition: none }

.guide-content {
    position: relative; overflow: hidden; -webkit-transition: -webkit-transform .15s; transition: transform .15s;
    -webkit-transform: translateY(-100%); transform: translateY(-100%); background-color: #fff
}
.active>.guide-content { -webkit-transform: translateY(0); transform: translateY(0) }

.guide-nav { background: #fff; font-size: 0; text-align: justify }
.guide-nav::after { display: inline-block; width: 100%; height: 0; content: ''; vertical-align: top }
.guide-nav-a {
    display: flex; float: left; font-size: .75rem; position: relative; width: 20%; height: 3.625rem; text-align: center
}
.guide-nav-a>.icon { position: absolute; right: 0; bottom: 1.625rem; left: 0; margin: auto }
.guide-nav-h { position: absolute; right: 0; bottom: .1875rem; left: 0 }
.guide-nav .guide-nav-a { margin: .75rem 0 }

.guide-footer { margin-top: 1rem; margin-bottom: 1.5rem; text-align: center }
.guide-footer a {
    font-size: .875rem; line-height: 2.25rem; display: inline-block; padding-right: 2ch; padding-left: 2ch; text-align: center; color: #fff;
    border-radius: 99px; background-color: rgba(0,100,150,.5); box-sizing: border-box; width: 80%
}
.guide-footer svg { width: .675rem; height: .675rem; fill: currentColor; margin-right: .5rem }

.book { background: #fff; position: relative; overflow: hidden }
.book .book-cover-blur {
    position: absolute; top: calc(50% - 87.5vw); width: 100%; height: 129vw; opacity: calc(.1 + .05);
    -webkit-filter: blur(calc(17px + 1px)); filter: blur(calc(17px + 1px))
}
.book .book-info { position: relative; background: #fff; background: linear-gradient(to top,#fff,rgba(255,255,255,0) 8rem) no-repeat center bottom }
.book .book-info .book-layout { position: relative; display: block; overflow: hidden; padding: 1rem; -webkit-transition: padding-left .15s; transition: padding-left .15s }
.book .book-info .book-layout .book-cover { font-size: 0; float: left; margin-right: .5rem; width: 5.25rem; height: 7rem; border-radius: 2px }
.book .book-info .book-layout .book-cell { overflow: hidden; line-height: 1.4rem }
.book .book-info .book-layout .book-cell .book-title { line-height: 1.4; overflow: hidden; white-space: nowrap; text-overflow: ellipsis }
.book .book-info .book-layout .book-cell .book-meta { font-size: .75rem; overflow: hidden; height: 1.5rem; line-height: 1.5rem }
.book .book-info .last { font-size: .875rem; margin: 0 1rem 1rem; height: 1rem; line-height: 1rem; overflow: hidden; white-space: nowrap }
.book .book-info .book-info-btn { padding: 0 1rem 1rem; display: flex }
.book .book-info .book-info-btn li { float: left; width: 33.333333% }
.book .book-info .book-info-btn li:nth-child(2) { margin: 0 .66666rem }
.book .book-info .book-info-btn li a {
    display: block; padding: 0; box-shadow: inset 1px 0 #e3e4e6,inset 0 1px #e3e4e6,inset 0 -1px #e3e4e6,inset -1px 0 #e3e4e6;
    font-size: .8125rem; line-height: 1.875rem; text-align: center; border-radius: .125rem; background: rgba(255,255,255,.8)
}
.book .book-info .book-info-btn li:first-child a { margin-left: 0; background: #f60; color: #fff; box-shadow: none }

.bookchapter,.bookintro {
    background: #fff; font-size: .875rem; line-height: 1.5rem; position: relative; overflow: hidden; text-align: justify;
    border-top: 1rem solid transparent; border-bottom: 1rem solid transparent; box-shadow: 0 1px #f0f1f2,0 -1px #f0f1f2
}
.bookintro p { padding: 0 1rem }
.bookchapter { border-bottom: none }
.bookchapter h2 { font-size: 1rem; padding: 0 1rem }
.bookchapter ul { margin-top: 1rem; box-shadow: 0 1px #f0f1f2,0 -1px #f0f1f2 }
.bookchapter ul li {
    padding: 0 1rem; line-height: 2.2rem; height: 2.2rem; white-space: nowrap; overflow: hidden;
}
.bookchapter ul li:nth-child(2n+1) { background: rgba(0,100,150,.05) }
.bookchapter ul li a { max-width: calc(100% - 1rem) }
.bookchapter ul li:after { content: "\003e"; float: right; color: #ccc; transform: scale(1,2); font-weight: 100 }
.bookchapter .bookchaptermore {
    display: block; background: #f60; color: #fff; font-weight: 700; text-align: center; padding: .25rem 1rem; margin: 1rem; border-radius: 1rem
}

.listpage { width: calc(100% - 2rem); padding: 1rem; overflow: hidden }
.listpage span { text-align: center }
.listpage .left { float: left; width: 25% }
.listpage .left a,.listpage .right a { display: inline-block; width: 90%; height: 1.65rem; line-height: 1.65rem }
.listpage .left a { float: left }
.listpage .right a { float: right }
.listpage .right { float: right; width: 25% }
.listpage .middle { width: 49%; border: .05rem solid #d7d7d7; display: block; float: left; height: 1.5rem; line-height: 1.5rem }
.listpage .middle em { width: 80%; text-align: center; color: #999; font-style: normal; height: 30px }
.listpage .middle a,.listpage .middle em { display: inline-block; float: left; line-height: 36px }
.listpage .middle a { width: 19%; height: 36px; vertical-align: middle }
.listpage .middle select {
    clear: both; border: none; display: inline-block; float: left; font-style: normal; height: 1.5rem; line-height: 1.5rem; text-align: center; width: 100%
}
.listpage .middle select,.listpage .middle select option { color: #666 }
.listpage .onclick { background: rgba(0,100,150,.5); color: #fff }
.listpage .before { background: #cecece; color: #fff }

.read { padding: 1rem; }
.read #readSet { clear: both }
.read #readSet .rf { float: right }
.read #readSet .ra {
    border: .05rem solid #ccc; display: inline-block; width: 1rem; height: 1rem; margin-right: .5rem; overflow: hidden; vertical-align: middle; margin-top: -.15rem;
}
.read #readSet .rt {
    margin-left: .4rem; border: .05rem solid #ccc; border-radius: 3px; padding: 0 .15rem; font-size: .75rem; background: rgba(255,255,255,.5);
}

.read h1 { font-size: 1.5em; font-weight: 400; line-height: 1.2; margin: 1em 0 }
.read .readpage { display: flex }
.read .readpage a {
    width: 25%; text-align: center; background: rgba(255,255,255,.5); border: 1px solid rgba(0,100,150,.5); border-radius: .2rem; font-size: .875rem; line-height: 1.5rem
}
.read .readpage a:nth-child(2),.read .readpage a:nth-child(3) { margin: 0 .25rem }
.read .readpage .addbookcase { color: #f60 }
.read .readpage .gray { color: #999; border-color: #999 }

.read .readcontent { letter-spacing: .1em; font-size: 24px; line-height: 2; text-align: justify; }
.read .readcontent p { padding: .5rem 0; text-indent: 2em; }
.read .readcontent .report { text-align: center; margin-bottom: 1rem }
.read .readcontent .report a { color: #f60 }

.rank,.sort { margin: .75rem 0 0; background-color: #fff; overflow: hidden }
.rank .content { padding: 1rem; }
.rank .content dl { width: 100%; height: 5rem; overflow: hidden }
.rank .content dl+dl { margin-top: 1rem }
.rank .content dl .cover { float: left; width: 4.5rem; height: 5rem }
.rank .content dl .cover img { width: 4rem; height: 5rem }
.rank .content dl dt {
    display: flex; margin-top: -.2rem; font-size: .875rem; height: 1.5rem; overflow: hidden; line-height: 1.5rem
}
.rank .content dl dd { font-size: .75rem; height: 2.5rem; line-height: 1.25rem; overflow: hidden; text-align: justify }
.rank .content dl dd.history { height: 1.25rem; line-height: 1.25rem }
.rank .content dl dd:last-child { height: 1.2rem; line-height: 1rem; font-size: .8125rem; padding-top: .2rem }
#del_temp,.rank .content dl dd:last-child span {
    float: right; margin-left: .25rem; font-size: .625rem; border: 1px solid #666; color: #666; border-radius: 2px; line-height: .75rem; padding: .05rem
}
#del_temp,.rank .content dl dd:last-child span:nth-child(2) { color: #f60; border: 1px solid #f60 }
.rank .content dl dt span {
    display: block; background: #f60; border-radius: 1rem; width: 1rem; height: 1rem; line-height: 1rem; text-align: center; color: #fff;
    margin-right: .25rem; margin-top: .25rem; font-size: .625rem
}
.rank .content dl:nth-of-type(n+4) dt span { background: rgba(0,100,150,.5); }

.rank .list li { overflow: hidden; height: 2.5rem; line-height: 2.5rem; padding: 0 1rem }
.rank .list li:nth-child(2n+1) { background-color: rgba(0,100,150,.05) }
.rank .list li a,.rank .list li span { float: left }
.rank .list li a { max-width: 60%; font-size: .875rem }
.rank .list li a:last-child {
    max-width: calc(40% - 1.25rem); float: right; text-align: right; font-size: .75rem; font-weight: 400
}
.rank .list li span {
    display: block; background: #f60; border-radius: 1rem; width: 1rem; height: 1rem; line-height: 1rem; text-align: center; color: #fff;
    margin-right: .25rem; margin-top: .75rem; font-size: .625rem;
}
.rank .list li:nth-of-type(n+3) span { background: rgba(0,100,150,.5); }

.sort ul { padding: 0 .5rem 1rem; overflow: hidden; font-size: .875rem }
.sort ul li { float: left; width: 33.33333%; margin-top: 1rem; text鍚�: center }
.sort ul li a { display: block; background: rgba(0,100,150,.1); margin: 0 .5rem; border-radius: .2rem; line-height: 2rem; }
.sort ul li a.active { background: rgba(0,100,150,.5); color: #fff }

#wrapper .rank { background: rgba(255,255,255,.5) }

.pages {
    border-top: .1rem solid rgba(0,100,150,.1); text-align: center; padding: 1rem 0; overflow: hidden; font-size: .75rem
}

#searchguide {
    display: none; position: fixed; z-index: 3; top: 0; right: 0; bottom: 0; left: 0; overflow: hidden; transition: visibility .25s; background: #fff
}

.search {
    padding: .5rem 1rem; height: 1.8rem; overflow: hidden;
    background-color: rgba(0,100,150,.5);
    background: linear-gradient(45deg, rgba(0,100,150,1), rgba(0,100,150,.5));
    display: flex;
}
.search form { width: calc(100% - 1.25rem); align-items: center; display: flex; }
.search form input {
    width: calc(100% - 4rem); font-size: .75rem; border: none; border-radius: .15rem 0 0 .15rem; border-right: none; background: #fff; height: 1.8rem; line-height: 1.8rem
}
.search form button {
    width: 4rem; cursor: pointer; border-radius: 0 .15rem .15rem 0; font-size: .75rem; border: none; height: 1.8rem; line-height: 1.8rem; background: rgba(0,100,150,.5); color: #ffffff;
}
.search form button:hover { background-color: #f60; color: #fff }
.search #closesearch { float: right; width: 1.25rem; margin-left: 1rem; color: #fff; font-size: .75rem; text-align: right; margin-top: -.2rem; }
.searchhot { padding: 1rem }
.searchhot h4 { padding: 0; height: auto; border-top: 0 }
.searchhot p a {
    font-size: .75rem; line-height: 1.5rem; display: inline-block; padding: 0 .625rem; text-align: center; border: 1px solid; border-radius: .75rem; color: #969ba3; margin: 1rem .5rem 0 0
}

.pagination {
    padding: 0 1rem; display: flex; background: rgba(255,255,255,.8); border-radius: .2rem; line-height: 2rem;
}
.pagination>li { width: 25%; text-align: center; }
.pagination>li.hidden-xs { display: none }
.pagination>li>a,.pagination>li>span { display: block; border: 1px solid #ccc; margin-left: -1px; }
.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover { z-index: 2; background-color: rgba(0,100,150,.1) }
.pagination>li:first-child>a,.pagination>li:first-child>span { border-top-left-radius: .2rem; border-bottom-left-radius: .2rem; margin-left: 0; }
.pagination>li:last-child>a,.pagination>li:last-child>span { border-top-right-radius: .2rem; border-bottom-right-radius: .2rem }
.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover {
    z-index: 3; cursor: default; color: #f60
}
.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover {
    color: #777; cursor: not-allowed; background-color: #fff; border-color: #ddd
}

.login { background: #fff }
.login form { padding: 2rem 1rem; text-align: center }
.login form .form-group+.form-group { margin-top: 2rem }
.login form .form-group .form-title { float: left; overflow: hidden; line-height: 1.5rem; font-size: .75rem }
.login form .form-group .form-content { overflow: hidden }
.login form .form-group .form-content input {
    border: 1px solid rgba(0,100,150,.2); width: 100%; font-size: .625rem; line-height: 1.5rem; text-indent: 10px
}
.login form .form-submit { margin-top: 2rem; text-align: center }
.login form .form-submit button {
    border: 1px solid rgba(0,100,150,.2); background-color: rgba(0,100,150,.1); border-radius: 3px; font-size: 100%; padding: 5px 50px
}
.login form .form-submit button:hover { background-color: #f60; color: #fff; border-color: #f60 }

.footer { padding: .5rem 0; background: rgba(0,100,150,.5) }
.footer p { line-height: 1.5rem; text-align: center; font-size: .625rem; color: #fff }

.backtotop {
    position: fixed; z-index: 1; right: 1rem; bottom: 20%; width: 2rem; height: 2rem; -webkit-transition: opacity .25s,visibility .25s; transition: opacity .25s,visibility .25s;
    color: #fff; border-radius: 2rem; background-color: rgba(0,0,0,.6)
}
.backtotop svg { width: 1rem; height: 1rem; padding: .5rem; fill: currentColor }

.nobook { padding: 5rem 0 0 0; text-align: center; }

/* 文字转图的 <img> 行内显示与对齐 */
.read .readcontent img.zi,
.read .readcontent img[src^="/zi/"]{
  display:inline-block !important;
  height:1em !important;
  width:auto !important;
  vertical-align:-0.15em !important;
  margin:0 .08em !important;
  image-rendering:-webkit-optimize-contrast;
  image-rendering:crisp-edges;
}
.read .readcontent p img{
  display:inline-block !important;
}

/* === 追加：用于异步占位 & 广告位的小样式 === */
.chapter-loading{ color:#888; font-size:.875rem; padding:1rem 0; text-align:center; }
.tips-red{ color:#f00; }
.ad-slot{ margin:1rem 0; padding:.5rem 0; text-align:center; background:rgba(0,100,150,.05); border-radius:.2rem; }
.ad-fallback{ opacity:.7; font-size:.75rem; }
/* === support ShipKeyImg glyphs (保持字图与文字一样的行高/对齐) === */
.read .readcontent img.zi,
.read .readcontent img[src^="/zi/"]{
  display:inline-block !important;
  height:1em !important;
  width:auto !important;
  vertical-align:-0.15em !important;
  margin:0 .08em !important;
  image-rendering:-webkit-optimize-contrast;
  image-rendering:crisp-edges;
}
.read .readcontent p img{
  display:inline-block !important;
}

