/* ============================================================
 * 黄泉戸村役場ARG：フェーズ37「讀ムナ ―― 橘家 字守帳」（pages/yomuna/）
 * archive.css の上に重ねる。和綴じの帳面の紙面と、字帳の欄だけで作る。
 * ============================================================ */

/* 字守 fa20fa205970f9a0 */
/* 余白は広めに。宗一さんの頁は、白いところが本文。 */

.ym { --ym-paper:#f3ead6; --ym-ink:#2b2014; --ym-faint:#8a7a5c; --ym-red:#b02a20; --ym-line:#c9b994; }

/* ---- 看板の印（目に赤い縦長の瞳） ---- */
.ym-mark { display:inline-block; width:56px; height:56px; vertical-align:middle; }
.ym-mark path { fill:none; stroke:currentColor; stroke-width:5; stroke-linejoin:round; }
.ym-mark ellipse { fill:var(--ym-red); }

/* ---- 表紙 ---- */
.ym-cover { background:#1c140c; color:#e9dcc0; text-align:center; padding:34px 18px 28px; margin:16px 0 22px; border:1px solid #3d2e1c; box-shadow:2px 4px 10px rgba(30,20,10,.3); position:relative; }
.ym-cover::before { content:""; position:absolute; left:14px; top:0; bottom:0; border-left:2px dotted #4b3a24; }
.ym-cover .ym-mark { color:#e9dcc0; width:64px; height:64px; }
.ym-cover-title { font-family:"Hiragino Mincho ProN","Yu Mincho",serif; font-size:52px; font-weight:bold; letter-spacing:.3em; margin:10px 0 4px; padding-left:.3em; line-height:1.3; }
.ym-cover-sub { font-size:14px; letter-spacing:.4em; color:#b9a57e; padding-left:.4em; }
.ym-cover-note { font-size:12px; line-height:1.9; color:#a8987a; margin:18px auto 0; max-width:520px; text-align:left; }

/* ---- 届いた冊の一覧 ---- */
.ym-issues { list-style:none; padding:0; margin:10px 0 6px; }
.ym-issue a { display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:10px 12px; border-bottom:1px solid var(--ym-line); color:var(--ym-ink); text-decoration:none; }
.ym-issue a:hover { background:#efe3c8; }
.ym-issue-no { font-weight:bold; min-width:4em; }
.ym-issue-glyph { color:var(--ym-ink); }
.ym-issue-title { flex:1 1 12em; }
.ym-issue-date { font-size:11px; color:var(--ym-faint); }
.ym-next { font-size:12px; color:var(--ym-faint); margin:6px 0 0; }

/* ---- 字帳 ---- */
.ym-ledger { display:grid; grid-template-columns:repeat(auto-fill, minmax(150px, 1fr)); gap:10px; margin:12px 0; }
.ym-slot { background:var(--ym-paper); border:1px solid var(--ym-line); padding:10px 10px 12px; min-height:128px; color:var(--ym-ink); display:flex; flex-direction:column; align-items:center; text-align:center; }
.ym-slot-no { font-size:11px; color:var(--ym-faint); align-self:flex-start; }
.ym-slot-glyph { min-height:56px; display:flex; align-items:center; justify-content:center; margin:4px 0; }
.ym-slot-state { font-size:11px; letter-spacing:.1em; }
.ym-slot.is-decoded .ym-slot-state { color:var(--ym-red); font-weight:bold; }
.ym-slot.is-unsent { opacity:.55; }
.ym-slot-meaning { font-size:12px; line-height:1.7; margin-top:6px; text-align:left; }
.ym-ura { display:flex; gap:10px; flex-wrap:wrap; margin:8px 0; }
.ym-ura .ym-slot { min-height:84px; flex:1 1 120px; }

/* ---- 帳面の頁 ---- */
.ym-book { margin:16px 0; }
.ym-page { background:var(--ym-paper); color:var(--ym-ink); border:1px solid var(--ym-line); padding:26px 26px 26px 40px; margin:0 0 18px; position:relative; box-shadow:1px 3px 8px rgba(60,44,20,.14); font-family:"Hiragino Mincho ProN","Yu Mincho",serif; line-height:2.1; }
.ym-page::before { content:""; position:absolute; left:16px; top:18px; bottom:18px; border-left:1px dashed #b3a07a; }
.ym-page-label { font-size:11px; color:var(--ym-faint); letter-spacing:.2em; margin:0 0 10px; font-family:inherit; }
.ym-page.is-cover { background:#1c140c; color:#e9dcc0; border-color:#3d2e1c; text-align:center; padding:40px 18px; }
.ym-page.is-cover::before { border-left-color:#4b3a24; }
.ym-page.is-cover .ym-cover-title { font-size:56px; }
.ym-big { display:flex; justify-content:center; margin:8px 0 12px; }
.ym-line { display:block; text-align:center; margin:14px 0; color:var(--ym-ink); overflow-wrap:anywhere; }
.ym-hand { font-size:15px; margin:10px 0; }
.ym-note { font-size:14px; }
.ym-memo-head { font-weight:bold; font-size:13px; margin:0 0 8px; }
.ym-memo .note-highlight { color:#7a1a12; }
.ym-q { font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif; font-size:13px; line-height:1.9; margin:14px 0 6px; color:#4a3c27; }

/* 隅の字：紙の染みに紛れる */
.ym-corner { position:absolute; right:14px; bottom:10px; color:#b9a77f; opacity:.55; pointer-events:none; }
.ym-page.is-cover .ym-corner { color:#3a2c1b; }

/* 記録者の端末にだけ出る、鉛筆の一行 */
.ym-pencil { margin:16px 0 0 auto; max-width:440px; color:#5e5a52; font-size:12px; font-style:italic; line-height:1.9; transform:rotate(-.6deg); border-bottom:1px solid #a9a397; padding-bottom:4px; font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif; }

/* ---- 書き入れる欄 ---- */
.ym-form { display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin:8px 0 4px; font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif; }
.ym-form input[type="text"] { flex:1 1 12em; min-width:0; padding:8px 10px; border:1px solid #9b8a66; background:#fffdf6; font-size:16px; color:var(--ym-ink); }
.ym-form button, .ym-btn { padding:8px 14px; border:1px solid #6b5636; background:#3a2a16; color:#f1e6cf; font-size:13px; cursor:pointer; }
.ym-form button:disabled, .ym-btn:disabled { opacity:.5; cursor:default; }
.ym-status { font-size:12px; min-height:1.6em; color:#4a3c27; font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif; }
.ym-status.is-bad { color:#8b1a1a; }
.ym-status.is-ok { color:#2f5a2a; }
.ym-hints { margin:10px 0 12px; }
.ym-hint { margin:6px 0; padding:7px 12px; max-width:440px; background:#fbf0b8; color:#4a4024; font-size:13px; line-height:1.8; box-shadow:1px 2px 0 rgba(0,0,0,.08); transform:rotate(.4deg); }
.ym-hint:nth-child(2) { transform:rotate(-.5deg); }
.ym-hint-when { display:block; font-size:11px; color:#8a7a44; }
.ym-meaning { margin:10px 0 0; padding:8px 12px; border-left:3px solid var(--ym-red); background:#fbf5e6; font-size:13px; }

/* ---- 名前を字にする ---- */
.ym-namer { background:var(--ym-paper); border:1px solid var(--ym-line); padding:16px; margin:12px 0; color:var(--ym-ink); }
.ym-namer-out { min-height:64px; display:flex; align-items:center; justify-content:center; margin:12px 0; overflow-x:auto; }
.ym-namer canvas { display:block; max-width:100%; height:auto; border:1px solid var(--ym-line); margin:8px 0; }
.ym-small { font-size:11px; color:var(--ym-faint); line-height:1.8; }

.ym-nav { display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; font-size:13px; margin:18px 0; }
.ym-refs { font-size:12px; line-height:1.9; color:#4a3c27; border-top:1px solid var(--ym-line); padding-top:10px; margin-top:18px; }

@media (max-width: 600px) {
  .ym-cover-title, .ym-page.is-cover .ym-cover-title { font-size:40px; }
  .ym-page { padding:20px 16px 22px 30px; }
  .ym-page::before { left:11px; }
}

/* ---- 印刷（字守帳の目録）：A4 縦。表紙・届いた冊・字帳・裏の字だけを、白地に墨色の一枚の帳面として出す。書き入れる欄・名前を字にする欄・ヘッダーやナビは出さない ---- */
@page ym-index { size: A4 portrait; margin: 14mm 14mm 16mm; }
@media print {
  body[data-ym="index"] { background: #fff; color: #1c140c; font-size: 10pt; line-height: 1.7; }
  body[data-ym="index"]::before,
  body[data-ym="index"]::after { content: none; display: none; }
  body[data-ym="index"] :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, .ym-form, .ym-status, .ym-namer, .ym-meaning, h2.section-title:has(+ .ym-namer)) { display: none !important; }
  body[data-ym="index"] #site-main { display: block; max-width: none; margin: 0; padding: 0; page: ym-index; }
  body[data-ym="index"] .content-area { display: block; }
  body[data-ym="index"] a { color: #1c140c; text-decoration: none; }
  body[data-ym="index"] .ym-cover { background: none; color: #1c140c; border: 1.5pt solid #1c140c; box-shadow: none; margin: 0 0 8pt; padding: 12pt 14pt 10pt; break-inside: avoid; }
  body[data-ym="index"] .ym-cover::before { border-left: 1pt dotted #1c140c; left: 8pt; }
  body[data-ym="index"] .ym-cover .ym-mark { color: #1c140c; width: 15mm; height: 15mm; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  body[data-ym="index"] .ym-cover-title { font-size: 34pt; }
  body[data-ym="index"] .ym-cover-sub { font-size: 11pt; color: #3a2e1c; }
  body[data-ym="index"] .ym-cover-note { font-size: 8.5pt; color: #3a2e1c; max-width: none; }
  body[data-ym="index"] .ym-cover-note a { color: #1c140c !important; }
  body[data-ym="index"] h2.section-title { font-size: 13pt; margin: 9pt 0 4pt; color: #1c140c; border-bottom: .8pt solid #1c140c; break-after: avoid; }
  body[data-ym="index"] h3.subsection-title { font-size: 11pt; margin: 10pt 0 4pt; color: #1c140c; break-after: avoid; }
  body[data-ym="index"] .ym-small,
  body[data-ym="index"] .ym-next { font-size: 8.5pt; color: #3a2e1c; }
  body[data-ym="index"] .ym-issue a { padding: 4pt 4pt; border-bottom: .5pt solid #6f6654; break-inside: avoid; }
  body[data-ym="index"] .ym-issue-date { font-size: 8pt; color: #3a2e1c; }
  body[data-ym="index"] .ym-ledger { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 5pt; margin: 6pt 0; }
  body[data-ym="index"] .ym-slot { background: none; border: .6pt solid #6f6654; min-height: 0; padding: 4pt 5pt 5pt; break-inside: avoid; }
  body[data-ym="index"] .ym-slot-no { font-size: 8pt; color: #3a2e1c; }
  body[data-ym="index"] .ym-slot-glyph { min-height: 7mm; margin: 2pt 0; }
  body[data-ym="index"] .ym-slot-state { font-size: 8pt; }
  body[data-ym="index"] .ym-slot.is-decoded .ym-slot-state { color: #b02a20; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  body[data-ym="index"] .ym-slot.is-unsent { opacity: .6; }
  body[data-ym="index"] .ym-slot-meaning { font-size: 8pt; line-height: 1.6; }
  body[data-ym="index"] .ym-ura { gap: 5pt; }
  body[data-ym="index"] .ym-ura .ym-slot { min-height: 0; flex: 0 1 30mm; }
}

/* ---- 第12冊（白紙の頁。深淵の一節で開く） ---- */
.ym-blank-page { min-height: 340px; }
.ym-blank-page .ym-note { text-align: center; color: var(--ym-faint); margin: 60px 0 24px; }
.ym-abyss { text-align: center; }
.ym-abyss-mark { display: flex; justify-content: center; margin: 10px 0 0; }
.ym-abyss-mark .ym-mark { width: 84px; height: 84px; color: var(--ym-ink); }
.ym-print { font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", monospace; font-size: 14px; letter-spacing: .12em; line-height: 2.2; text-align: left; display: inline-block; margin: 8px auto 0; color: #2b2014; }
.ym-ura-line { display: block; text-align: center; color: var(--ym-red); margin-top: 18px; }
.ym-close { text-align: center; margin: 22px 0 0; }
/* 帳を閉じた端末の、表紙の目の印 */
.ym-cover-stamp { display: inline-block; position: relative; top: -.7em; width: 30px; height: 30px; margin-left: -.15em; transform: rotate(-8deg); opacity: .9; letter-spacing: 0; }
.ym-cover-stamp .ym-mark { width: 30px; height: 30px; color: #e9dcc0; }
.ym-form[hidden] { display: none; }
