body {
    background-color: #fffff8;
    color: #111;
    font-family: "ETBook", "Palatino", "Palatino Linotype", "Palatino LT STD", "Book Antiqua", Georgia, serif;
    margin: 0;
    display: flex;
    justify-content: flex-start;
    text-rendering: optimizeLegibility;
}
nav {
    width: 260px;
    height: 100vh;
    position: fixed;
    left: 0;
    top: 0;
    padding: 4rem 2rem;
    box-sizing: border-box;
    border-right: 1px solid #efefef;
    background-color: #fcfcf7;
}
nav h2 {
    font-variant: small-caps;
    font-weight: normal;
    font-size: 0.9rem;
    letter-spacing: 0.1em;
    margin: 2rem 0 0.5rem 0;
    color: #666;
    border-bottom: 1px solid #ddd;
}
nav ul { list-style: none; padding: 0; margin: 0; }
nav ul li { margin: 0.4rem 0; }
nav a { color: #111; text-decoration: none; font-style: italic; font-size: 0.95rem; }
nav a:hover { text-decoration: underline; color: #990000; }
main { margin-left: 260px; padding: 4rem 8% 4rem 8%; max-width: 800px; }
h1 { font-weight: normal; font-style: italic; font-size: 2.5rem; margin: 0 0 0.5rem 0; line-height: 1.2; }
.subtitle { font-style: italic; font-size: 1.2rem; color: #444; display: block; margin-bottom: 3rem; }
section { margin-bottom: 4rem; }
h3 { font-weight: normal; font-style: italic; font-size: 1.6rem; margin-bottom: 1rem; border-bottom: 1px solid #eee; padding-bottom: 0.5rem; }
p { font-size: 1.1rem; line-height: 1.6; margin-bottom: 1.5rem; text-align: justify; hyphens: auto; }
a.inline { color: #111; text-decoration: underline; }
a.inline:hover { color: #990000; }
.node-id { font-family: monospace; font-size: 0.8rem; color: #888; margin-top: 5rem; border-top: 1px solid #eee; padding-top: 1rem; }
.entry-meta { font-family: monospace; font-size: 0.8rem; color: #888; margin-bottom: 0.5rem; }
blockquote { border-left: 3px solid #ccc; margin: 2rem 0; padding: 0.5rem 0 0.5rem 2rem; font-style: italic; color: #444; font-family: monospace; font-size: 0.95rem; }
.screenshot { margin: 2rem 0; border: 1px solid #ddd; padding: 1rem; background-color: #fff; display: inline-block; }
.screenshot img { display: block; max-width: 100%; }
.screenshot figcaption { font-size: 0.85rem; color: #888; margin-top: 0.75rem; font-style: italic; }
.email { font-family: monospace; font-size: 1.1rem; margin: 2rem 0; }

@media (max-width: 600px) {
    body {
        flex-direction: column;
    }
    nav {
        position: relative;
        width: 100%;
        height: auto;
        padding: 1.5rem 1.5rem 1rem 1.5rem;
        border-right: none;
        border-bottom: 1px solid #efefef;
    }
    nav h2 {
        margin: 1rem 0 0.4rem 0;
    }
    nav ul li {
        display: inline-block;
        margin-right: 1rem;
    }
    main {
        margin-left: 0;
        padding: 2rem 1.5rem;
        max-width: 100%;
    }
    h1 {
        font-size: 1.8rem;
    }
    p {
        font-size: 1rem;
    }
}
section { margin-bottom: 4rem; }
h3 { font-weight: normal; font-style: italic; font-size: 1.6rem; margin-bottom: 1rem; border-bottom: 1px solid #eee; padding-bottom: 0.5rem; }
p { font-size: 1.1rem; line-height: 1.6; margin-bottom: 1.5rem; text-align: justify; hyphens: auto; }
a.inline { color: #111; text-decoration: underline; }
a.inline:hover { color: #990000; }
.node-id { font-family: monospace; font-size: 0.8rem; color: #888; margin-top: 5rem; border-top: 1px solid #eee; padding-top: 1rem; }
.entry-meta { font-family: monospace; font-size: 0.8rem; color: #888; margin-bottom: 0.5rem; }
blockquote { border-left: 3px solid #ccc; margin: 2rem 0; padding: 0.5rem 0 0.5rem 2rem; font-style: italic; color: #444; font-family: monospace; font-size: 0.95rem; }
.screenshot { margin: 2rem 0; border: 1px solid #ddd; padding: 1rem; background-color: #fff; display: inline-block; }
.screenshot img { display: block; max-width: 100%; }
.screenshot figcaption { font-size: 0.85rem; color: #888; margin-top: 0.75rem; font-style: italic; }
.email { font-family: monospace; font-size: 1.1rem; margin: 2rem 0; }
