:root{
  --ink:#0B0B0D; --pearl:#F4F0E8; --smoke:#1A1A1E; --mist:#E8E2D5;
  --gold:#B8924A; --crimson:#8C2F39;
  --n300:#C7BFA8; --n500:#6E6A5E; --n700:#2C2B27;
}
*{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:15px; line-height:1.85; -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN",sans-serif;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:var(--gold);}
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;}
}
