/*!
 * site-common.css
 * 由 yymh.html 的第一个内联 <style> 外置而来（P1-2），内容逐字未改。
 * 加载位置与外置前一致：在 <block name="head"> 之前。
 */

        html, body { overflow-x: hidden !important; max-width: 100%; }
        body { position: relative; }
        img { max-width: 100%; }

        /*
         * SEO 用的 H1。搜索引擎需要每页有一个明确的主标题，但现有版面不留标题位置。
         * 这里用 clip 方案把它移出视觉流：屏幕上完全看不到，读屏软件和抓取器仍可正常读取。
         * 注意不要改成 display:none 或 visibility:hidden——那两种写法会被判定为隐藏文本。
         */
        .mh-visually-hidden{
            position:absolute !important;
            width:1px;
            height:1px;
            margin:-1px;
            padding:0;
            overflow:hidden;
            clip:rect(0 0 0 0);
            clip-path:inset(50%);
            white-space:nowrap;
            border:0;
        }

        /*
         * 导航条标题由 div 改为 h1（每页需要一个可见 H1）后的字号修正。
         *
         * main.48b4036a.css 里 .navbar .title 只声明了 font-weight / display /
         * overflow / flex-shrink，.md .navbar .title 只补了 margin / line-height /
         * text-align —— 两条都【没有】声明 font-size。原来的 div 是靠继承拿到
         * .md .navbar 的 .16rem。换成 h1 之后，aui.css 的 h1{font-size:1.2rem}
         * 开始生效，实测字号从 16px 变成 120px。
         *
         * 这里刻意用低特异性的 h1.title (0,1,1)：
         *   - 高于 aui.css 的 h1 (0,0,1)，能盖掉 1.2rem；
         *   - 低于 .ios .navbar .title (0,3,0)，iOS 主题的 .17rem 仍然优先。
         * line-height 是 1.2 的比例值，字号恢复后会自动跟着回到 19.2px，无需另行声明。
         *
         * 实测验证：加此规则后 h1.title 与同位置 div.title 的计算样式与盒子尺寸完全一致。
         */
        h1.title{
            font-size:inherit;
        }

        /* 详情页「章节速览」：与现有 list 卡片同底色同圆角，只是内部排成药丸状网格。 */
        .mh-chapter-quick{
            background:#fff;
            border-radius:14px;
            padding:12px;
            margin:0 0 12px;
            box-shadow:0 1px 6px rgba(0,0,0,.04);
        }
        .mh-chapter-quick-title{
            font-size:.16rem;
            line-height:1.5;
            color:#222;
            font-weight:700;
            margin:0 0 10px;
            display:flex;
            align-items:center;
            justify-content:space-between;
            gap:.1rem;
        }
        .mh-chapter-quick-more{
            font-size:.12rem;
            font-weight:400;
            color:var(--f7-theme-color, #e91e63);
            text-decoration:none;
            flex:0 0 auto;
        }
        .mh-chapter-quick-group + .mh-chapter-quick-group{ margin-top:.12rem; }
        .mh-chapter-quick-label{
            font-size:.12rem;
            color:#8b8f97;
            margin:0 0 .06rem;
        }
        .mh-chapter-quick-list{
            display:grid;
            grid-template-columns:repeat(3, minmax(0, 1fr));
            gap:.08rem;
        }
        .mh-chapter-quick-item{
            display:block;
            padding:.08rem .06rem;
            border-radius:.1rem;
            background:#f7f8fa;
            color:#444 !important;
            font-size:.12rem;
            line-height:1.4;
            text-align:center;
            text-decoration:none;
            overflow:hidden;
            text-overflow:ellipsis;
            white-space:nowrap;
            box-sizing:border-box;
        }
        .mh-chapter-quick-item--latest{
            background:rgba(var(--f7-theme-color-rgb, 233,30,99), .10);
            color:var(--f7-theme-color, #d81b60) !important;
        }
        @media screen and (max-width: 360px){
            .mh-chapter-quick-list{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
        }

        /* 目录页分页条：沿用原来的 row/col 布局，只把按钮换成真实链接。 */
        .mh-pager-link{ text-decoration:none; }
        .mh-pager-link.disabled{ opacity:.45; pointer-events:none; }
        .mh-pager-status{
            text-align:center;
            font-size:.12rem;
            color:#8b8f97;
            padding:.06rem 0 .1rem;
        }
        .view-main, .page, .page-content, .reader-zone-list-view, .reader-zone-list-view-books, .reader-book, .reader-home-actions-grid {
            max-width: 100%;
            box-sizing: border-box;
            overflow-x: hidden;
        }
        .notify-topbar, .notify-modal, .notify-rich, .notify-item { box-sizing: border-box; }

        form.comment-form {
            display: flex;
            flex-direction: column;
            padding: 10px;
            background-color: #FFF;
        }
        form.comment-form textarea {
            font-size: .2rem;
            padding: 5px;
            box-shadow: none;
            height: unset;
            border-radius: 5px;
            box-sizing: border-box;
            border: 1px solid #EEE;
        }
        form.comment-form button {
            flex: 1;
            height: unset;
            border: none;
            box-sizing: border-box;
            padding: 0;
            font-size: .2rem;
            line-height: 2;
            background-color: #e91e63;
            color: #FFF;
            border-radius: 5px;
            margin-top: 10px;
        }
        .comment-item {
            display: flex;
            justify-content: flex-start;
            padding: 10px;
            border-top: 1px solid #EEE;
        }
        .comment-item .content { display: flex; flex-direction: column; padding-left: 10px; flex: 1; }
        .comment-item .link { color: #2196f3; }
        .comment-item .top, .comment-item .from { display: flex; justify-content: space-between; }
        .comment-item p, .comment-item .from, .comment-item .from a { color: #657180; text-decoration: none; }
        .comment-item .avatar { background-size: cover; background-position: center center; height: 60px; width: 60px; border-radius: 30px; }
        #comment-list ul, #comment-list li { list-style: none; }
        #load-more-comment, .load-more-comment-link { display: block; color: #e91e63; padding: 10px 0; text-align: center; }
        form.comment-form .star, form.comment-form .content { display: flex; justify-content: space-between; }
        .comment-title { border-left: 2px solid #e91e63; padding-left: 10px; margin: 5px 0 10px; }
        .star-rating { font-family: 'FontAwesome'; display: flex; align-items: center; justify-content: space-between; }
        .star-rating > fieldset { border: none; display: inline-block; }
        .star-rating > fieldset:not(:checked) > input { display: none; }
        .star-rating > fieldset:not(:checked) > label { float: right; width: 1em; padding: 0 .05em; overflow: hidden; white-space: nowrap; cursor: pointer; font-size: 200%; color: #e91e63; }
        .star-rating > fieldset:not(:checked) > label:before { content: '☆'; }
        .star-rating > fieldset:not(:checked) > label:hover,
        .star-rating > fieldset:not(:checked) > label:hover ~ label { color: #e91e63; text-shadow: 0 0 3px #e91e63; }
        .star-rating > fieldset:not(:checked) > label:hover:before,
        .star-rating > fieldset:not(:checked) > label:hover ~ label:before,
        .star-rating > fieldset > input:checked ~ label:before { content: '★'; }
        .star-rating > fieldset > label:active { position: relative; top: 2px; }
        a.layui-layer-ico.layui-layer-close.layui-layer-close2 {
            background: none;
            width: .2rem;
            height: .2rem;
            border: 1px solid #FFF;
            border-radius: .1rem;
            background-color: #e91e63;
            right: -.15rem;
            top: -.15rem;
            display: flex;
            justify-content: center;
            align-items: center;
            color: #FFF;
        }
        a.layui-layer-ico.layui-layer-close.layui-layer-close2:after { content: 'X'; font-size: .15rem; }
        #sign-topic {
            display: none;
            position: absolute;
            top: 0;
            left: 0;
            z-index: 9999;
            width: 100%;
            box-shadow: 0 0 5px 4px rgba(0, 0, 0, .4);
            background-color: #FFF;
            padding: 10px;
            box-sizing: border-box;
        }
        #sign-topic.show { display: block; }
        #sign-topic .title { position: relative; line-height: 30px; }
        #sign-topic .title .site-name, #sign-topic .sign-gold { color: red; }
        #sign-topic .title .close { position: absolute; right: 0; top: 0; line-height: 30px; }

        /* 原版公告样式 */
        .notify-topbar{
            position:fixed; top:.08rem; left:50%; transform:translateX(-50%);
            width:calc(100% - .24rem); max-width:980px;
            z-index:9997; background:#e91e63; color:#fff; display:none; box-sizing:border-box;
            padding:.08rem .14rem; border-radius:.12rem; box-shadow:0 8px 20px rgba(0,0,0,.16)
        }
        .notify-topbar.show{display:block}
        .notify-topbar-inner{display:flex;gap:.1rem;align-items:center;justify-content:space-between}
        .notify-topbar-title{font-size:.14rem;font-weight:700;flex-shrink:0}
        .notify-topbar-text{flex:1;font-size:.12rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.96}
        .notify-topbar-link{color:#fff;font-size:.12rem;flex-shrink:0;text-decoration:underline}
        .notify-mask{
            position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:none;background:rgba(0,0,0,.42);
            padding:.24rem;box-sizing:border-box;overflow:auto
        }
        .notify-mask.show{display:flex;align-items:center;justify-content:center}
        .notify-modal{
            position:relative;background:#fff;border-radius:.18rem;max-width:980px;width:100%;box-shadow:0 18px 44px rgba(0,0,0,.18);
            overflow:hidden
        }
        .notify-modal-close{position:absolute;right:.12rem;top:.1rem;z-index:2;width:.28rem;height:.28rem;border-radius:50%;background:rgba(0,0,0,.08);font-size:.22rem;line-height:.26rem;color:#666;cursor:pointer;text-align:center}
        .notify-modal-body{max-height:70vh;overflow:auto;padding:.18rem;padding-top:.26rem}
        .notify-item + .notify-item{margin-top:.18rem;padding-top:.18rem;border-top:1px dashed #eee}
        .notify-item-title{font-size:.18rem;font-weight:700;color:#333;line-height:1.5}
        .notify-item-meta{margin-top:.06rem;font-size:.12rem;color:#999}
        .notify-rich{margin-top:.12rem;font-size:.14rem;line-height:1.75;color:#555;word-break:break-word}
        .notify-rich p{margin:0 0 .08rem;min-height:0}
        .notify-rich p:empty{display:block;height:.08rem;margin:0}
        .notify-rich img{max-width:100%;height:auto;border-radius:.08rem}
        .notify-rich ul,.notify-rich ol{padding-left:.24rem;margin:.08rem 0}
        .notify-rich blockquote{margin:.12rem 0;padding:.12rem .14rem;background:#faf5ff;border-left:.04rem solid #e91e63;color:#666;border-radius:.08rem}
        .notify-rich table{display:block;width:100%;overflow-x:auto;border-collapse:collapse}
        .notify-rich th,.notify-rich td{border:1px solid #eee;padding:.08rem .1rem;font-size:.13rem}
        .notify-rich *{max-width:100%;box-sizing:border-box}
        .notify-modal-foot{padding:.14rem .18rem .18rem;border-top:1px solid #f3f3f3;display:flex;gap:.12rem}
        .notify-btn{flex:1;display:block;text-align:center;padding:.11rem .12rem;border-radius:99px;font-size:.14rem}
        .notify-btn-primary{background:#e91e63;color:#fff}.notify-btn-default{background:#f7f7f7;color:#666}
        .comment-reply-modal{
            max-width:520px;
            display:flex;
            flex-direction:column;
            max-height:calc(100vh - .48rem)
        }
        .comment-reply-modal .notify-modal-body{
            flex:1 1 auto;
            min-height:0;
            max-height:none;
            overflow-y:auto;
            -webkit-overflow-scrolling:touch
        }
        .comment-reply-modal .notify-modal-foot{flex:0 0 auto}
        .comment-reply-modal .notify-btn{
            min-width:0;
            box-sizing:border-box;
            white-space:nowrap
        }
        .comment-reply-modal .notify-btn-primary{color:#fff!important}
        .comment-reply-modal .notify-btn-default{color:#666!important}
        .comment-reply-title{font-size:.19rem;font-weight:700;color:#333;line-height:1.5}
        .comment-reply-label{margin-top:.14rem;font-size:.12rem;color:#999}
        .comment-reply-text{margin-top:.05rem;padding:.11rem .12rem;border-radius:.1rem;background:#f7f7f7;color:#555;font-size:.14rem;line-height:1.7;word-break:break-word;white-space:pre-wrap}
        .comment-reply-answer{background:#fff4f8;color:#444}
        .comment-reply-count{margin-top:.12rem;font-size:.12rem;color:#999}
        .comment-reply-section{display:none}
        .comment-reply-section.show{display:block}
        /* 系统自动回复发件人：绿色文字、浅绿色背景；客服手动回复样式保持原样。 */
        .comment-system-reply-label{display:inline-flex;align-items:center;padding:.03rem .08rem;border-radius:999px;color:#16823b!important;background:#e8f7ec!important;font-weight:700}
        /* 与前端评论列表中的“歪漫客服”标签保持同样的粉色文字和浅粉背景。 */
        .comment-admin-reply-label{display:inline-flex;align-items:center;padding:.03rem .08rem;border-radius:999px;color:#d81b60;background:#ffe7f0;font-size:.11rem;font-weight:700}
        [data-notify-entry="home"]{position:relative}
        .notify-unread-badge{position:absolute;z-index:6;display:inline-flex;align-items:center;justify-content:center;background:#f44336;color:#fff;border:2px solid #fff;box-sizing:border-box;pointer-events:none}
        .notify-unread-count{top:0;right:.03rem;min-width:.2rem;height:.2rem;padding:0 .045rem;border-radius:.12rem;font-size:.1rem;line-height:1}

        /*
         * 手机端使用站点现有 rem 缩放体系确定宽度。
         * 不能继续使用固定 520px，否则高 DPR 的 iPhone 会把弹窗压缩成约半屏宽。
         */
        html:not(.device-pc) .comment-reply-modal{
            width:6.6rem;
            max-width:calc(100vw - .48rem)
        }

        @media screen and (max-width: 768px){
            .notify-topbar{top:0;left:0;transform:none;width:100%;max-width:none;border-radius:0;padding:.1rem .14rem}
            .notify-modal{max-width:92vw;width:92vw}
            .notify-item-title{font-size:.17rem}
        }
    