/* 各頁細修（2026-09-30 全站改版）
   用 body[data-page] 分頁；只補各頁 <style> 在新風格下不協調的地方。 */

/* ── 書本頁首：書封與正文對齊，不要飄到最左邊 ── */
[data-page="start"] .book-head .wrap, [data-page="原始碼"] .book-hero .wrap { max-width: calc(1080px + var(--gutter) * 2); }
[data-page="start"] .book-head { padding: clamp(56px, 9vh, 110px) 0 clamp(24px, 4vh, 48px); }
[data-page="start"] .book-head .h-page { font-size: clamp(40px, 6vw, 84px); }

/* 平面書封改立體後，拿掉原本的裁切與陰影 */
.book-spine { overflow: visible !important; aspect-ratio: auto !important; box-shadow: none !important; border-radius: 0 !important; background: none !important; }

/* ── 《原始碼》書介 ── */
[data-page="原始碼"] .book-hero { padding: clamp(56px, 9vh, 110px) 0 clamp(40px, 6vh, 72px); }
[data-page="原始碼"] .book-cover { grid-template-columns: clamp(190px, 21vw, 290px) minmax(0, 1fr); gap: clamp(36px, 6vw, 96px); }
[data-page="原始碼"] .book-info h1 { font-weight: 900; font-size: clamp(56px, 8vw, 120px); line-height: 1.02; letter-spacing: -.04em; }
[data-page="原始碼"] .book-info .sub { font-family: var(--display); font-size: clamp(19px, 2vw, 26px); color: var(--ink-2); }
[data-page="原始碼"] .byline { font-family: var(--mono); font-size: 12px; letter-spacing: .04em; margin-top: 10px; }
[data-page="原始碼"] .book-stats { font-family: var(--mono); font-size: 12px; letter-spacing: .04em; gap: 8px 22px; }
[data-page="原始碼"] .book-stat span { font-family: var(--num); font-size: 22px; font-weight: 400; font-style: italic; color: var(--accent); }
[data-page="原始碼"] .cover-note { font-family: var(--mono); font-size: 12px; }
[data-page="原始碼"] .book-intro .lead { font-family: var(--display); font-size: clamp(20px, 2vw, 26px); line-height: 1.7; }
.ch-num { font-family: var(--num) !important; font-style: italic; font-weight: 300 !important; font-size: 34px !important; line-height: 1; width: 48px !important; }
.ch-t { font-family: var(--display); font-weight: 900 !important; font-size: 20px !important; }
.chapter-list { border-top: 1px solid var(--ink) !important; }
[data-page="原始碼"] .cta-main .h-section { font-size: clamp(40px, 6vw, 88px); }
.notify-book { display: flex; justify-content: center; margin: 0 0 24px; }
.notify-book .bk { width: 96px; }
@media (max-width: 734px) {
  [data-page="原始碼"] .book-cover { grid-template-columns: 1fr; justify-items: start; text-align: left; }
  [data-page="原始碼"] .book-spine { width: 170px; }
  [data-page="原始碼"] .book-stats { justify-content: flex-start; }
}

/* ── 讀本：挑一篇的三張卡改成索引卡 ── */
[data-page="start"] .reading-start { border-block: 0; padding-block: 8px; }
[data-page="start"] .reading-options { gap: 16px; }
[data-page="start"] .reading-options a { position: relative; background: var(--card); border: 0; border-radius: var(--radius); box-shadow: var(--shadow); padding: 22px 22px 20px; transition: transform .6s var(--ease), box-shadow .6s var(--ease); }
[data-page="start"] .reading-options a::before { content: ""; position: absolute; left: 22px; right: 22px; top: 0; height: 1.5px; background: var(--accent); transform: scaleX(.2); transform-origin: left; transition: transform .7s var(--ease); }
[data-page="start"] .reading-options a:hover { transform: translateY(-6px); box-shadow: var(--shadow-hover); text-decoration: none; }
[data-page="start"] .reading-options a:hover::before { transform: scaleX(1); }
[data-page="start"] .reading-options strong { font-family: var(--display); font-weight: 900; font-size: 22px; }
[data-page="start"] .reading-options .reading-action { font-weight: 600; }
[data-page="start"] .reader-next { background: var(--card); border-left: 2px solid var(--accent); box-shadow: var(--shadow); }
[data-page="start"] .book h3 { border-top-color: var(--line); }

/* ── 閱讀目錄：五組做成書架，跟首頁同一套 ── */
[data-page="series"] .catalog-head h1 { font-size: clamp(40px, 6.4vw, 96px); }
[data-page="series"] .categories { gap: 0; border-top: 1px solid var(--ink); }
[data-page="series"] .categories a { background: none; border-radius: 0; padding: 20px 20px 24px 0; font-family: var(--display); font-weight: 900; font-size: 17px; }
[data-page="series"] .categories a + a { padding-left: 20px; border-left: 1px solid var(--line); }
[data-page="series"] .categories a:hover { background: none; transform: none; color: var(--accent); text-decoration: none; }
[data-page="series"] .categories span { font-family: var(--num); font-style: italic; font-weight: 300; font-size: 44px; line-height: 1; margin-bottom: 8px; }
@media (max-width: 1000px) { [data-page="series"] .categories a + a { border-left: 0; padding-left: 0; } [data-page="series"] .categories a { border-bottom: 1px solid var(--line); } }
[data-page="series"] #search-box label { font-family: var(--mono); font-size: 12px; font-weight: 400; color: var(--muted); letter-spacing: .04em; }
[data-page="series"] .search { height: auto; background: none; border: 0; border-bottom: 1px solid var(--ink); border-radius: 0; padding: 14px 0; font-family: var(--display); font-size: clamp(19px, 2vw, 24px); }
[data-page="series"] .search:focus { background: none; box-shadow: none; border-color: var(--accent); }
[data-page="series"] .groups { gap: 0; border-top: 1px solid var(--ink); }
[data-page="series"] .group { background: none; border-radius: 0; border-bottom: 1px solid var(--line); }
[data-page="series"] .group[open] { background: var(--card); box-shadow: 0 0 0 100vmax var(--card); clip-path: inset(0 -100vmax); }
[data-page="series"] .group > summary { padding: clamp(20px, 3vh, 30px) 0; }
[data-page="series"] .group > summary::after { width: 44px; height: 44px; background-color: transparent; box-shadow: inset 0 0 0 1px var(--line); }
[data-page="series"] .group .num { font-family: var(--num); font-style: italic; font-weight: 300; font-size: clamp(36px, 4.4vw, 64px); line-height: .9; width: clamp(60px, 8vw, 110px); }
[data-page="series"] .group h2 { font-family: var(--display); font-weight: 900; font-size: clamp(20px, 2.2vw, 30px); }
[data-page="series"] .group .count { font-family: var(--mono); font-size: 12px; }
[data-page="series"] .question { margin-left: calc(clamp(60px, 8vw, 110px) + 16px); font-family: var(--display); }
[data-page="series"] .episodes { padding-left: calc(clamp(60px, 8vw, 110px) + 16px); padding-right: 0; }
[data-page="series"] .episodes strong { font-family: var(--display); font-weight: 900; }
[data-page="series"] .mini-cta { background: var(--night); color: var(--night-ink); border-radius: var(--radius); padding: clamp(28px, 4vw, 44px); }
[data-page="series"] .mini-cta p { font-family: var(--display); font-size: clamp(18px, 1.8vw, 22px); }
[data-page="series"] .mini-cta .btn-primary { background: var(--night-ink); color: var(--night); }
[data-page="series"] .group-more > summary { padding-left: 0; }
@media (max-width: 734px) {
  [data-page="series"] .question { margin-left: 0; margin-right: 0; }
  [data-page="series"] .episodes { padding-left: 0; }
}

/* ── 宇宙史：左書右文 ── */
[data-page="universe"] .book.book-feature { max-width: 980px; margin-inline: auto; text-align: left; }
[data-page="universe"] .book.book-feature .lead { margin-inline: 0; }
[data-page="universe"] .book.book-feature .btn-row { justify-content: flex-start; }
[data-page="universe"] .book.book-feature .h-section { font-size: clamp(44px, 6vw, 88px); }
[data-page="universe"] .ep-num { font-family: var(--num); font-style: italic; font-weight: 300; }

/* ── 電子報：期數用斜體大數字、上下封做成卡片 ── */
[data-page^="letter"] .row .no { font-family: var(--num); font-style: italic; font-weight: 300; font-size: 30px; line-height: 1; }
[data-page^="letter"] .row .t { font-family: var(--display); font-weight: 900; font-size: 20px; }
[data-page^="letter"] .row .d { font-family: var(--mono); font-size: 12px; letter-spacing: .03em; }
[data-page^="letter"] .row { transition: padding .5s var(--ease); }
[data-page^="letter"] a.row:hover { padding-left: 12px; }
[data-page="letter"] .letter-head { padding-top: clamp(56px, 9vh, 110px); }
[data-page="letter"] .letter-head .h-page { font-size: clamp(38px, 5.6vw, 76px); }
[data-page="letter"] .letter-meta { font-family: var(--mono); font-size: 12px; letter-spacing: .04em; color: var(--accent); }
[data-page="letter"] .pager a { background: var(--card); border-radius: var(--radius); box-shadow: var(--shadow); font-family: var(--display); font-weight: 900; font-size: 19px; padding: 22px 24px; }
[data-page="letter"] .pager a:hover { box-shadow: var(--shadow-hover); transform: translateY(-4px); }
[data-page="letter"] .pager a span { font-family: var(--mono); font-weight: 400; font-size: 12px; letter-spacing: .04em; }
[data-page="letters"] .letter-head .h-page { font-size: clamp(56px, 9vw, 140px); line-height: 1; }

/* ── 未公開書稿：書封放大 ── */
[data-page="reader"] .book-cover { background: var(--card) !important; box-shadow: var(--shadow); border-radius: var(--radius) !important; }
[data-page="reader"] .book-spine { width: 120px !important; flex: none; }
[data-page="reader"] .chapter-label { font-family: var(--mono); font-weight: 400; letter-spacing: .06em; }

/* ── 作品集、跨域示例：小數字與標籤 ── */
[data-page="work"] .stat-num { font-family: var(--num); font-weight: 400; }
[data-page="cases"] .case-chapter { font-family: var(--mono); letter-spacing: .04em; }
[data-page="cases"] .case-quote { border-radius: 0; border-left: 2px solid var(--accent); }

/* ── Podcast：集數縮圖 ── */
[data-page="podcast"] .ep-card::before { z-index: 2; }
[data-page="podcast"] .ep-thumb { border-radius: 0; }
[data-page="podcast"] .ep-thumb img { transition: transform 1s var(--ease); }
[data-page="podcast"] .ep-card:hover .ep-thumb img { transform: scale(1.04); }
[data-page="podcast"] .page-head .h-hero { font-size: clamp(52px, 9vw, 140px); }
@media (max-width: 560px) {
  [data-page="series"] .categories a { align-items: center; gap: 16px; padding: 14px 0; font-size: 16px; }
  [data-page="series"] .categories span { font-size: 30px; width: 44px; flex: none; margin: 0; }
}

/* ── PostForge 手機版（2026-09-30 手機版檢查）：編輯介面的字最小 12px、按鈕與色塊至少 40px；預覽中的卡片內容不動 ── */
@media (max-width: 768px) {
  [data-page="postforge"] .panel :is(label, .hint, .char-count, .size-btn, .upload-sm, .btn-sm, .tb-lbl, [id$="Val"], .pn-btn, summary, .field div, .field span),
  [data-page="postforge"] .panel > div:not(.style-grid),
  [data-page="postforge"] .style-btn .name, [data-page="postforge"] .mob-btn span, [data-page="postforge"] .zoom-badge, [data-page="postforge"] .panel h1 span { font-size: 12px !important; }
  [data-page="postforge"] .panel :is(.btn-sm, .pn-btn, summary, select, .size-btn) { min-height: 40px !important; }
  [data-page="postforge"] .pn-btn { min-width: 40px !important; }
  [data-page="postforge"] .panel input[type="color"] { width: 40px !important; height: 40px !important; }
  [data-page="postforge"] .panel input[type="checkbox"] { width: 22px !important; height: 22px !important; }
  [data-page="postforge"] .panel input[type="number"] { min-height: 40px !important; font-size: 16px !important; }
  [data-page="postforge"] .mobile-el-toolbar .tb { width: 40px !important; height: 40px !important; }
  [data-page="postforge"] .mob-btn { min-height: 48px !important; }
  /* 面板裡其餘最底層的小字（品牌色標籤、空狀態、署名）一律 12px；表情符號圖示不動 */
  [data-page="postforge"] .panel :is(span, div, a, small, p):not(.icon):not(:has(*)) { font-size: 12px !important; }
  [data-page="postforge"] .panel input[type="range"] { min-height: 32px !important; }
  [data-page="postforge"] .panel a { display: inline-flex; align-items: center; min-height: 40px; }
  [data-page="postforge"] .page-dot { font-size: 12px !important; }
}
