.page {
    width: 210mm;
    height: 297mm;
    background: #fff;
    margin: 0 auto 16px;
    overflow: hidden;
    position: relative;
    box-shadow: 0 2px 12px rgba(0,0,0,0.08);
    box-sizing: border-box;
}
/* 内置页眉页脚：固定三区高度，无内容也占位，避免选「空白/仅页脚」时字格整体上移 */
.page {
    --page-grid-gap: 3mm;
    --page-chrome-header: 16mm;
    --page-chrome-footer: 16mm;
    --page-body-h: 257mm;
}
/* A4 三区：页眉贴顶、页脚贴底，中间正文区高度固定为剩余空间（与内容多少无关） */
.page.page--sheet,
.page.page--org-template,
.page:has(> .org-page-header) {
    display: grid;
    grid-template-rows: var(--page-grid-header) minmax(0, 1fr) auto;
    grid-template-areas:
        "page-head"
        "page-main"
        "page-foot";
    height: 297mm;
    min-height: 297mm;
    max-height: 297mm;
}
.page.page--sheet:not(.page--org-template) {
    --page-grid-header: var(--page-chrome-header);
}
.page.page--chrome-school:not(.page--org-template) {
    --page-chrome-header: 20mm;
}
.page.page--sheet > .page-header,
.page.page--org-template > .page-header,
.page.page--org-template > .org-page-header,
.page:has(> .org-page-header) > .org-page-header {
    grid-area: page-head;
    align-self: start;
}
.page.page--sheet > .page-main,
.page.page--org-template > .page-main,
.page:has(> .org-page-header) > .page-main {
    grid-area: page-main;
    min-height: 0;
    height: 100%;
    max-height: 100%;
    margin: 0 auto;
    overflow: hidden;
}
.page.page--sheet > .page-footer,
.page.page--org-template > .page-footer,
.page.page--org-template > .org-page-footer,
.page:has(> .org-page-header) > .org-page-footer {
    grid-area: page-foot;
    align-self: end;
    height: auto;
    margin-top: 0;
    padding: 0 18mm 3mm;
    align-items: stretch;
    justify-content: flex-start;
}
.page-main {
    height: 257mm;
    max-height: 257mm;
    margin: 0 auto;
    padding: var(--page-grid-gap) 0;
    box-sizing: border-box;
    overflow: hidden;
}
.page-main.page-main--org {
    padding: 0;
}
.page-header,
.page-footer {
    height: var(--page-chrome-header, 16mm);
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 18mm;
    font-size: 12px;
    color: #333;
    font-family: "Microsoft Yahei", "PingFang SC", "Noto Sans SC", sans-serif;
    position: relative;
    box-sizing: border-box;
    flex-shrink: 0;
}
.page-footer {
    height: var(--page-chrome-footer, 16mm);
}
.page-header--simple,
.page-footer--simple {
    color: #666;
}
.page-header--simple {
    justify-content: center;
}
.page-footer--simple {
    justify-content: center;
    align-items: center;
    padding-bottom: 3mm;
}
.page.page--sheet > .page-header.page-header--simple,
.page.page--org-template > .page-header.page-header--simple {
    justify-content: center;
    align-items: center;
}
.page.page--sheet > .page-footer.page-footer--simple,
.page.page--org-template > .page-footer.page-footer--simple {
    justify-content: center;
    align-items: center;
}
.page-header--simple .chrome-simple-site {
    font-size: 13px;
    color: #666;
    letter-spacing: 0.02em;
}
.chrome-brand-footer {
    display: block;
    margin-left: auto;
    margin-right: auto;
    max-height: 14mm;
    width: auto;
    max-width: min(175mm, 94%);
    height: auto;
    object-fit: contain;
    object-position: center;
}
/* 默认样式：页眉留白，品牌标识页脚居中 */
.page-footer--brand-bottom {
    justify-content: center;
    align-items: center;
    padding: 0 18mm 2mm;
}
.chrome-brand-footer--bottom {
    margin-left: auto;
    margin-right: auto;
    max-height: 12mm;
    max-width: min(120mm, 70%);
    object-fit: contain;
    object-position: center bottom;
}
.page-main--stroke-pinyin,
.page-main--brand-corner {
    padding-bottom: 1mm;
}
.page-slot-filler {
    height: 0;
    margin: 0;
    padding: 0;
    border: 0;
    overflow: hidden;
    visibility: hidden;
}
.org-brand-corner {
    position: absolute;
    right: 4mm;
    top: 2mm;
    z-index: 2;
    max-width: 42mm;
    max-height: 28px;
    pointer-events: none;
}
.org-brand-corner img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 28px;
    object-fit: contain;
    object-position: right top;
}
.org-page-footer--compact .org-footerpic {
    display: none;
}
.org-page-footer--compact {
    min-height: 0;
}

.page-header--line,
.page-footer--line,
.page-header--school,
.page-footer--school {
    flex-direction: column;
    justify-content: flex-end;
    align-items: stretch;
    padding: 0 18mm;
    gap: 4px;
}
.page-header--school { height: 20mm; justify-content: flex-end; }
.page-footer--line,
.page-footer--school {
    justify-content: flex-start;
    align-items: stretch;
    height: auto;
}
.page-header--blank,
.page-footer--blank,
.page-header--simple.page-header--reserved {
    padding: 0 18mm;
}
.page-header--blank,
.page-header--simple.page-header--reserved {
    min-height: var(--page-chrome-header, 16mm);
    height: var(--page-chrome-header, 16mm);
}
.page-footer--blank {
    min-height: var(--page-chrome-footer, 16mm);
}

.chrome-row {
    display: flex;
    justify-content: space-between;
    width: 100%;
    font-size: 13px;
}
.chrome-school {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    font-size: 13px;
    letter-spacing: 0.5px;
    white-space: nowrap;
    gap: 12px;
}
.chrome-line {
    height: 1px;
    background: #000;
    width: 100%;
}
.chrome-pagenum {
    text-align: center;
    font-size: 13px;
    width: 100%;
}

.row {
    margin: 0 auto 1.5mm;
}
.page-main > .row:last-child {
    margin-bottom: 0;
}
.lattice {
    float: left;
}
.lattice-frame {
    position: relative;
    float: left;
    overflow: hidden;
    border: 1px solid #ff4242;
    background: #fff;
}
.row--lattice-grid > .lattice:has(+ .lattice) > .lattice-frame {
    border-right: none;
}
.page-main .row--lattice-grid:not(.article-pyin-row):not(.pinyin-cap-row):has(+ .row--lattice-grid:not(.article-pyin-row):not(.pinyin-cap-row)) > .lattice > .lattice-frame {
    border-bottom: none;
}
.lattice-frame .svglattice {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
.glyph {
    position: absolute;
    top: 1px;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    text-align: center;
    font-family: var(--glyph-font);
    line-height: inherit;
    font-weight: 400;
    font-synthesis: none;
    -webkit-font-smoothing: auto;
    white-space: nowrap;
}
.lattice-frame .svgdiv,
.lattice--article-py .svgdiv {
    font-weight: 400;
    font-synthesis: none;
    -webkit-font-smoothing: auto;
}
.pinyinlattice,
.pinyindiv,
.pinyindiv span,
.pinyinbianse,
.pinyinbianse span,
.copypinyin,
.lattice--article-py .pinyin-strip,
.lattice-frame--pinyin-col .glyph--pinyin,
.py-cell .py-cell-py,
.page-main--word-pinyin .pinyindiv,
.page-main--word-pinyin .pinyindiv span,
.page-main--pinyin-line .py-cell .nosvgdiv,
.page-main--pinyin-line .py-cell .svgdiv {
    font-family: "pinyin", "ZitiePinyin", sans-serif;
    font-weight: 400 !important;
    font-synthesis: none !important;
    -webkit-font-smoothing: auto;
}
.lattice--pinyin-cap,
.tf {
    float: left;
}
.lattice--pinyin-cap .lattice-frame,
.tf > .lattice-frame {
    float: none;
    border: 1px solid;
    border-bottom: 1px solid;
    position: relative;
    box-sizing: border-box;
}
.lattice--pinyin-cap:not(.lattice--pinyin-gap):has(+ .lattice--pinyin-cap:not(.lattice--pinyin-gap)) > .pinyinlattice,
.lattice--pinyin-cap:not(.lattice--pinyin-gap):has(+ .lattice--pinyin-cap:not(.lattice--pinyin-gap)) > .lattice-frame {
    border-right: none;
}
.py-row > .py-cell:has(+ .py-cell) {
    border-right: none;
}
.page-main--pinyin-line .py-row:has(+ .py-row) > .py-cell {
    border-bottom: none;
}
.name-title-row .lattice,
.name-title-row .tf {
    float: none;
}
.pinyinlattice {
    border: 1px solid;
    border-bottom: none;
    background: #fff;
    position: relative;
    box-sizing: border-box;
    font-family: "pinyin", "ZitiePinyin", sans-serif;
}
.pinyinlattice > .svglattice {
    display: block;
    width: 100% !important;
    height: 100% !important;
}
.pinyindiv {
    position: absolute;
    left: 50%;
    top: 44%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    white-space: nowrap;
    z-index: 1;
}
.lattice--pinyin-cap .svgdiv,
.tf .svgdiv {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    text-align: center;
    z-index: 1;
}
.stroke-svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
.lattice--article-py {
    float: left;
}
.lattice--article-py .pinyin-strip {
    white-space: nowrap;
    overflow: hidden;
    font-family: "pinyin", "ZitiePinyin", sans-serif;
    text-align: center;
    box-sizing: border-box;
    color: #000;
}
.lattice--article-py-pad {
    float: left;
}
.lattice--article-py-pad .article-py-pad-spacer {
    display: block;
    box-sizing: border-box;
}
.lattice-frame--pinyin-col .glyph--pinyin {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    white-space: nowrap;
    z-index: 1;
    width: 100%;
    text-align: center;
}
.article-pyin-row {
    overflow: visible;
}
.row--stroke-desc {
    display: flex;
    align-items: center;
    gap: 6px;
    overflow: hidden;
    white-space: nowrap;
    padding: 0 2mm;
    margin-top: 2mm;
    box-sizing: border-box;
}
.page-main--stroke-pinyin .row--stroke-desc:first-child {
    margin-top: 0;
}
.row--stroke-desc .desc-fanzi { font-size: 22px; line-height: 1; }
.row--stroke-desc .desc-py {
    font-family: "pinyin", "ZitiePinyin", sans-serif;
    font-size: 16px;
    font-weight: 400;
    font-synthesis: none;
}
.row--stroke-desc .desc-strokes { display: flex; align-items: center; gap: 2px; }
.stroke-thumb { width: 23px; height: 23px; position: static; }
.glyph--number { font-family: "shuzi", "ZitieShuzi", sans-serif !important; }
.glyph--pinyin { font-family: "pinyin", "ZitiePinyin", sans-serif !important; }
.glyph--english {
    font-family: "ZitieEnglish", "shuyaoEnglishHengshuiStyle", sans-serif !important;
    font-weight: 400 !important;
    font-synthesis: none !important;
}
.numFont_1_1 { font-family: "shuzi", "ZitieShuzi", sans-serif !important; font-size: 50px; margin-top: 1px; }
.numFont_1_10 { font-family: "shuzi", "ZitieShuzi", sans-serif !important; font-size: 58px; margin-left: -1px; }
.numFont_1_20 { font-family: "shuzi", "ZitieShuzi", sans-serif !important; font-size: 77px; margin-left: -1px; margin-top: 1px; }
.numFont_2_1 { font-family: "shuzi", "ZitieShuzi", sans-serif !important; font-size: 50px; letter-spacing: -26px; margin-left: -1px; }
.numFont_2_10 { font-family: "shuzi", "ZitieShuzi", sans-serif !important; font-size: 59px; letter-spacing: -30px; margin-left: -2px; }
.numFont_2_20 { font-family: "shuzi", "ZitieShuzi", sans-serif !important; font-size: 77px; letter-spacing: -38px; margin-left: -2px; margin-top: 1px; }
.glyph--math-v {
    display: block;
    padding: 3mm 4mm 2mm;
    font-family: "Noto Sans SC", Arial, sans-serif !important;
    overflow: visible;
    box-sizing: border-box;
    height: 100%;
}
.math-v-line { line-height: 1; }
.math-v-fr { float: right; clear: right; }
.math-v-cb { clear: both; height: 0; overflow: hidden; }
.math-v-hengxian {
    float: right;
    clear: both;
    height: 1.5px;
    background: #111;
    margin: 3px 0 5px;
}
.glyph--math-v span {
    display: inline-block;
    width: var(--math-digit-w, 1.35em);
    text-align: center;
    margin: 2px 0 0 var(--math-digit-gap, 2px);
    vertical-align: top;
    box-sizing: border-box;
}
.glyph--math-v span.kuang {
    border: 1.5px solid #111;
    height: var(--math-digit-w, 1.35em);
    box-sizing: border-box;
}
.page-main--math-v { padding-top: 3mm; }
.page-main--math-v .math-row--v { overflow: visible; box-sizing: border-box; }
.page-main--math-v .lattice--math-v { float: left; box-sizing: border-box; overflow: visible; }
.page-main--math-v .lattice--math-v .lattice-frame { overflow: visible; box-sizing: border-box; }
.math-answer-title { text-align: center; font-size: 16px; font-weight: 600; margin: 4px 0 10px; }
.math-answer-list { list-style: none; margin: 0 auto; padding: 0; width: 92%; overflow: hidden; }
.math-answer-list li { float: left; text-align: left; box-sizing: border-box; padding: 4px 6px; min-height: 36px; }
.math-answer-list--3 li { width: 33.33%; }
.math-answer-list--4 li { width: 25%; }
.math-answer-list--5 li { width: 20%; }
.math-answer-idx {
    display: inline-block;
    width: 18px;
    height: 18px;
    line-height: 18px;
    text-align: center;
    font-size: 11px;
    border: 1px solid #666;
    border-radius: 50%;
    margin-right: 4px;
    vertical-align: middle;
}
.math-answer-body { font-size: 15px; vertical-align: middle; }
.math-answer-blank { text-decoration: underline; }
.page-main--math-h {
    padding-top: 3mm;
}
.page-main--math-h .math-row--h {
    overflow: hidden;
    box-sizing: border-box;
}
.page-main--math-h .lattice--math-h {
    float: left;
    box-sizing: border-box;
}
.page-main--math-h .lattice--math-h .lattice-frame {
    float: none;
    display: flex;
    align-items: flex-end;
    box-sizing: border-box;
    padding-bottom: 2.5mm;
}
.page-main--math-h .lattice--math-h .glyph {
    position: static !important;
    left: auto !important;
    top: auto !important;
    width: 100%;
    height: auto;
    display: flex;
    align-items: baseline;
    justify-content: flex-start;
    text-align: left;
    white-space: nowrap;
    line-height: 1.15 !important;
}
.math-fill-line {
    display: inline-block;
    width: 2.6em;
    height: 1.05em;
    margin: 0 0.12em;
    border-bottom: 1.5px solid #333;
    box-sizing: border-box;
    vertical-align: baseline;
    flex: 0 0 auto;
    align-self: baseline;
}
.name-title-row { display: flex; justify-content: center; margin: 0 auto 3mm; }
.name-section-title { text-align: center; font-size: 13px; margin: 3mm 0 2mm; }
.cb { clear: both; }

@page {
    size: A4 portrait;
    margin: 0;
}

@media print {
    html, body {
        background: #fff !important;
        margin: 0;
        padding: 0;
        width: 210mm;
        height: auto;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }
    /* 制作页：禁止 Ctrl+P 打出预览区；请用「制作字帖」走 iframe A4 流程 */
    body.page-make:not(.page-pt-preview) .make-workspace,
    body.page-make:not(.page-pt-preview) .to-print,
    body.page-make:not(.page-pt-preview) .exhibition,
    body.page-make:not(.page-pt-preview) .exhibition .page {
        display: none !important;
        visibility: hidden !important;
    }
    .no-print,
    .site-header,
    .control-pane,
    .preview-stage-bar,
    .page-flip,
    .page-nav-btn,
    .panel-toggle,
    .panel-close,
    .preview-hint,
    .copyview,
    .create-bar,
    .site-footer {
        display: none !important;
    }
    .make-workspace,
    .preview-stage,
    .preview-canvas,
    .exhibition {
        display: block;
        background: #fff;
        padding: 0;
        overflow: visible;
        width: auto !important;
        height: auto !important;
        margin: 0;
        transform: none !important;
        box-shadow: none;
    }
    .exhibition-sheet,
    .exhibition .to-print,
    .to-print {
        width: 210mm;
        height: auto;
        margin: 0;
        transform: none !important;
    }
    /* 打印全部页：盖过 app.css 预览单页 display:none */
    .exhibition .page.page--sheet,
    .exhibition .page.page--org-template,
    .exhibition .page:has(> .org-page-header),
    .exhibition .page:not(.is-preview-active).page--sheet,
    .exhibition .page:not(.is-preview-active).page--org-template,
    .exhibition .page:not(.is-preview-active):has(> .org-page-header) {
        display: grid !important;
    }
    .exhibition .page:not(.page--sheet):not(.page--org-template):not(:has(> .org-page-header)),
    .exhibition .page:not(.is-preview-active):not(.page--sheet):not(.page--org-template):not(:has(> .org-page-header)) {
        display: block !important;
    }
    .page {
        box-shadow: none;
        margin: 0;
        padding: 0;
        width: 210mm;
        overflow: hidden;
        page-break-after: auto;
        break-after: auto;
        page-break-inside: avoid;
        break-inside: avoid;
    }
    .page:last-child {
        page-break-after: avoid;
        break-after: avoid;
    }
    .page + .page {
        page-break-before: always;
        break-before: page;
    }
}

/* 拼音线格纸：机构版 A4 mm */
.page-main--pinyin-line {
    width: auto;
    margin: 0 auto;
}
.py-row { margin-bottom: 5px; overflow: hidden; }
.py-cell {
    border: 1px solid #ff4242;
    position: relative;
    width: 15mm;
    height: 10mm;
    float: left;
    box-sizing: border-box;
    background: #fff;
}
.py-cell .svglattice {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
}
.py-cell .nosvgdiv,
.py-cell .svgdiv {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    transform: none;
    overflow: hidden;
    text-align: center;
    font-family: "pinyin", "ZitiePinyin", sans-serif;
    font-size: 26px;
    line-height: 8.9mm;
    font-weight: 400 !important;
    font-synthesis: none !important;
}
.py-cell .svgdiv.py-cell-trace-stroke {
    color: transparent;
}
.py-cell--hanzi-fang {
    background: #fff;
}
.py-cell .py-cell-hanzi {
    font-size: 28px;
}
.page-main--pinyin-line .py-cell .nosvgdiv.py-cell-py {
    font-weight: 400 !important;
    font-synthesis: none !important;
    line-height: 8.9mm !important;
    white-space: nowrap;
}
.page-main--pinyin-line .py-cell .svgdiv.py-cell-hanzi {
    line-height: 10mm;
}
.py-cell .svgdiv > object {
    display: block;
    width: 100%;
    height: 100%;
}
.cb { clear: both; }

/* 英文线格纸：对照机构版 A4，行宽 180mm（viewBox 仍 550×32） */
.page-main--english-line {
    width: 180mm;
    margin: 0 auto;
    padding-left: 0;
    padding-right: 0;
}
.en-line-row {
    height: 53px;
    position: relative;
    width: 180mm;
    margin: 0 auto;
    overflow: hidden;
}
.en-line-row > .svglattice {
    display: block;
    width: 180mm !important;
    height: auto !important;
}
.en-line-row .latticeContent {
    position: absolute;
    left: 0;
    top: 4px;
    width: 100%;
    height: auto;
    min-height: 32px;
    line-height: 29px;
    font-size: 30px;
    font-weight: 400;
    font-synthesis: none;
    overflow: visible;
    white-space: nowrap;
    z-index: 1;
}
.en-line-row .nosvgdiv,
.en-line-row .svgdiv {
    font-weight: 400 !important;
    font-synthesis: none !important;
}
.en-line-row .nosvgdiv { margin: 0 0 0 5px; color: #000 !important; display: inline-block; }
.en-line-row .svgdiv { margin: 0 0 0 20px; display: inline-block; }
.en-line-row .commonly { width: 50%; float: left; }
.en-line-row--bilingual-cn { height: auto; min-height: 63px; overflow: visible; }
.en-bilingual-cn {
    font-size: 20px;
    width: 100%;
    text-align: left;
    line-height: 63px;
    color: #000;
    font-family: "ZitieKaiti", serif;
}

/* 机构自定义页眉页脚：与制作页同一套 print.css（会员预览 + 前端字帖） */
.page.page--org-template,
.page:has(> .org-page-header) {
    --org-chrome-h: 75px;
    --page-grid-header: var(--org-chrome-h);
    overflow: hidden;
    position: relative;
    box-sizing: border-box;
}
.page.page--org-template .org-page-header,
.page:has(> .org-page-header) .org-page-header {
    height: var(--org-chrome-h);
    width: 100%;
    position: relative;
    z-index: 2;
    box-sizing: border-box;
}
.page.page--org-template .page-main.page-main--org,
.page:has(> .org-page-header) .page-main.page-main--org {
    margin: 0 auto;
    padding: var(--page-grid-gap) 0;
}
.page.page--org-template .org-page-footer,
.page:has(> .org-page-header) .org-page-footer {
    position: relative;
    width: 100%;
    z-index: 2;
    display: flex;
    flex-direction: column;
    padding: 0 0 3mm;
}
/* 汉字描红格内居中；数字/口算/英文等保持原有绝对定位与字号规则 */
.page.page--org-template .page-main .glyph:not(.glyph--number):not(.glyph--math):not(.glyph--math-v):not(.glyph--english):not(.glyph--stroke):not(.glyph--kongbi):not(.glyph--radical),
.page:has(> .org-page-header) .page-main .glyph:not(.glyph--number):not(.glyph--math):not(.glyph--math-v):not(.glyph--english):not(.glyph--stroke):not(.glyph--kongbi):not(.glyph--radical) {
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}
/* 口算/竖式：勿用汉字格的 absolute 定位，否则会压扁行高、撑乱版面 */
.page.page--org-template .page-main .glyph.glyph--number,
.page.page--org-template .page-main .glyph.glyph--math,
.page.page--org-template .page-main .glyph.glyph--math-v,
.page:has(> .org-page-header) .page-main .glyph.glyph--math,
.page:has(> .org-page-header) .page-main .glyph.glyph--math-v {
    display: block;
    position: static !important;
    top: auto !important;
    left: auto !important;
    width: 100%;
    height: 100%;
    align-items: unset;
    justify-content: unset;
}
.page.page--org-template .page-main.page-main--math-v .lattice--math-v .lattice-frame,
.page.page--org-math-vertical .page-main--math-v .lattice--math-v .lattice-frame {
    position: relative;
    overflow: visible;
}
.page.page--org-template .page-main.page-main--org.page-main--math-v,
.page.page--org-math-vertical .page-main.page-main--math-v {
    padding: 2mm 0 0;
    min-height: 0;
    overflow: hidden;
}
.page.page--org-compat.page--org-template .page-main.page-main--math-h,
.page.page--org-compat.page--org-template .page-main.page-main--math-answer {
    padding-top: 2mm;
}
.page.page--org-math-vertical .page-main.page-main--math-v .math-row--v {
    overflow: visible;
}
.org-page-main-spacer {
    height: 10px;
    width: 100%;
}

.org-page-header {
    height: var(--org-chrome-h, 75px);
    display: block;
    padding: 0;
    position: relative;
    box-sizing: border-box;
}
.org-page-footer {
    height: auto;
    display: flex;
    flex-direction: column;
    padding: 0;
    position: relative;
    box-sizing: border-box;
}
.org-headerpic {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.org-footerpic {
    position: relative;
    flex: 0 0 var(--org-chrome-h, 75px);
    height: var(--org-chrome-h, 75px);
    width: 100%;
    overflow: hidden;
}
.org-headerpic img,
.org-footerpic img {
    display: block;
    height: 100%;
    width: 100%;
    object-fit: fill;
}
.org-footer-meta {
    flex: 0 0 auto;
    padding: 2px 0 0;
    position: relative;
    width: 100%;
    box-sizing: border-box;
}
.org-headerlinediv,
.org-footerlinediv {
    width: 100%;
    height: 1px;
    pointer-events: none;
}
.org-headerlinediv {
    position: absolute;
    left: 0;
    bottom: 10px;
}
.org-footerlinediv {
    position: static;
    margin: 0 auto 4px;
}
.org-headerline,
.org-footerline {
    height: 1px;
    background: #000;
    width: 90%;
    margin: 0 auto;
}
.org-headercontentdiv {
    position: absolute;
    bottom: 15px;
    width: 100%;
}
.org-footercontentdiv {
    position: static;
    width: 100%;
    margin-bottom: 2px;
    pointer-events: none;
}
.org-headercontent,
.org-footercontent {
    width: 90%;
    max-width: 90%;
    margin: 0 auto;
    box-sizing: border-box;
}
.org-pagenumdiv {
    position: static;
    width: 100%;
    padding-top: 1px;
    pointer-events: none;
}
.org-pagenum {
    width: 90%;
    max-width: 90%;
    margin: 0 auto;
    font-size: 12px;
    line-height: 1.2;
    box-sizing: border-box;
}
.chip-pagetemp-img {
    width: 100%;
    height: 48px;
    object-fit: cover;
    border-radius: 4px;
    display: block;
}

/* 国风帖：打印保留底图 */
.page-main--guofeng {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
    position: relative;
    overflow: visible !important;
}
.page-main--guofeng-poetry .guofeng-poetry-frame {
    position: absolute;
    top: 57mm;
    left: 47mm;
    width: 67mm;
}
.page-main--guofeng-article .guofeng-contentframe--article {
    position: absolute;
    top: 40mm;
    left: 28mm;
    width: 150mm;
}
.page-main--guofeng-match .guofeng-contentframe--match {
    position: absolute;
    top: 40mm;
    left: 34mm;
    width: 142mm;
}
.guofeng-contentframe--t40 {
    top: 39.7mm;
    left: 36.2mm;
}
.guofeng-contentframe--t41 {
    top: 42.5mm;
    left: 33.3mm;
}
.row--guofeng-poetry {
    float: right !important;
    width: 13.2mm;
    margin-right: 2.6mm !important;
}
.row--guofeng-poetry .lattice {
    float: left;
    clear: both;
}
