/* ============================================================
 * 黄泉戸村役場：その後の記録（pages/after/）共通スタイル
 * archive.css の上に重ねる。画像は使わず、紙面と端末の体裁だけで作る。
 * ============================================================ */

/* ---- 目録・共通 ---- */
.af-notice { border:1px solid #9aa3ad; background:#f1f3f5; padding:16px 18px; font-size:13px; line-height:1.9; color:#3f4a55; margin:18px 0; }
.af-notice strong { color:#2a3440; }
.af-notice small { display:block; margin-top:6px; font-size:11px; color:#667380; }
.af-index-table td, .af-index-table th { overflow-wrap:anywhere; }
.af-index-table a { font-weight:bold; color:#2a3a4a; text-decoration:none; }
.af-index-table a:hover { color:#8b1a1a; text-decoration:underline; }
.af-index-table small { display:block; font-weight:normal; color:#667380; margin-top:3px; }
.af-dash { color:#8b1a1a; font-weight:bold; }
.af-footnote { font-size:11px; line-height:1.9; color:#76695a; margin:8px 0 0; }
.af-hand { margin:20px 4px 0 auto; max-width:500px; color:#8b1a1a; font-size:12px; font-style:italic; line-height:1.9; transform:rotate(.5deg); border-bottom:1px dashed #b77a70; padding-bottom:7px; }

/* ---- 調査報告書（AF-001） ---- */
.af-paper { background:#fffefa; border:1px solid #b9b09f; padding:26px 28px; margin:18px 0; color:#2f2a22; font-family:"Hiragino Mincho ProN","Yu Mincho",serif; line-height:2; box-shadow:2px 3px 8px rgba(44,34,22,.12); }
.af-paper .af-issuer { text-align:right; font-size:12px; margin:0 0 10px; color:#4b4439; }
.af-paper h2.af-doc-title { text-align:center; font-size:19px; line-height:1.7; margin:6px 0 4px; letter-spacing:.06em; border:0; padding:0; color:#2a241b; }
.af-paper .af-doc-sub { text-align:center; font-size:12px; margin:0 0 18px; color:#5d5445; padding-bottom:12px; border-bottom:2px double #7d725f; }
.af-paper h3 { font-size:14px; margin:22px 0 8px; padding-bottom:4px; border-bottom:1px solid #b9b09f; color:#2a241b; }
.af-paper p, .af-paper li { font-size:13px; }
.af-paper ul, .af-paper ol { padding-left:22px; margin:6px 0; }
.af-paper li { margin:4px 0; }
.af-paper table { width:100%; border-collapse:collapse; font-size:12px; margin:8px 0 14px; }
.af-paper th, .af-paper td { border:1px solid #b9b09f; padding:7px 9px; vertical-align:top; text-align:left; line-height:1.8; }
.af-paper th { background:#efeadd; white-space:nowrap; }
.af-paper .af-time { white-space:nowrap; width:7.5em; }
.af-paper .af-addendum { margin-top:22px; padding:10px 14px; border:1px solid #7d725f; font-size:12px; background:#f7f4ea; }
.af-paper .af-addendum b { margin-right:.5em; }
.af-bar { display:inline-block; background:#1d1a16; color:#1d1a16; padding:0 2px; user-select:none; line-height:1.4; }
.af-stamp { display:inline-block; border:2px solid #a34438; color:#8b1a1a; font-weight:bold; padding:4px 9px; transform:rotate(-6deg); font-size:12px; letter-spacing:.1em; }

/* ---- 記録票（AF-002） ---- */
.af-chart { background:#fbfdfb; border:1px solid #9fb0a8; padding:22px 24px; margin:18px 0; color:#27342f; box-shadow:2px 3px 8px rgba(30,44,38,.1); }
.af-chart h2.af-chart-title { text-align:center; font-size:18px; margin:0 0 4px; border:0; padding:0; letter-spacing:.12em; color:#20302a; }
.af-chart .af-chart-sub { text-align:center; font-size:12px; color:#52645c; margin:0 0 16px; padding-bottom:10px; border-bottom:2px double #7f948b; }
.af-chart h3 { font-size:14px; margin:20px 0 8px; padding-left:8px; border-left:4px solid #5f786d; color:#23332c; }
.af-chart table { width:100%; border-collapse:collapse; font-size:12px; margin:8px 0 12px; }
.af-chart th, .af-chart td { border:1px solid #b4c2bb; padding:7px 9px; vertical-align:top; text-align:left; line-height:1.8; }
.af-chart th { background:#e8efeb; white-space:nowrap; }
.af-chart .af-time { white-space:nowrap; width:8.5em; }
.af-chart .af-alert td { background:#fff1ed; color:#6d241d; }
.af-chart p { font-size:13px; line-height:1.9; margin:6px 0; }
.af-camera { border:1px dashed #8b1a1a; background:#fff7f4; color:#6d241d; padding:10px 14px; font-size:12px; line-height:1.9; margin:10px 0; }
.af-camera code { font-family:monospace; background:#f3e3df; padding:1px 5px; }
.af-memo { margin:12px auto 6px; max-width:420px; background:#f4efe0; border:1px solid #c9bd9f; padding:18px 14px 12px; transform:rotate(-1.2deg); box-shadow:1px 2px 5px rgba(60,48,28,.18); text-align:center; }
.af-memo .af-glyphs { display:block; color:#3b2f22; min-height:34px; overflow-wrap:anywhere; line-height:1.4; }
.af-memo .af-glyphs svg { max-width:100%; }
.af-memo-cap { font-size:11px; color:#6b5e49; margin-top:8px; }
.af-nurse-note { font-size:12px; color:#6d241d; margin:8px 0 0; text-align:right; }
.af-closing { margin-top:18px; padding-top:12px; border-top:2px double #7f948b; display:flex; justify-content:space-between; gap:12px; align-items:center; flex-wrap:wrap; font-size:13px; }

/* ---- 新聞スクラップ（AF-003） ---- */
.af-scrap { background:#e7dec9; border:1px solid #9c8c71; padding:16px 18px; margin:20px 0; color:#302a21; font-family:Georgia,"Hiragino Mincho ProN",serif; box-shadow:2px 3px 8px rgba(44,34,22,.18); }
.af-scrap-no { font-size:10px; letter-spacing:.15em; color:#76695a; margin:0 0 6px; }
.af-scrap-head { display:flex; justify-content:space-between; align-items:baseline; gap:10px; flex-wrap:wrap; border-bottom:3px double #33291d; padding-bottom:6px; }
.af-scrap-head b { font-size:20px; letter-spacing:.2em; }
.af-scrap-head span { font-size:11px; }
.af-scrap-meta { font-size:11px; line-height:1.8; margin:8px 0 10px; color:#5d5242; }
.af-scrap h2.af-headline { font-size:19px; line-height:1.55; font-weight:bold; border:0; border-bottom:1px solid #5d5242; padding:4px 0 8px; margin:0 0 10px; color:#2a241b; }
.af-scrap h2.af-headline small { display:block; font-size:13px; font-weight:normal; color:#8b1a1a; margin-top:2px; }
.af-scrap-body { font-size:13px; line-height:1.95; text-align:justify; }
.af-scrap-body p { margin:0 0 .9em; }
.af-scrap-quote { border-left:3px solid #8b7a5c; padding:2px 0 2px 12px; margin:10px 0; font-size:12px; color:#4b4132; }
.af-removed { margin:12px 0 0; padding:12px 14px; border:1px dashed #85745b; background:#f5eedc; font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif; font-size:12px; color:#5d5242; line-height:1.9; }
.af-removed b { color:#8b1a1a; }
.af-scrap-end { text-align:right; font-size:12px; color:#76695a; margin:18px 0 0; font-style:italic; }

/* ---- 稼働記録（AF-004） ---- */
.af-term { background:#10151a; color:#aeb9c2; border:1px solid #2c3640; padding:16px 18px; margin:18px 0; font-family:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace; font-size:12px; line-height:2; overflow-wrap:anywhere; }
.af-term .af-term-title { color:#6f8190; font-size:11px; letter-spacing:.12em; margin:0 0 8px; padding-bottom:6px; border-bottom:1px solid #2c3640; }
.af-term dl { display:grid; grid-template-columns:11em 1fr; margin:0; }
.af-term dt { color:#6f8190; padding:3px 0; }
.af-term dd { margin:0; padding:3px 0; color:#d3dbe1; }
.af-term .af-ok { color:#7fc29b; }
.af-term .af-warn { color:#d9a066; }
.af-term .af-red { color:#d77a74; }
.af-term .af-dim { color:#6f8190; }
.af-term .af-big { font-size:15px; }
.af-term [hidden] { display:none !important; }
.af-term .af-after { display:block; margin-top:8px; color:#d77a74; font-size:13px; letter-spacing:.06em; }
.af-year-table { width:100%; border-collapse:collapse; font-size:12px; margin:10px 0 6px; }
.af-year-table th, .af-year-table td { border:1px solid #c7bba5; padding:7px 8px; vertical-align:top; text-align:right; line-height:1.7; }
.af-year-table th { background:#e9dfcb; color:#3d2b1a; text-align:center; }
.af-year-table td:first-child, .af-year-table th:first-child { text-align:left; white-space:nowrap; }
.af-year-table tr:nth-child(even) td { background:#fcf9f1; }
.af-year-table .af-future td { color:#76695a; background:#f1ece2; }
.af-keep { list-style:none; padding:0; margin:0; border-top:1px solid #c7bba5; }
.af-keep li { display:grid; grid-template-columns:8.5em 1fr; gap:12px; padding:10px 6px; border-bottom:1px solid #d7cab5; font-size:12px; line-height:1.9; color:#4d4234; }
.af-keep li b { color:#3d2b1a; }
.af-keep .af-odd { color:#8b1a1a; font-weight:bold; }

/* ---- 閲覧者記録票（AF-005）と、記録者エンド後の追記 ---- */
.af-you { color:#8b1a1a; font-weight:bold; }
.af-handover { font-size:12px; line-height:1.9; color:#3d2b1a; margin:8px 0 0; padding:6px 10px; border-left:3px solid #8b1a1a; background:#fcf9f1; overflow-wrap:anywhere; }
#vr-notes { margin:6px 0; }

@media (max-width:600px) {
  .af-paper { padding:18px 14px; }
  .af-paper h2.af-doc-title { font-size:16px; }
  .af-paper th, .af-paper td { padding:6px 6px; font-size:13px; }
  .af-paper .af-time { width:5.5em; white-space:normal; }
  .af-chart { padding:16px 12px; }
  .af-chart th, .af-chart td { padding:6px 6px; font-size:13px; }
  .af-chart .af-time { width:6em; white-space:normal; }
  .af-scrap { padding:14px 12px; }
  .af-scrap h2.af-headline { font-size:16px; }
  .af-term { padding:14px 12px; font-size:11px; }
  .af-term dl { grid-template-columns:1fr; }
  .af-term dt { padding-bottom:0; }
  .af-term dd { padding:0 0 8px; }
  .af-keep li { grid-template-columns:1fr; gap:2px; }
  .af-year-table { font-size:13px; }
  .af-year-table th, .af-year-table td { padding:5px 3px; }
  .af-index-table { font-size:13px; }
}

/* ---- フェーズ25：11月15日の夜の行・稼働率の表示・記録票の写し ---- */
.af-year-table .af-nov15 td, .af-year-table .af-nov15 td:first-child { text-align:left; white-space:normal; font-size:13px; color:#3d2b1a; background:#fcf9f1; overflow-wrap:anywhere; }
.af-uptime { font-size:13px; line-height:1.9; color:#3d2b1a; margin:18px 0 6px; padding:6px 10px; border-top:1px solid #c7bba5; text-align:right; }
.af-card { margin:18px 0 0; padding:14px 16px; border:1px solid #c7bba5; background:#fcf9f1; }
.af-card h3 { font-size:14px; margin:0 0 8px; padding:0; border:0; color:#2a241b; }
.af-card p { font-size:13px; line-height:1.9; color:#4d4234; margin:0 0 8px; }
.af-card-row { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.af-card-btn { display:inline-flex; align-items:center; justify-content:center; box-sizing:border-box; min-height:44px; padding:8px 16px; font-size:14px; font-family:inherit; line-height:1.4; color:#3d2b1a; background:#efeadd; border:1px solid #7d725f; border-radius:2px; cursor:pointer; }
.af-card-btn:hover { background:#e6dcc4; }
.af-card-btn:focus-visible { outline:2px solid #8b6914; outline-offset:2px; }
.af-card-btn[hidden], .af-card .card-preview[hidden] { display:none; }
.af-card .card-preview { margin:12px 0 0; }
.af-card .card-canvas { display:block; width:100%; max-width:600px; height:auto; border:1px solid #b9b09f; }
.af-card .card-status { min-height:1.9em; margin:12px 0 0; font-size:13px; line-height:1.9; color:#4d4234; }
.af-card .card-status.is-bad { color:#8b1a1a; }

/* ---- 令和8年11月15日以降に追加された資料（フェーズ37。scripts/make_yomuna.py が一覧を書く） ---- */
.af-adds { list-style:none; padding:0; margin:8px 0; font-size:13px; }
.af-adds li { display:flex; gap:12px; flex-wrap:wrap; padding:7px 4px; border-bottom:1px dotted #b9b09f; }
.af-add-date { color:#5d5445; min-width:10em; }
.af-adds a { font-weight:bold; color:#2a3a4a; }
.af-add-who { margin-left:auto; font-size:11px; color:#76695a; }

/* ---- 「印刷する」ボタン（閲覧者記録票の末尾。印刷には出さない） ---- */
.af-print { margin: 18px 0 0; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; }
.af-print-note { font-size: 11px; line-height: 1.8; color: #76695a; flex: 1 1 14em; min-width: 0; }

/* ---- 印刷（紙の閲覧者記録票）：A4 縦。ヘッダー・ナビ・サイドバー・フッター・写しの欄は出さず、白地に墨色の一枚の票にする ---- */
@page viewer-slip { size: A4 portrait; margin: 14mm 15mm 16mm; }
@media print {
  body[data-page="after-viewer"] { background: #fff; color: #1c1812; font-size: 10pt; line-height: 1.7; }
  body[data-page="after-viewer"]::before,
  body[data-page="after-viewer"]::after { content: none; display: none; }
  body[data-page="after-viewer"] :is(#site-header, #site-nav, #site-footer, #mobile-search-bar, #devtools-overlay, #custom-cursor, #custom-context-menu, #flash-msg, #welcome-overlay, #villager-counter-container, .skip-link, .breadcrumb, .hoshi-banner, .sidebar, .n-box, .page-title, #vr-locked, .af-card, .af-print, h2.section-title, .archive-document-sources) { display: none !important; }
  body[data-page="after-viewer"] #site-main { display: block; max-width: none; margin: 0; padding: 0; page: viewer-slip; }
  body[data-page="after-viewer"] .content-area { display: block; }
  body[data-page="after-viewer"] .content-area:has(#vr-body[hidden]) { display: none; }
  body[data-page="after-viewer"] .archive-document-titlebar,
  body[data-page="after-viewer"] .archive-document-number { font-size: 9pt; color: #1c1812; }
  body[data-page="after-viewer"] .archive-document-titlebar { border-bottom: .6pt solid #1c1812; padding-bottom: 4pt; margin-bottom: 8pt; }
  body[data-page="after-viewer"] .archive-document-seal { border: .8pt solid #1c1812; color: #1c1812; background: none; padding: 0 6pt; }
  body[data-page="after-viewer"] .af-paper { background: none; border: 1pt solid #1c1812; box-shadow: none; padding: 10pt 14pt 12pt; margin: 0; color: #1c1812; line-height: 1.7; }
  body[data-page="after-viewer"] .af-paper .af-issuer { font-size: 9pt; color: #2e2820; margin: 0 0 4pt; }
  body[data-page="after-viewer"] .af-paper h2.af-doc-title { font-size: 17pt; color: #1c1812; margin: 2pt 0; }
  body[data-page="after-viewer"] .af-paper .af-doc-sub { font-size: 9.5pt; color: #2e2820; margin-bottom: 8pt; padding-bottom: 6pt; border-bottom: 2pt double #1c1812; }
  body[data-page="after-viewer"] .af-paper h3 { font-size: 11pt; margin: 10pt 0 4pt; border-bottom: .6pt solid #1c1812; color: #1c1812; break-after: avoid; }
  body[data-page="after-viewer"] .af-paper table { font-size: 9.5pt; margin: 4pt 0 6pt; break-inside: avoid; }
  body[data-page="after-viewer"] .af-paper th,
  body[data-page="after-viewer"] .af-paper td { border: .6pt solid #6f6654; padding: 2.5pt 6pt; line-height: 1.55; }
  body[data-page="after-viewer"] .af-paper th { background: none; font-weight: bold; }
  body[data-page="after-viewer"] .af-paper tr { break-inside: avoid; }
  body[data-page="after-viewer"] .af-paper ul { margin: 3pt 0; }
  body[data-page="after-viewer"] .af-paper li { font-size: 9.5pt; margin: 2pt 0; }
  body[data-page="after-viewer"] .af-paper .af-addendum { margin-top: 10pt; padding: 5pt 10pt; font-size: 9pt; background: none; border: .8pt solid #1c1812; break-inside: avoid; }
  body[data-page="after-viewer"] .af-you { color: #1c1812; }
  body[data-page="after-viewer"] .archive-document-footer { font-size: 8pt; color: #1c1812; border-top: .6pt solid #1c1812; margin-top: 8pt; padding-top: 4pt; }
}
