@font-face{font-family:"Instrument Serif";src:url("fonts/instrument-serif-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url("fonts/instrument-serif-latin-400-italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Inter Tight";src:url("fonts/inter-tight-latin-wght-normal.woff2") format("woff2-variations");font-weight:100 900;font-style:normal;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url("fonts/jetbrains-mono-latin-400-normal.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}

:root{
  --bg:#F4F0E7;
  --ink:#17140F;
  --ink-2:#3B352D;
  --dim:#6D6558;
  --faint:#A79E8E;
  --rule:#DDD5C6;
  --accent:#E23A16;
  --code-bg:#17140F;
  --serif:"Instrument Serif",Georgia,serif;
  --sans:"Inter Tight",-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:var(--sans);font-size:17.5px;line-height:1.92;font-weight:400;
  -webkit-font-smoothing:antialiased;
  background-image:radial-gradient(120% 100% at 50% 0%,#FAF7F0 0%,#F2EEE4 55%,#EDE8DC 100%);
  background-attachment:fixed;
}
::selection{background:var(--accent);color:#F4F0E7}
a{color:inherit}
.mono{font-family:var(--mono);font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--faint)}

#rp{position:fixed;top:0;left:0;height:2px;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:0 50%;z-index:50}

.rbar{
  position:sticky;top:0;z-index:40;display:flex;justify-content:space-between;align-items:center;
  padding:14px clamp(18px,5vw,40px);border-bottom:1px solid var(--rule);
  background:rgba(244,240,231,.82);backdrop-filter:blur(12px);
}
.rbar a{font-family:var(--mono);font-size:10.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--dim);text-decoration:none;transition:color .3s}
.rbar a:hover{color:var(--accent)}

.rd{max-width:700px;margin:0 auto;padding:clamp(40px,7vh,84px) clamp(18px,5vw,28px) 0}

.rmeta{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-bottom:22px}
.rmeta span{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--faint)}
.rmeta .tag{color:var(--accent)}

h1{
  margin:0 0 26px;font-size:clamp(28px,4.4vw,44px);line-height:1.34;font-weight:500;
  letter-spacing:-.012em;text-wrap:balance;
}
.lead{
  font-size:clamp(17px,1.9vw,19.5px);line-height:1.85;color:var(--ink-2);
  padding-bottom:26px;margin:0 0 34px;border-bottom:1px solid var(--rule);
}

h2{
  margin:62px 0 20px;font-size:clamp(19px,2.3vw,23px);font-weight:500;line-height:1.5;
  letter-spacing:-.006em;position:relative;padding-top:22px;
}
h2::before{content:"";position:absolute;left:0;top:0;width:22px;height:2px;background:var(--accent)}
h3{margin:38px 0 14px;font-size:17px;font-weight:600;letter-spacing:.01em;color:var(--ink)}

p{margin:0 0 1.55em}
strong{font-weight:600}
em{font-style:normal;background:linear-gradient(transparent 62%,rgba(226,58,22,.18) 62%);padding:0 .1em}

a.link{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(226,58,22,.35);transition:border-color .3s}
a.link:hover{border-color:var(--accent)}

ul,ol{margin:0 0 1.6em;padding-left:1.15em}
li{margin:.55em 0;padding-left:.25em}
li::marker{color:var(--accent)}

code{
  font-family:var(--mono);font-size:.83em;background:rgba(23,20,15,.07);
  padding:.16em .42em;border-radius:2px;color:#2B2118;
}
pre{
  background:var(--code-bg);color:#E9E3D6;border-radius:3px;
  padding:20px 22px;overflow:auto;margin:0 0 1.8em;
  font-size:12.8px;line-height:1.85;
  box-shadow:0 12px 34px -20px rgba(23,20,15,.6);
}
pre code{background:none;padding:0;color:inherit;font-size:1em}

blockquote{
  margin:0 0 1.8em;padding:4px 0 4px 20px;border-left:2px solid var(--accent);
  color:var(--dim);font-size:16.5px;
}
blockquote p:last-child{margin-bottom:0}

table{width:100%;border-collapse:collapse;margin:0 0 1.9em;font-size:14.5px;line-height:1.6}
th{
  text-align:left;font-family:var(--mono);font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--faint);font-weight:400;padding:0 14px 10px 0;border-bottom:1px solid var(--ink);
}
td{padding:12px 14px 12px 0;border-bottom:1px solid var(--rule);vertical-align:top}
td:last-child,th:last-child{padding-right:0}

hr{border:0;border-top:1px solid var(--rule);margin:56px 0}

.rfoot{
  margin-top:70px;padding:26px 0 60px;border-top:1px solid var(--rule);
  display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;
}
.rfoot a{font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--dim);text-decoration:none;transition:color .3s}
.rfoot a:hover{color:var(--accent)}

@media(max-width:640px){
  body{font-size:16.5px;line-height:1.9}
  .rd{padding-top:34px}
  table{font-size:13px}
  th:nth-child(3),td:nth-child(3){display:none}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
