/*
Theme Name: Inkpaper
Theme URI: https://up-der.com
Author: David
Description: A minimalist newspaper-style theme built for reading. Centered masthead, double rules, serif typography, one column of text on paper. No sidebars, no featured images, no external assets. Compatible with WP PayPal Shop (pp_product).
Version: 1.0.5
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.2
License: GNU General Public License v2 or later
Text Domain: inkpaper
Tags: blog, one-column, custom-menu, news, text-only
*/

/* ============ 基础 ============ */

:root {
    --ink: #1c1b18;
    --ink-soft: #55524a;
    --ink-faint: #8a867c;
    --paper: #faf9f5;
    --paper-deep: #f2f0e9;
    --rule: #c9c5b8;
    --rule-strong: #1c1b18;
    --accent: #8b2312; /* 报纸红：仅用于极少数强调 */
    --measure: 42rem;
    --serif: Georgia, "Times New Roman", "Noto Serif SC", "Source Han Serif SC", "Songti SC", "SimSun", serif;
    --sans: "Helvetica Neue", Arial, "Noto Sans SC", "PingFang SC", "Microsoft YaHei", sans-serif;
}

* { box-sizing: border-box; }

html { font-size: 100%; }

body {
    margin: 0;
    background: var(--paper);
    color: var(--ink);
    font-family: var(--serif);
    font-size: 1.0625rem;
    line-height: 1.75;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

a { color: var(--ink); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--accent); }

img { max-width: 100%; height: auto; }

.wrap { max-width: var(--measure); margin: 0 auto; padding: 0 1.25rem; }

.screen-reader-text {
    border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
    height: 1px; width: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute;
}

.skip-link {
    position: absolute; left: -9999px; top: 0; background: var(--ink); color: var(--paper);
    padding: .5rem 1rem; z-index: 99;
}
.skip-link:focus { left: 0; color: var(--paper); }

::selection { background: var(--ink); color: var(--paper); }

/* ============ 报头 Masthead ============ */

.masthead { padding: 2.75rem 0 0; text-align: center; }

.masthead .site-title {
    margin: 0;
    font-family: var(--serif);
    font-weight: 700;
    font-size: clamp(2.4rem, 7vw, 4rem);
    line-height: 1.1;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.masthead .site-title a { text-decoration: none; }

.masthead .site-tagline {
    margin: .5rem 0 0;
    font-size: .8125rem;
    font-style: italic;
    color: var(--ink-soft);
}

.dateline {
    display: flex; justify-content: space-between; align-items: baseline;
    margin: 1.5rem 0 0;
    padding: .35rem 0;
    border-top: 1px solid var(--rule-strong);
    border-bottom: 1px solid var(--rule);
    font-family: var(--sans);
    font-size: .6875rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--ink-soft);
}

.masthead-rule {
    border: none;
    border-top: 3px double var(--rule-strong);
    margin: 0;
}

/* ============ 导航 ============ */

.site-nav {
    text-align: center;
    padding: .8rem 0;
    border-bottom: 1px solid var(--rule-strong);
}

.site-nav ul { list-style: none; margin: 0; padding: 0; }

.site-nav li { display: inline-block; margin: 0; }

.site-nav li + li::before {
    content: "·";
    margin: 0 .75rem;
    color: var(--ink-faint);
}

.site-nav a {
    font-family: var(--sans);
    font-size: .75rem;
    letter-spacing: .18em;
    text-transform: uppercase;
    text-decoration: none;
    color: var(--ink);
}
.site-nav a:hover,
.site-nav .current-menu-item a,
.site-nav .current_page_item a { color: var(--accent); }

/* ============ 头版/列表 ============ */

.paper { padding: 2.5rem 0 3.5rem; }

.section-head {
    display: flex; align-items: baseline; justify-content: space-between;
    border-bottom: 3px double var(--rule-strong);
    padding-bottom: .4rem;
    margin-bottom: 1.75rem;
}

.section-head h1, .section-head h2 {
    margin: 0;
    font-size: 1.375rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .06em;
}

.section-head .section-count {
    font-family: var(--sans);
    font-size: .6875rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--ink-faint);
}

/* 头条（最新一篇） */
.lead-article { margin-bottom: 2.5rem; }

/* 栏目标签（首页头条与文章页共用） */
.entry-kicker {
    font-family: var(--sans);
    font-size: .6875rem;
    letter-spacing: .2em;
    text-transform: uppercase;
    color: var(--accent);
    margin: 0 0 .5rem;
}

.lead-article .entry-title {
    margin: 0 0 .5rem;
    font-size: clamp(1.6rem, 4vw, 2.2rem);
    line-height: 1.25;
    font-weight: 700;
}

.lead-article .entry-title a { text-decoration: none; }
.lead-article .entry-title a:hover { color: var(--accent); }

.lead-article .entry-summary {
    margin: 0 0 .6rem;
    color: var(--ink-soft);
    font-size: 1.0625rem;
}

.lead-article .entry-more a {
    font-family: var(--sans);
    font-size: .6875rem;
    letter-spacing: .15em;
    text-transform: uppercase;
    text-decoration: none;
    border-bottom: 1px solid var(--ink);
    padding-bottom: 1px;
}

/* 目录式列表：日期 | 标题 */
.digest { list-style: none; margin: 0; padding: 0; }

.digest li {
    display: flex; align-items: baseline; gap: 1rem;
    padding: .55rem 0;
    border-bottom: 1px solid var(--rule);
}

.digest time {
    flex: 0 0 5.2rem;
    font-family: var(--sans);
    font-size: .6875rem;
    letter-spacing: .08em;
    color: var(--ink-faint);
    white-space: nowrap;
}

.digest .digest-title { font-size: 1.0625rem; }

.digest .digest-title a { text-decoration: none; }
.digest .digest-title a:hover { color: var(--accent); }

.digest .digest-price {
    font-family: var(--sans);
    font-size: .75rem;
    color: var(--ink-soft);
    white-space: nowrap;
}

/* 分页 */
.pagination {
    display: flex; justify-content: space-between;
    margin-top: 2.25rem;
    padding-top: .8rem;
    border-top: 3px double var(--rule-strong);
    font-family: var(--sans);
    font-size: .6875rem;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.pagination a { text-decoration: none; color: var(--ink); }
.pagination a:hover { color: var(--accent); }
.pagination .pagenum { color: var(--ink-faint); }

/* ============ 文章页 ============ */

.entry-header { text-align: center; padding-bottom: 1.5rem; }

.entry-header .entry-title {
    margin: 0;
    font-size: clamp(1.7rem, 4.5vw, 2.4rem);
    line-height: 1.22;
    font-weight: 700;
}

.entry-byline {
    margin: 1rem 0 0;
    padding: .5rem 0;
    border-top: 1px solid var(--rule);
    border-bottom: 1px solid var(--rule);
    font-family: var(--sans);
    font-size: .6875rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--ink-soft);
}

.entry-byline .sep { margin: 0 .5rem; color: var(--ink-faint); }
.entry-byline .cats a, .entry-byline .author a { color: var(--ink-soft); text-decoration: none; }
.entry-byline .cats a:hover, .entry-byline .author a:hover { color: var(--accent); }

.entry-content {
    padding-top: 1.75rem;
    font-size: 1.0625rem;
    line-height: 1.8;
}

/* 首段首字下沉 —— 报纸质感 */
.entry-content > p:first-of-type::first-letter {
    float: left;
    font-size: 3.4em;
    line-height: .82;
    padding: .08em .12em 0 0;
    font-weight: 700;
    color: var(--ink);
}

.entry-content p { margin: 0 0 1.25rem; }

.entry-content h2, .entry-content h3, .entry-content h4 {
    font-weight: 700; line-height: 1.3; margin: 2rem 0 .8rem;
}
.entry-content h2 { font-size: 1.5rem; }
.entry-content h3 { font-size: 1.25rem; }

.entry-content blockquote {
    margin: 1.5rem 0;
    padding: .2rem 0 .2rem 1.25rem;
    border-left: 3px solid var(--rule-strong);
    font-style: italic;
    color: var(--ink-soft);
}

.entry-content hr {
    border: none;
    text-align: center;
    margin: 2rem auto;
    width: 5rem;
    border-top: 3px double var(--rule-strong);
}

.entry-content ul, .entry-content ol { padding-left: 1.5rem; }
.entry-content li { margin-bottom: .35rem; }

.entry-content code, .entry-content kbd {
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: .9em;
    background: var(--paper-deep);
    padding: .1em .35em;
}

.entry-content pre {
    background: var(--paper-deep);
    border: 1px solid var(--rule);
    padding: 1rem;
    overflow-x: auto;
    font-size: .875rem;
}

.entry-content table {
    width: 100%;
    border-collapse: collapse;
    font-size: .9375rem;
    margin: 1.5rem 0;
}
.entry-content th, .entry-content td {
    border: 1px solid var(--rule);
    padding: .4rem .6rem;
    text-align: left;
}
.entry-content thead th { border-bottom: 2px solid var(--rule-strong); }

/* 区块编辑器元素 */
.entry-content .wp-block-image { margin: 1.75rem 0; }
.entry-content .wp-block-image img { display: block; margin: 0 auto; }
.entry-content .wp-block-image figcaption,
.entry-content figcaption {
    margin-top: .5rem;
    text-align: center;
    font-family: var(--sans);
    font-size: .6875rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--ink-faint);
}
.alignleft { float: left; margin: .4rem 1.5rem .8rem 0; }
.alignright { float: right; margin: .4rem 0 .8rem 1.5rem; }
.aligncenter { display: block; margin: 0 auto; }
.alignwide { margin-left: -2rem; margin-right: -2rem; max-width: calc(100% + 4rem); }

/* PayPal Shop 购买区块融入版面 */
.pps-product-buy-section {
    margin: 2rem 0;
    padding: 1.25rem;
    border-top: 3px double var(--rule-strong);
    border-bottom: 1px solid var(--rule);
    text-align: center;
}
.pps-product-price-large {
    font-family: var(--serif);
    font-size: 1.5rem;
    font-weight: 700;
    margin: 0 0 .75rem;
}

/* 文末 */
.entry-footer {
    margin-top: 2.25rem;
    padding-top: .8rem;
    border-top: 1px solid var(--rule);
    font-family: var(--sans);
    font-size: .6875rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--ink-soft);
}
.entry-footer .tags a { text-decoration: none; color: var(--ink-soft); }
.entry-footer .tags a:hover { color: var(--accent); }

.post-nav {
    display: flex; justify-content: space-between; gap: 1rem;
    margin-top: 1.5rem; padding-top: .8rem;
    border-top: 3px double var(--rule-strong);
    font-family: var(--sans);
    font-size: .6875rem;
    letter-spacing: .12em;
    text-transform: uppercase;
}
.post-nav a { text-decoration: none; }
.post-nav a:hover { color: var(--accent); }
.post-nav .post-nav-next { margin-left: auto; text-align: right; }
.post-nav span { display: block; color: var(--ink-faint); margin-bottom: .2rem; }

/* ============ 页面 ============ */

.page .entry-header { padding-top: 1.5rem; }

/* ============ 评论 ============ */

.comments-area { margin-top: 3rem; }

.comments-title {
    font-size: 1.2rem;
    text-transform: uppercase;
    letter-spacing: .06em;
    border-bottom: 3px double var(--rule-strong);
    padding-bottom: .4rem;
}

.comment-list { list-style: none; margin: 0; padding: 0; }
.comment-list .comment, .comment-list .pingback {
    padding: 1rem 0;
    border-bottom: 1px solid var(--rule);
}
.comment-list .children { list-style: none; padding-left: 1.25rem; }
.comment-meta {
    font-family: var(--sans);
    font-size: .6875rem;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--ink-soft);
    margin-bottom: .4rem;
}
.comment-author img.avatar { display: none; }
.comment-content p { margin: 0 0 .6rem; }
.reply a { font-family: var(--sans); font-size: .6875rem; letter-spacing: .1em; text-transform: uppercase; }

.comment-form label {
    display: block;
    font-family: var(--sans);
    font-size: .6875rem;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--ink-soft);
    margin-bottom: .25rem;
}
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
    width: 100%;
    font-family: var(--serif);
    font-size: 1rem;
    padding: .5rem .6rem;
    background: var(--paper);
    border: 1px solid var(--rule-strong);
    border-radius: 0;
}
.comment-form input:focus, .comment-form textarea:focus {
    outline: none;
    border-color: var(--accent);
}
.comment-form .submit,
.button {
    font-family: var(--sans);
    font-size: .6875rem;
    letter-spacing: .15em;
    text-transform: uppercase;
    padding: .55rem 1.5rem;
    background: var(--ink);
    color: var(--paper);
    border: none;
    border-radius: 0;
    cursor: pointer;
}
.comment-form .submit:hover, .button:hover { background: var(--accent); }
.comment-notes, .logged-in-as { font-size: .8125rem; color: var(--ink-faint); font-style: italic; }

/* ============ 搜索 ============ */

.search-field {
    font-family: var(--serif);
    font-size: 1rem;
    padding: .45rem .6rem;
    width: 100%;
    max-width: 24rem;
    background: var(--paper);
    border: none;
    border-bottom: 2px solid var(--rule-strong);
}
.search-field:focus { outline: none; border-bottom-color: var(--accent); }
.search-submit {
    font-family: var(--sans);
    font-size: .6875rem;
    letter-spacing: .15em;
    text-transform: uppercase;
    background: none;
    border: 1px solid var(--rule-strong);
    border-radius: 0;
    padding: .5rem 1.25rem;
    cursor: pointer;
}
.search-submit:hover { background: var(--ink); color: var(--paper); }

.no-results .page-title, .error404 .page-title {
    font-size: 1.375rem;
    text-transform: uppercase;
    letter-spacing: .06em;
}
.no-results .page-content, .error404 .page-content { color: var(--ink-soft); }

/* ============ 页脚 ============ */

.site-footer {
    border-top: 3px double var(--rule-strong);
    padding: 1.5rem 0 2.5rem;
    text-align: center;
    font-family: var(--sans);
    font-size: .6875rem;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--ink-faint);
}

.site-footer .sep { margin: 0 .6rem; }
.site-footer a { color: var(--ink-soft); text-decoration: none; }
.site-footer a:hover { color: var(--accent); }

/* ============ 打印 —— 真正的报纸 ============ */

@media print {
    body { background: #fff; color: #000; font-size: 11pt; }
    .site-nav, .site-footer, .pagination, .post-nav, .comments-area, .entry-byline .print-hide { display: none; }
    .masthead { padding-top: 0; }
    a { color: #000; text-decoration: none; }
}
