
:root{
  --bg:#f4f2ec; --fg:#22201c; --dim:#7d786e; --grid:#d9d5c9;
  --shu:#b8442f; --cell:#faf8f3;
}
@font-face{
  font-family:"Plex Mono"; src:url("/fonts/PlexMono-400.woff2") format("woff2");
  font-weight:400; font-display:swap;
}
*{box-sizing:border-box}
body{
  margin:0; background:var(--bg); color:var(--fg);
  font:400 15px/1.85 "PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",system-ui,sans-serif;
}
a{color:var(--fg); text-decoration:none}
a:hover{color:var(--shu)}
.wrap{max-width:940px; margin:0 auto; padding:0 24px}
header{border-bottom:2px solid var(--fg); margin-top:38px}
header .wrap{display:flex; align-items:baseline; justify-content:space-between; padding-bottom:14px}
.logo{font-family:"Plex Mono",monospace; font-size:14px; letter-spacing:.08em; text-transform:uppercase}
.logo b{color:var(--shu); font-weight:400}
header nav{display:flex; gap:22px; font-family:"Plex Mono",monospace; font-size:11.5px; letter-spacing:.1em; text-transform:uppercase}
header nav a{color:var(--dim)}
header nav a:hover{color:var(--shu)}
main{padding:42px 0 76px}
h1{font-size:28px; font-weight:600; margin:0 0 8px; letter-spacing:-.01em}
.lead{color:var(--dim); font-size:14px; margin:0 0 38px; max-width:58ch}
.grid{border:1px solid var(--grid); background:var(--cell)}
.gridhead{display:grid; grid-template-columns:84px 110px 1fr; border-bottom:1px solid var(--grid); background:#efece3}
.gridhead span{font-family:"Plex Mono",monospace; font-size:10.5px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--dim); padding:9px 14px}
.gridhead span+span{border-left:1px solid var(--grid)}
.row{display:grid; grid-template-columns:84px 110px 1fr; border-bottom:1px solid var(--grid)}
.row:last-child{border-bottom:0}
.row>div{padding:18px 14px}
.row>div+div{border-left:1px solid var(--grid)}
.row .id{font-family:"Plex Mono",monospace; font-size:12px; color:var(--shu)}
.row .dt{font-family:"Plex Mono",monospace; font-size:11.5px; color:var(--dim)}
.row h2{font-size:16.5px; font-weight:600; margin:0 0 6px; line-height:1.55}
.row h2 a:hover{color:var(--shu)}
.row p{margin:0; color:var(--dim); font-size:13.5px; line-height:1.75}
.row .tag{display:inline-block; font-family:"Plex Mono",monospace; font-size:10.5px; letter-spacing:.1em;
  text-transform:uppercase; border:1px solid var(--grid); padding:0 6px; margin-bottom:7px; color:var(--dim)}
article h1{margin-bottom:8px}
article .m{display:block; font-family:"Plex Mono",monospace; font-size:11.5px; letter-spacing:.1em;
  text-transform:uppercase; color:var(--dim); margin-bottom:30px}
article p{margin:0 0 20px}
article h2{font-size:17px; font-weight:600; margin:34px 0 12px; padding-left:12px; border-left:3px solid var(--shu)}
pre{background:var(--cell); border:1px solid var(--grid); padding:14px 16px; overflow:auto; font-size:12.5px; line-height:1.7}
code{font-family:"Plex Mono",monospace; font-size:.9em; color:var(--shu)}
footer{border-top:2px solid var(--fg); margin-top:16px}
footer .wrap{padding:18px 24px; font-family:"Plex Mono",monospace; font-size:11px; letter-spacing:.1em; color:var(--dim); display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px}
.nf h1{font-size:56px; font-family:"Plex Mono",monospace; color:var(--shu)}
@media(max-width:700px){
  .gridhead{grid-template-columns:64px 1fr}
  .gridhead span:nth-child(2){display:none}
  .row{grid-template-columns:64px 1fr}
  .row .dt{display:none}
  .row>div:nth-child(2){border-left:0; padding-left:0}
}
