/* colors and general */
:root {
    --accent: #8E563B;
    --bg: #ffffff;
    --border: #e3e0db;
    --fg: #1a1a1a;
    --muted: #6b6b6b;
}

html {
    box-sizing: border-box;
}
*, *:before, *:after {
    box-sizing: inherit;
}

a:visited {
    color: color-mix(in srgb, var(--accent) 65%, black);
}

a {
    color: var(--accent);
}

h2 {
    color: var(--muted);
}

/* default (mobile) layout */
body {
    max-width: 65ch;
    margin: 0 auto;
    padding: 1rem;
    background: var(--bg);
    color: var(--fg);
    font-family: system-ui, sans-serif;
    line-height: 1.6;
}


/* general and desktop layout */
nav.sidebar {
    color: var(--muted);
}

@media (min-width: 860px) {
    body {
        display: grid;
        grid-template-columns: 14rem minmax(0, 1fr);
        grid-template-areas:
            "head main"
            "navi main"
            "navi extra"
            "navi foot";
        column-gap: 3rem;
        max-width: 60rem;
    }

    header { grid-area: head; }
    nav.sidebar { grid-area: navi; }
    main { grid-area: main; }
    aside.for-hire { grid-area: extra; }
    footer.site-footer { grid-area: foot; }
}

/* avatar related */
.intro .u-photo {
    width: 4rem;
    image-rendering: pixelated;
}

footer .u-photo {
    width: 2.5rem;
    vertical-align: middle;
    image-rendering: pixelated;
}

.intro.h-card {
    display: flow-root; /* have text flow around photo */
    margin-top: 1rem;
}

.intro.h-card .u-photo {
    float: left;
    margin: 1rem 1rem 0.5rem 0;
}

/* general tweaks */
.hidden { display: none; }
.error { color: firebrick; }

.h-feed article {
    margin-top: 2rem;
}

footer.site-footer {
    margin-top: 2rem;
    padding-top: 1rem;
    border-top: 1px solid var(--border);
    color: var(--muted);
}

.cat-name {
    color: var(--muted);
    font-size: 0.95em;
}

.description {
    color: var(--muted);
    font-size: 0.9em;
}

.dt-published, .dt-updated {
    color: var(--muted);
}

.h-entry .p-name {
    margin-bottom: 0;
}

.sidebar {
    border-top: 1px solid var(--border);
}

.sidebar form {
    display: flex;
}

.sidebar input[type="text"] {
    flex: 1;
    min-width: 0;
}

ul.social {
    list-style: none;
    display: flex;
    gap: 1em;
    margin: 0;
    padding: 0;
}

.entry-prev::marker {
    content: "← ";
}

.entry-next::marker {
    content: "→ ";
}

.tags-container {
    display: flex;
    gap: 1ch;
    color: var(--muted);
    font-size: 0.9rem;
}

.tags {
    display: flex;
    gap: 1ch;
    list-style: none;
    margin: 0;
    padding: 0;
}