body.pin-fbody {
    width: 21cm;
    height: 29.7cm;
    /* border: 1px solid red; */
}

div.pin-fbody {
    --ff-fraktur: "Normalfraktur";
    --ff-heading: "MarsFraktur";
    --ff-antiqua: "AntiquaEnglisch";

    padding: 2em;
    font-family: var(--ff-fraktur);
    font-size: 12pt;

    background-color: #FFF;
    color: #000;

    &.dark {
        background-color: transparent;
        color: #FFF;

        nav {
            border-bottom: 1pt solid #FFF;
        }
    }

    nav {
        font-size: 14pt;
        padding-bottom: 10pt;
        margin-bottom: 10pt;
        border-bottom: 1pt solid black;

        .name {
            float: right;

            &::after {
                content: '.';
            }
        }
    }

    strong {
        margin-inline-start: 0.25em;
        margin-inline-end: 0.125em;
        letter-spacing: 0.125em;
        font-feature-settings: "liga" 1, "calt" 1;
        font-weight: 400;
    }

    antq {
        font-family: var(--ff-antiqua);
        line-height: 11pt;
    }

    p, li {
        text-align: justify;
    }

    p, ol, ul {
        margin-block: 0.5em;
    }

    h1 {
        font-size: 14pt;
        margin-top: 1em;
        margin-bottom: 0.25em;

        &::after { content: '.' }
    }

    h2 {
        font-size: 14pt;
        margin: 0;
    }

    li header {
        display: inline;
        font-weight: 700;

        &::after {
            content: ':';
        }
    }

    z {
        font-feature-settings: "liga" 0, "calt" 0;
    }

    table {
        font-feature-settings: "tnum" 1;
    }

    table.pin-prettytable {
        border-collapse: collapse;

        th, td, caption {
            border: 1pt solid black;
            padding: 1pt;
            padding-inline: 0.5ch;
        }

        th {
            text-align: left;
            &::after { content: '.'; }
        }

        caption {
            border-bottom: 0;
            font-weight: 700;
            &::after {
                content: '.';
            }
        }
    }

    .title {
        text-align: center;
        margin-top: 64pt;
        margin-bottom: 48pt;
    }

    .number {
        font-size: 20pt;
        font-weight: 700;
        font-family: var(--ff-antiqua);
        --dash-distance: 10pt;
        
        &::before, &::after {
            content: '⸺';
        }

        &::before {
            margin-right: var(--dash-distance);
        }

        &::after {
            margin-left: var(--dash-distance);
        }

        .prefix-parent {
            position: relative;
            margin-right: 0.75rem;
            &::after {
                position: absolute;
                font-size: 50%;
                content: '•';
                bottom: 1pt;
                left: 16.5pt;
            }
        }

        .prefix-child {
            position: absolute;
            font-size: 13pt;
            top: 0.3ch;
        }
    }

    .headline {
        font-family: var(--ff-heading);
        font-size: 32pt;
        font-weight: 700;

        &::after {
            content: '.';
        }
    }

    .author {
        margin-top: 0.25em;

        .name {
            letter-spacing: 0.125em;
            font-feature-settings: "liga" 1, "calt" 1;

            &::after { content: '.'; }
        }

        .rank::after { content: '.'; }
        .organization::after { content: '.'; }
    }
}
