:root{
  --ink:#30261f; --pearl:#faf6ee; --smoke:#47332a; --mist:#eee5d5;
  --gold:#9b6b2e; --crimson:#853e30;
  --n300:#d3c5ae; --n500:#706252; --n700:#584237;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:var(--pearl); color:var(--ink);
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  font-size:16px; line-height:1.85; -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:"Noto Sans JP",sans-serif;font-weight:600;line-height:1.4;}

/* top bar */
.topbar{background:var(--ink);color:var(--pearl);padding:0;}
.topbar .inner{max-width:1000px;margin:0 auto;padding:14px 24px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;}
.topbar .home{font-family:"Manrope",sans-serif;font-weight:700;letter-spacing:.04em;font-size:13px;color:var(--gold);text-decoration:none;margin-right:8px;}
.topbar a.nav{font-size:13px;color:var(--n300);text-decoration:none;padding:4px 0;border-bottom:1px solid transparent;}
.topbar a.nav:hover{color:var(--pearl);border-bottom-color:var(--gold);}

.draftbar{background:var(--crimson);color:var(--pearl);font-size:12px;text-align:center;padding:7px 16px;letter-spacing:.02em;}
.draftbar b{font-weight:700;}

/* document body */
main.doc{max-width:860px;margin:0 auto;padding:48px 24px 24px;}
main.doc > h1:first-child{font-size:clamp(26px,4vw,34px);font-weight:700;margin:0 0 6px;}
main.doc h1{font-size:28px;border-bottom:1px solid var(--gold);padding-bottom:14px;margin:0 0 8px;}
main.doc h2{font-size:20px;margin:40px 0 8px;padding-left:14px;border-left:3px solid var(--gold);}
main.doc h3{font-size:16px;margin:26px 0 6px;color:var(--n700);}
main.doc p{margin:10px 0;}
main.doc a{color:#853e30;text-decoration:underline;text-underline-offset:3px;}
main.doc strong{font-weight:700;}
main.doc hr{border:none;border-top:1px solid var(--n300);margin:36px 0;}
main.doc ul,main.doc ol{padding-left:22px;}
main.doc li{margin:5px 0;}

/* the leading blockquote = note box */
main.doc blockquote{
  background:var(--mist);border-left:3px solid var(--gold);
  margin:0 0 28px;padding:16px 20px;color:var(--n700);font-size:13.5px;
}
main.doc blockquote p{margin:4px 0;}

/* tables */
main.doc table{width:100%;border-collapse:collapse;font-size:14px;margin:16px 0;}
main.doc th,main.doc td{border:1px solid var(--n300);padding:10px 12px;text-align:left;vertical-align:top;}
main.doc thead th{background:var(--ink);color:var(--pearl);font-weight:600;font-size:13px;}
main.doc tbody tr:nth-child(even){background:rgba(199,191,168,.18);}

code{background:rgba(199,191,168,.3);padding:1px 5px;border-radius:2px;font-size:13px;}
pre{background:var(--smoke);color:var(--pearl);padding:18px;overflow:auto;font-size:13px;line-height:1.6;}
pre code{background:none;color:inherit;padding:0;}

.docfoot{background:var(--ink);color:var(--n300);font-size:12px;text-align:center;padding:28px 24px;margin-top:48px;}
.docfoot a{color:var(--gold);text-decoration:none;}
.docfoot .rule{width:32px;height:1px;background:var(--gold);margin:0 auto 16px;}

@media(max-width:640px){
  main.doc{padding:32px 18px;}
  .topbar .inner{padding:12px 18px;}
}
main.doc h1.doc-title{font:500 clamp(24px,4vw,32px)/1.5 "Noto Serif JP",serif;border-bottom:1px solid var(--gold);padding-bottom:14px;margin:0 0 8px}
