/* 行前說明會手冊版面（A5，膠裝；2026-10-07）。
   尺寸用 mm：成品 148×210mm、不留出血（美工已避開膠裝側）。第四階段輸出 PDF 會沿用同一份樣式。
   配色與字型照現行手冊範本：米白底 #FFFBF0、墨色 #262B2E、金 #A89060、棕 #8A7560、暗紅 #9B3B35。 */
.hb-sheet { --hb-bg: #FFFBF0; --hb-ink: #262B2E; --hb-gold: #A89060; --hb-brown: #8A7560; --hb-red: #9B3B35; --hb-line: #D9D3C4;
  width: 148mm; height: 210mm; background: var(--hb-bg); color: var(--hb-ink); position: relative; overflow: hidden; flex: none;
  font-family: 'Noto Sans TC', 'PingFang TC', 'Microsoft JhengHei', sans-serif; font-size: 3.5mm; line-height: 1.55; box-sizing: border-box;
  box-shadow: 0 1px 8px rgba(0,0,0,.18); }
.hb-sheet * { box-sizing: border-box; }
.hb-serif { font-family: 'Noto Serif TC', 'Songti TC', serif; }
.hb-pages { display: flex; flex-wrap: wrap; gap: 14px; align-items: flex-start; }
.hb-cap { font-size: 12px; color: var(--text-soft, #777); margin: 0 0 4px; }

/* 封面（四種模板，hb-cv-arch／photo／mag／window；DOM 由 handbook.js 的 hbPageCover 產生，印刷封面檔沿用同一份） */
.hb-cover .hb-wm, .hb-cover .hb-wm-logo, .hb-cover .hb-label, .hb-cover .hb-dt, .hb-cover .hb-ttl { z-index: 2; }
.hb-cover .hb-wm { position: absolute; left: 9mm; top: 8mm; font: 400 12.5mm/1.05 'Cormorant SC', 'Noto Serif TC', serif; letter-spacing: 1.1mm; color: var(--hb-brown); width: 98mm; white-space: pre-line; }
.hb-cover .hb-wm-logo { position: absolute; left: 9mm; top: 9mm; height: 14mm; }
.hb-cover .hb-label { position: absolute; right: 9mm; top: 9mm; text-align: right; font: 400 3.4mm 'Cormorant SC', serif; letter-spacing: 1.2mm; color: var(--hb-gold); }
.hb-cover .hb-dt { position: absolute; left: 69mm; top: 44mm; }
/* 經典拱門：日期靠右，和主標、副標同一條右邊界（2026-10-09 Kenji：原本浮在頁面中間，和主標右緣、左邊字樣都對不齊） */
.hb-cv-arch .hb-dt { left: auto; right: 9mm; text-align: right; }
.hb-cv-arch .hb-year { margin-right: -1mm; } /* 抵銷字距在最後一個字後面多出來的空白，讓數字右緣和下面的日期切齊 */
.hb-cover .hb-year { font-size: 4.2mm; letter-spacing: 1mm; }
.hb-cover .hb-date { font: 600 11.7mm/1.1 'Noto Serif TC', serif; }
.hb-cover .hb-date small { font-size: 5.5mm; font-weight: 500; margin-left: 1mm; }
.hb-cover .hb-date2 { display: block; font-size: 6.5mm; margin-top: 1.5mm; }
.hb-cover .hb-ttl { position: absolute; left: 58mm; right: 9mm; top: 20mm; text-align: right; }
.hb-cover .hb-ttl .tt { font: 700 8mm/1.15 'Noto Serif TC', serif; }
.hb-cover .hb-ttl .sub { font: 500 3.4mm/1.4 'Noto Serif TC', serif; letter-spacing: .6mm; margin-top: 1mm; }
.hb-cover .hb-arch { position: absolute; left: -1mm; right: -1mm; top: 75mm; bottom: 0; border-radius: 80mm 80mm 0 0; overflow: hidden; border: .3mm solid var(--hb-gold); background: #cfd6dc center / cover no-repeat; }
.hb-cover .hb-arch::after { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.38), transparent 28%); }
.hb-cover .hb-code { position: absolute; left: 10mm; bottom: 9mm; z-index: 2; color: #fff; font: 600 2.6mm/1.6 'Noto Sans TC', sans-serif; letter-spacing: .5mm; }
.hb-cover .hb-brandlogo { position: absolute; right: 9mm; bottom: 8mm; z-index: 2; height: 11mm; }
.hb-cover .hb-brandlogo.dk { display: none; }

/* 模板二：全版相片（滿版照片，白字壓在底部漸層上，雜誌封面感） */
.hb-cv-photo .hb-arch { left: 0; right: 0; top: 0; bottom: 0; border: 0; border-radius: 0; }
.hb-cv-photo .hb-arch::after { background: linear-gradient(to bottom, rgba(10,12,16,.55), transparent 24%), linear-gradient(to top, rgba(10,12,16,.86), rgba(10,12,16,.3) 42%, transparent 64%); }
.hb-cv-photo .hb-wm { left: 10mm; top: 11mm; width: auto; white-space: nowrap; font-size: 8.5mm; letter-spacing: 1.6mm; color: #fff; text-shadow: 0 .2mm 2mm rgba(0,0,0,.35); }
.hb-cv-photo .hb-label { right: 10mm; top: 12mm; color: rgba(255,255,255,.88); }
.hb-cv-photo .hb-ttl { left: 10mm; right: 10mm; top: auto; bottom: 41mm; text-align: left; color: #fff; }
.hb-cv-photo .hb-ttl .tt { line-height: 1.12; text-shadow: 0 .3mm 3mm rgba(0,0,0,.4); }
.hb-cv-photo .hb-ttl .sub { color: #E9DBB4; margin-top: 2.5mm; font-size: 3.8mm; letter-spacing: 1.2mm; }
.hb-cv-photo .hb-dt { left: 10mm; right: 10mm; top: auto; bottom: 22mm; color: #fff; }
.hb-cv-photo .hb-dt::before { content: ''; display: block; width: 16mm; height: .45mm; background: #D6BE86; margin-bottom: 3.2mm; }
.hb-cv-photo .hb-year { display: inline-block; font-size: 3.8mm; margin-right: 4mm; opacity: .9; }
.hb-cv-photo .hb-date { display: inline; font-size: 7.4mm; }
.hb-cv-photo .hb-date small { font-size: 3.4mm; }
.hb-cv-photo .hb-date2 { display: inline; margin: 0 0 0 4mm; font-size: 7.4mm; }
.hb-cv-photo .hb-code { color: rgba(255,255,255,.88); }

/* 模板三：雜誌上圖下文（上半滿版照片，下半米白底大標題，金線分隔） */
.hb-cv-mag .hb-arch { left: 0; right: 0; top: 0; bottom: auto; height: 124mm; border: 0; border-radius: 0; }
.hb-cv-mag .hb-arch::after { background: linear-gradient(to bottom, rgba(10,12,16,.55), transparent 32%); }
.hb-cv-mag .hb-wm { left: 10mm; top: 10mm; width: auto; white-space: nowrap; font-size: 8mm; letter-spacing: 1.5mm; color: #fff; text-shadow: 0 .2mm 2mm rgba(0,0,0,.35); }
.hb-cv-mag .hb-label { right: 10mm; top: 11mm; color: rgba(255,255,255,.9); }
.hb-cv-mag .hb-ttl { left: 10mm; right: 10mm; top: 133mm; text-align: left; }
.hb-cv-mag .hb-ttl .tt { line-height: 1.14; color: var(--hb-ink); }
.hb-cv-mag .hb-ttl .sub { color: var(--hb-gold); margin-top: 2mm; font-size: 3.8mm; letter-spacing: 1.2mm; }
.hb-cv-mag .hb-dt { left: 10mm; right: 10mm; top: 176mm; border-top: .35mm solid var(--hb-gold); padding-top: 3mm; color: var(--hb-ink); }
.hb-cv-mag .hb-year { display: inline-block; font-size: 3.8mm; margin-right: 4mm; color: var(--hb-brown); }
.hb-cv-mag .hb-date { display: inline; font-size: 7.4mm; }
.hb-cv-mag .hb-date small { font-size: 3.4mm; }
.hb-cv-mag .hb-date2 { display: inline; margin: 0 0 0 4mm; font-size: 7.4mm; }
.hb-cv-mag .hb-code { color: var(--hb-brown); }
.hb-cv-mag .hb-brandlogo.wh, .hb-cv-window .hb-brandlogo.wh { display: none; }
.hb-cv-mag .hb-brandlogo.dk, .hb-cv-window .hb-brandlogo.dk { display: block; height: 9mm; }

/* 模板四：簡約窗景（滿版留白，置中構圖，照片像一扇雙層金框的窗） */
.hb-cv-window .hb-wm { left: 0; right: 0; top: 11mm; width: auto; text-align: center; white-space: nowrap; font-size: 6.2mm; letter-spacing: 1.9mm; }
.hb-cv-window .hb-label { left: 0; right: 0; top: 20mm; text-align: center; font-size: 3mm; }
.hb-cv-window .hb-ttl { left: 14mm; right: 14mm; top: 30mm; text-align: center; }
.hb-cv-window .hb-ttl .tt { line-height: 1.16; color: var(--hb-ink); }
.hb-cv-window .hb-ttl .sub { color: var(--hb-gold); margin-top: 2mm; font-size: 3.6mm; letter-spacing: .8mm; }
.hb-cv-window .hb-arch { left: 26mm; right: 26mm; top: 66mm; bottom: 54mm; border: 0; border-radius: 1mm; overflow: visible; box-shadow: 0 0 0 2mm var(--hb-bg), 0 0 0 2.4mm var(--hb-gold); }
.hb-cv-window .hb-arch::after { display: none; }
.hb-cv-window .hb-dt { left: 0; right: 0; top: auto; bottom: 28mm; text-align: center; }
.hb-cv-window .hb-year { display: block; font-size: 3.6mm; letter-spacing: 1.6mm; color: var(--hb-brown); margin-bottom: 1mm; }
.hb-cv-window .hb-date { display: block; font-size: 8.6mm; }
.hb-cv-window .hb-date small { font-size: 3.6mm; }
.hb-cv-window .hb-date2 { display: inline; margin: 0 0 0 4mm; font-size: 8.6mm; }
.hb-cv-window .hb-code { color: var(--hb-brown); }

/* 內頁共用 */
.hb-inner { padding: 10mm 12mm 14mm 12mm; }
/* 內頁背景版型（內建，不開放上傳）：依手冊的 inner_bg 掛在 .hb-pages／#hbPrintRoot 的 data-inner-bg。
   每個版型＝一層米白半透明保底（確保文字、表格清楚）＋背景圖。新增版型照下面格式加一段，並到 handbook.js HB_INNER_BGS、server INNER_BGS 加代號：
   [data-inner-bg="x"] .hb-inner:not(.hb-measure) { background: linear-gradient(rgba(255,251,240,.35), rgba(255,251,240,.35)), url('/images/handbook/bg/x.jpg') center / 100% 100% no-repeat, var(--hb-bg); }
   注意：列印時要靠 print-color-adjust: exact（hbPrint 的樣式已設）才會印出背景。 */
[data-inner-bg="plane"] .hb-inner:not(.hb-measure) { background: linear-gradient(rgba(255,251,240,.30), rgba(255,251,240,.30)), url('/images/handbook/bg/plane.jpg') center / 100% 100% no-repeat, var(--hb-bg); }
[data-inner-bg="pressed"] .hb-inner:not(.hb-measure) { background: linear-gradient(rgba(255,251,240,.25), rgba(255,251,240,.25)), url('/images/handbook/bg/pressed.jpg') center / 100% 100% no-repeat, var(--hb-bg); }
[data-inner-bg="compass"] .hb-inner:not(.hb-measure) { background: linear-gradient(rgba(255,251,240,.20), rgba(255,251,240,.20)), url('/images/handbook/bg/compass.jpg') center / 100% 100% no-repeat, var(--hb-bg); }
.hb-pageno { position: absolute; bottom: 6mm; right: 10mm; font-size: 3mm; color: var(--hb-gold); }
.hb-bar { background: var(--hb-ink); color: #fff; text-align: center; font-weight: 700; letter-spacing: 1.4mm; padding: 2mm 0; font-size: 4mm; }
.hb-h { border-left: 1.4mm solid var(--hb-gold); padding-left: 3mm; font-weight: 700; font-size: 5mm; letter-spacing: .4mm; margin-bottom: 6mm; line-height: 1.2; }
.hb-rule { border: 0; border-top: .3mm solid #b9b5ab; margin: 4mm 0; }
.hb-kv { display: grid; grid-template-columns: 17mm 1fr; gap: 1.2mm 3mm; margin: 3mm 0; font-size: 3.6mm; }
.hb-kv .k { color: var(--hb-gold); font-weight: 700; letter-spacing: .5mm; grid-row: span 3; font-size: 3.7mm; }
.hb-kv .row { display: grid; grid-template-columns: 9mm 1fr; }
.hb-kv .row b { font-weight: 500; }
.hb-red { color: var(--hb-red); }
.hb-code-line { color: var(--hb-gold); font: 400 3.2mm 'Noto Sans TC', monospace; letter-spacing: .3mm; margin: 4mm 0 1mm; }
.hb-title-line { font: 500 4.4mm/1.45 'Noto Serif TC', serif; margin-bottom: 2mm; }

/* 航班票卡 */
.hb-ticket { border: .3mm solid var(--hb-line); background: #fff; padding: 3.5mm 4mm; margin: 3mm 0; position: relative; }
.hb-ticket .hb-dash { border-top: .3mm dashed var(--hb-line); margin: 3mm -4mm; position: relative; }
.hb-ticket h4 { margin: 0 0 1.5mm; font-size: 3.8mm; letter-spacing: .6mm; color: var(--hb-brown); }
.hb-tk-row { display: grid; grid-template-columns: 1fr 1fr 1fr; font-size: 3mm; color: #777; }
.hb-tk-val { display: grid; grid-template-columns: 1fr 1fr 1fr; font-weight: 700; font-size: 3.5mm; margin-bottom: 1.5mm; font-family: ui-monospace, 'SF Mono', Menlo, monospace; }
.hb-tk-sub { font-size: 2.7mm; line-height: 1.5; }
.hb-note { font-size: 2.9mm; color: #555; text-align: right; }

/* 班機資訊 */
.hb-table { width: 100%; border-collapse: collapse; font-size: 3.5mm; }
.hb-table th { background: var(--hb-ink); color: #fff; text-align: left; padding: 1.6mm 2.4mm; font-weight: 500; }
.hb-table td { padding: 2mm 2.4mm; border: 0; border-bottom: .25mm solid #e1ded4; background: #fff; text-align: left; }
.hb-table th { border: 0; }

/* 飯店 */
.hb-hotels { display: grid; grid-template-columns: 1fr 1fr; gap: 0 7mm; }
.hb-hotel { padding: 3mm 0 4.5mm; border-bottom: .25mm solid var(--hb-line); }
.hb-hotel .d { font: italic 500 5.2mm 'Noto Serif TC', serif; color: var(--hb-gold); margin-bottom: 1.5mm; }
.hb-hotel .n { font-weight: 800; font-size: 3.7mm; line-height: 1.35; }
.hb-hotel .n small { color: var(--hb-brown); font-weight: 600; font-size: 3.3mm; }
.hb-hotel .a, .hb-hotel .t { color: #444; font-size: 3.1mm; line-height: 1.5; margin-top: 1mm; }
.hb-hotel.todo .n { color: #999; }

.hb-mappage .hb-mapbox { position: absolute; left: 12mm; right: 12mm; top: 24mm; bottom: 16mm; display: flex; align-items: center; justify-content: center; }
.hb-mappage .hb-mapbox img { max-width: 100%; max-height: 100%; object-fit: contain; }

/* 封底 */
.hb-back .hb-bk-top { position: absolute; left: 10mm; right: 10mm; top: 10mm; display: flex; align-items: center; gap: 4mm; }
.hb-back .hb-bk-top b { font: 600 7mm 'Noto Serif TC', serif; white-space: nowrap; }
.hb-back .hb-bk-top i { flex: 1; border-top: .3mm solid var(--hb-ink); }
.hb-back .hb-bk-top span { font-size: 2.7mm; letter-spacing: .3mm; }
.hb-back .hb-bk-logo { position: absolute; left: 0; right: 0; top: 48mm; text-align: center; }
.hb-back .hb-bk-logo img { height: 18mm; }
.hb-back .hb-bk-qr { position: absolute; left: 0; right: 0; top: 86mm; text-align: center; font-size: 3.2mm; }
.hb-back .hb-bk-qr img { width: 28mm; height: 28mm; display: block; margin: 2mm auto; padding: 2mm; background: #fff; border: .25mm solid var(--hb-line); }
.hb-back .hb-bk-qr small { display: block; color: #666; font-size: 2.7mm; letter-spacing: .3mm; }
.hb-back .hb-bk-co { position: absolute; left: 10mm; right: 10mm; top: 150mm; }
.hb-back .hb-bk-co .nm { display: flex; justify-content: space-between; align-items: baseline; font: 600 5mm 'Noto Serif TC', serif; border-bottom: .3mm solid var(--hb-ink); padding-bottom: 3mm; }
.hb-back .hb-bk-co .nm small { font-size: 3mm; font-weight: 400; }
.hb-back .hb-bk-co .cols { display: grid; grid-template-columns: 1.35fr 1fr; margin-top: 4mm; }
.hb-back .hb-bk-co .cols > div:first-child { border-right: .3mm solid var(--hb-ink); padding-right: 4mm; }
.hb-back .hb-bk-co .cols > div:last-child { padding-left: 4mm; }
.hb-back .hb-bk-co h5 { margin: 0; font: 600 4.4mm 'Noto Serif TC', serif; }
.hb-back .hb-bk-co p { margin: 1mm 0 0; font-size: 2.8mm; color: #444; }
.hb-back .hb-bk-co .v { font: 400 3.3mm/1.45 'Noto Serif TC', serif; margin-top: 3mm; color: var(--hb-ink); }

/* 管理畫面（預覽頁外框，不是手冊本身） */
.hb-warn { background: #fff7e6; border: 1px solid #f0d9a8; border-radius: 6px; padding: 8px 12px; margin: 10px 0; font-size: 13px; }
.hb-warn ul { margin: 4px 0 0 18px; padding: 0; }
.hb-flt-row { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 6px; padding: 8px; border: 1px solid var(--border, #ddd); border-radius: 6px; margin-bottom: 8px; }
.hb-flt-row label { font-size: 11px; color: var(--text-soft, #777); display: flex; flex-direction: column; gap: 2px; }
.hb-flt-row input { width: 100%; }
@media (max-width: 720px) { .hb-flt-row { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* 列印規則見 public/js/handbook.js 的 hbPrint()（送印檔分封面檔與內頁檔輸出） */

/* 每日頁 */
.hb-day { height: 100%; display: flex; flex-direction: column; }
.hb-dayhead { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 4mm; }
.hb-dayhead .dn { font: italic 500 10mm/1 'Noto Serif TC', serif; }
.hb-dayhead .dd { font: 400 3.4mm ui-monospace, 'SF Mono', Menlo, monospace; color: #8c8c8c; letter-spacing: .4mm; }
.hb-route { font-weight: 700; font-size: 4.1mm; line-height: 1.5; margin-bottom: 2.5mm; }
.hb-special { font-size: 3.3mm; margin-bottom: 3mm; }
.hb-night { font-size: 3.3mm; margin-bottom: 3mm; color: var(--hb-brown); }
.hb-night span { font-size: 2.6mm; letter-spacing: .5mm; color: var(--hb-gold); margin-right: 2mm; }
.hb-spotimg { width: 100%; height: 66mm; flex: none; object-fit: cover; display: block; margin: 1mm 0 3mm; background: #e8e3d5; }
.hb-spot { margin-bottom: 4mm; }
.hb-spot-t { font-size: 6mm; color: var(--hb-brown); margin-bottom: 2.5mm; line-height: 1.3; }
.hb-spot-p { font-size: 3.5mm; line-height: 1.95; text-align: justify; }
.hb-meals { margin-top: auto; border: .3mm solid var(--hb-line); background: #fff; padding: 3.5mm 5mm; font-size: 3.6mm; line-height: 1.9; }
.hb-meals b { display: block; color: var(--hb-gold); margin-bottom: 1mm; font-size: 3.4mm; }
.hb-meals b span { font: 400 3.2mm ui-monospace, monospace; margin-left: 1mm; }
.hb-daypage.hb-over { outline: 2px solid #c0392b; outline-offset: -2px; }
.hb-cap button { margin-left: 6px; padding: 1px 8px; font-size: 11px; }
.hb-spot-row { border: 1px solid var(--border, #ddd); border-radius: 6px; padding: 8px; margin-bottom: 8px; display: grid; gap: 6px; }
.hb-spot-row label { display: flex; flex-direction: column; gap: 2px; font-size: 12px; color: var(--text-soft, #777); }
.hb-spot-bar { display: flex; justify-content: space-between; align-items: center; }

/* 公版注意事項（自動分頁） */
.hb-measure { position: fixed; left: -10000px; top: 0; height: auto; overflow: visible; box-shadow: none; visibility: hidden; }
.hb-ncol { display: flow-root; }
.hb-n-chapter { text-align: center; font-weight: 700; font-size: 5.6mm; letter-spacing: 1.4mm; margin: 1mm 0 6mm; }
.hb-n-chapter span { margin: 0 1mm; }
.hb-n-section { font-weight: 800; font-size: 4mm; border-bottom: .3mm solid #888; padding: 0 0 1.6mm; margin: 5mm 0 3.5mm; display: flex; align-items: center; gap: 2mm; }
.hb-n-section i { width: 2.6mm; height: 2.6mm; background: #7b7d85; display: inline-block; flex: none; }
.hb-n-para { font-size: 3.4mm; line-height: 1.85; margin: 0 0 2.4mm; text-align: justify; }
.hb-n-item { display: grid; grid-template-columns: 8mm 1fr; font-size: 3.4mm; line-height: 1.85; margin: 0 0 2.6mm; }
.hb-n-item.in { margin-left: 7mm; }
.hb-n-item .mk { font-weight: 700; color: #6d6d6d; }
.hb-n-item.star .mk { color: var(--hb-gold); font-size: 4.2mm; line-height: 1.5; }
.hb-n-item div { text-align: justify; }
.hb-n-item b, .hb-n-para b { font-weight: 800; }
.hb-redb { color: var(--hb-red); font-weight: 800; }

.hb-measure .hb-day { height: auto; }
.hb-measure .hb-meals { margin-top: 4mm; }
.hb-spot.h { display: grid; grid-template-columns: 46mm 1fr; gap: 4mm; align-items: start; margin-bottom: 4.5mm; }
.hb-spot.h .hb-spotimg { width: 46mm; margin: 0; }
.hb-spot.h .hb-spot-t { font-size: 4.6mm; margin-bottom: 1.5mm; }
.hb-spot.h .hb-spot-p { font-size: 3.2mm; line-height: 1.75; }
.hb-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4mm 5mm; align-items: start; margin-bottom: 4mm; }
.hb-spot.g { margin: 0; }
.hb-spot.g .hb-spotimg { margin: 0 0 2mm; }
.hb-spot.g .hb-spot-t { font-size: 4.2mm; margin-bottom: 1.2mm; }
.hb-spot.g .hb-spot-p { font-size: 2.95mm; line-height: 1.65; }
.hb-pgctl { display: inline-flex; gap: 4px; align-items: center; flex-wrap: wrap; margin-left: 6px; }
.hb-pgctl select { width: auto; font-size: 11px; padding: 1px 4px; }
.hb-pgctl button { padding: 1px 8px; font-size: 11px; margin: 0; }

/* 公版標記：小標、方格清單、表格、提示框、圖片 */
.hb-n-sub { font-weight: 800; font-size: 3.8mm; margin: 4mm 0 2mm; }
.hb-n-checks { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2.2mm 2mm; margin: 0 0 4mm; font-size: 3.2mm; }
.hb-n-checks span { display: flex; align-items: center; gap: 1.6mm; line-height: 1.35; }
.hb-n-checks i { width: 3.4mm; height: 3.4mm; border: .35mm solid #555; border-radius: .6mm; flex: none; display: inline-block; }
.hb-n-table { width: 100%; border-collapse: separate; border-spacing: 0; margin: 2mm 0 4mm; font-size: 3.3mm; border: .3mm solid #ddd; border-radius: 2mm; overflow: hidden; }
.hb-n-table th, .hb-n-table td { padding: 2.2mm 3mm; text-align: left; border-bottom: .25mm solid #e5e1d6; }
.hb-n-table thead th { background: #1c1d22; color: #fff; font-weight: 700; }
.hb-n-table tbody th { background: #f6f3ea; font-weight: 700; width: 32%; }
.hb-n-table tbody tr:last-child th, .hb-n-table tbody tr:last-child td { border-bottom: 0; }
.hb-n-box { background: #f6f1e6; border: .3mm solid #ddd3bd; border-radius: 2mm; padding: 3.2mm 4mm; margin: 0 0 4mm; font-size: 3.4mm; line-height: 1.8; }
.hb-n-img { margin: 0 0 4mm; text-align: center; }
.hb-n-img img { max-width: 100%; max-height: 90mm; }

/* 手冊頁首按鈕多（封面模板、版型、輸出…），空間不夠時換行，按鈕文字不折成直排 */
.tops-head-actions { flex-wrap: wrap; justify-content: flex-end; }
.tops-head-actions button, .tops-head-actions select { white-space: nowrap; }
