* {
    scroll-behavior: smooth;
    scroll-margin-top: 50pt;
}

.highlight {
    outline: 2px solid var(--highlight-fg);
    outline-offset: 4px;
    background: var(--highlight-bg);
    transition: background 0.25s, outline-color 0.25s;
    border-radius: 4px;
}

ul {
    padding-left: 15pt;
}

dd {
    margin-inline-start: 18pt;
}

p::before {
    content: "DO NOT USE <p>\A";
    white-space: pre;
    color: red;
}
p, par {
    display: block;
    unicode-bidi: isolate;
    margin: 12pt 0;
}
a {
    color: var(--link);
    text-decoration-line: none;
    &:hover {
        text-decoration-line: underline;
    }
}
/* 同理:`li` 的字号是 16px,0.8 的行盒只有 12.8px,正文列表项会上下叠字。 */
li {
    line-height: normal;
}
*:has(.place) {
    position: relative;
}
.place {
    position: absolute;
}
.block {
    width: fit-content;
}
.inline-flex {
    display: inline-flex;
}
.box, .place {
    /*display: inline-flex;*/
    align-items: baseline;
    box-sizing: border-box;
}

.stack {
    display: flex;

    & > * {
        flex: 1;
    }
}

table {
    border-collapse: collapse;
    --inset: 5pt;

    td, th {
        padding: var(--inset);
        word-break: break-word;
    }
}

hr {
    margin-top: 10rem;
    margin-bottom: 10rem;
}
