/* Shared reading guidance and navigation. */
:root{--paper:#f9f7f0;--card:#fffef9;--ink:#233d36;--ink2:#52665d;--faint:#62665b;--rule:#d2dccc;--seal:#715448;--ai:#25594a;--bar:#435957}
.site-home{display:inline-flex;align-items:center;gap:9px;font:700 19px/1.8 "Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:var(--ink);text-decoration:none;margin-bottom:30px}
.home-mark{display:grid;place-items:center;width:31px;height:34px;border:1.5px solid var(--ink);border-radius:48% 48% 42% 42%;background:#f5ce61;font:italic 27px "Yu Mincho",serif;transform:rotate(-10deg)}
.home-label{font-size:11px;font-weight:400;color:var(--ink2);margin-left:8px}
.wrap>header{padding-top:28px}
.footer-home{font-size:13px;margin-bottom:22px}
.people-notice{font-size:12px;line-height:1.95;color:var(--ink2);padding:13px 16px;border-left:3px solid #a8bba0;background:#edf1e4;margin:20px 0}
.people-notice a{display:inline-block;margin-left:8px}
header .eyebrow{font-size:12px;letter-spacing:.16em;color:var(--ink2)}
header .lede{font-size:15px;line-height:2;max-width:44em;color:var(--ink2);margin:0}
.site-nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}
.site-nav a{display:inline-block;padding:8px 14px;border:1px solid var(--rule);background:var(--card);font-size:13px;text-decoration:none;border-radius:3px;color:var(--ai)}
.site-nav a[aria-current=page]{background:var(--ai);color:#fff;border-color:var(--ai)}
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--ai);outline-offset:4px}
.wrap>header+.sub{margin:18px 0 0;max-width:none;line-height:1.9}
.purpose p,.reading-guide>p{max-width:46em;line-height:2;font-size:15px;color:var(--ink2);margin:18px 0}
.purpose strong{color:var(--ink);font-weight:600}
.text-link{display:inline-block;margin-top:8px;text-underline-offset:4px}
.guide-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:22px}
.guide-grid article{padding:20px;background:var(--card);border:1px solid var(--rule);border-radius:3px;min-width:0}
.guide-grid h3{font-family:inherit;font-size:15px;letter-spacing:.02em;margin:0 0 8px;font-weight:600;line-height:1.65}
.guide-grid p,.story .guide-grid p{font-size:14px;color:var(--ink2);line-height:1.95;margin:0;max-width:none}
.reading-guide .guide-note{font-size:14px;border-left:3px solid var(--ai);padding:12px 16px;background:var(--card);max-width:none;margin:22px 0 0}
.reading-guide .source-note{font-size:12.5px;line-height:1.9;margin-top:14px}
.table-scroll{overflow-x:auto;margin:22px 0 0}
.reading-table{border-collapse:collapse;width:100%;font-size:13.5px;line-height:1.85;min-width:590px;background:var(--card)}
.reading-table caption{text-align:left;color:var(--faint);font-size:12px;padding-bottom:10px}
.reading-table th,.reading-table td{border:1px solid var(--rule);padding:13px 15px;text-align:left;vertical-align:top}
.reading-table thead th{background:#dde4de;font-weight:600}
.reading-table tbody th{width:21%;font-weight:600}
.reading-table td{color:var(--ink2)}
.status-guide{border:1px solid var(--rule);background:var(--card);margin:26px 0 0;border-radius:3px}
.status-guide>summary{display:block;font-size:14px;padding:16px 20px;cursor:pointer;list-style:revert}
.status-guide>summary::-webkit-details-marker{display:inline}
.status-guide>div{padding:0 20px 8px;font-size:13.5px;color:var(--ink2)}
.status-guide p{line-height:1.9}
.o.hikou,.st.h,.state.hikoukai{background:#e0e7e2;color:#29433d;border:1px solid #718c7d}
.state.hikoukai span{color:#29433d}
.o.fuzon,.st.n,.state.fuzonzai{background:transparent;color:var(--ink2);border-color:var(--faint)}
.o.bubun,.state.bubun{background:#edf0e5;border:1px solid #889778;padding-left:9px}
.state.bubun span{padding-left:0}
.o.kaiji,.state.kaiji{background:#eaf0e9;border-color:#718c7d}
.o.wait,.o.chosa,.st.w{color:#715448;border-color:#997a69}
.tag{background:var(--ai);color:#fff}
.vs{grid-template-columns:1fr}
.vsc .say{font-size:16px}
.vsc .say em{background:none;text-decoration:underline;text-decoration-color:#93aaa0;text-underline-offset:4px}
.qnum{color:var(--ai);width:2.2em}
.blk.doubt p{font-family:inherit;font-size:14px}
.cond{overflow-wrap:anywhere}
.cond .st{width:auto;max-width:100%;padding:3px 8px}
.sub,.src,.guide-note,.recbody{overflow-wrap:anywhere}
.review-update{padding-top:12px;border-top:1px solid var(--rule)}
@media(max-width:640px){
  .guide-grid{grid-template-columns:1fr}
  .site-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .site-nav a{text-align:center;padding:9px 6px}
  .purpose p,.reading-guide>p{font-size:14px}
  .guide-grid article{padding:17px}
  .qhead{gap:8px}
}
@media print{.site-nav,.ctl{display:none}.guide-grid{grid-template-columns:1fr}.table-scroll{overflow:visible}.reading-table{min-width:0}}

/* Also used by the private ledger: contain long records on small screens. */
@media screen and (max-width:640px){
  .wrap{padding-inline:16px}
  .site-home{flex-wrap:wrap;max-width:100%;font-size:18px}
  .home-mark{flex-shrink:0}
  .site-nav a,.pages a,.ctl button{min-height:44px;font-size:14px;line-height:1.7}
  .ctl button{padding-block:9px}
  .site-nav a,.recbody,.kv>div,.qbody,.qhead>*{min-width:0}
  .purpose p,.reading-guide>p,.kv,.blk p,.blk.doubt p,.story p{font-size:15px}
  .sub,.recmeta,.kv .k,.src,.people-notice{font-size:13px}
  .dc .note,.sc p,.pc p{font-size:14px}
  .recbody,.qbody,.body,.guide-grid article{overflow-wrap:anywhere}
  .o,.st,.qs{max-width:100%;white-space:normal;overflow-wrap:anywhere}
  .dl,.pend,.two,.stat{grid-template-columns:minmax(0,1fr)}
  .table-scroll,.deadline-table{max-width:100%}
  .reading-table,.deadline-table table{font-size:14px}
  summary{min-height:44px}
}

/* Visual review 2026-09-18: scroll guidance for wide tables, touch targets. */
.table-note{display:none;font-size:13px;line-height:1.9;color:var(--faint);margin:22px 0 0}
@media screen and (max-width:640px){
  .table-note{display:block}
  .table-note+.table-scroll{margin-top:8px}
  .site-home{min-height:44px;padding-block:6px}
  .people-notice a,.text-link,.footer-home a{display:inline-flex;align-items:center;min-height:44px}
  p>a:only-child{display:inline-flex;align-items:center;min-height:44px}
}
@media screen and (max-width:640px){
  .home-label{font-size:12px}
}
