@import "/fonts/Archivo.css";
@import "/fonts/ChivoMono.css";
@import "/fonts/Manuale.css";
@namespace html url(http://www.w3.org/1999/xhtml);
@namespace svg url(https://www.w3.org/2000/svg);
@namespace atom url(http://www.w3.org/2005/Atom);
@namespace sitemap url(http://www.sitemaps.org/schemas/sitemap/0.9);

:root {
    font-family: Archivo, system-ui, Arial, sans-serif;
    font-size: 125%;
    font-weight: 275;
    line-height: 1.7;
    margin: 0 auto;
    max-width: 60ic;
}

/* HTML */

html|code, html|kbd, html|listing, html|plaintext, html|pre, html|samp,
html|tt, html|xmp {
    font-family: "Chivo Mono", ui-monospace, "Cascadia Code", monospace;
}
html|img { max-width: 100%; }

html|figure > html|* {
    width: 100%;
    height: auto;
}
html|figcaption {
    text-align: center;
}
html|figcaption:has(+ html|blockquote) { text-align: left; }
html|blockquote + html|figcaption { text-align: right; }

html|hr {
    border: 0;
    border-top: 1px dotted gray;
    margin-block: 0;
    text-align: center;
}

html|pre { white-space: pre-wrap; }
html|p { margin-block: 1ic; }

html|table {
    border-collapse: collapse;
    font-variant-numeric: tabular-nums;
    table-layout: fixed;
}

html|td, html|th {
    border: 1px solid gray;
}

/* sitemap.xml */

sitemap|* {
    display: block;
}

sitemap|urlset {}
sitemap|urlset::before {
    display: block;
    font-size: 2ic;
    content: "This is the sitemap.xml file for my website. Unless you’re a search engine, this is pretty uninteresting stuff. Why are you here?";
    margin-block: 1ic;
}

sitemap|url {}

sitemap|loc {
    font-family: "Chivo Mono", ui-monospace, "Cascadia Code", monospace;
}

sitemap|changefreq, sitemap|lastmod, sitemap|priority { text-indent: 4ch; }
sitemap|changefreq::before { content: "Changes "; }
sitemap|lastmod::before { content: "Last modified on "; }
sitemap|priority::before { content: "Priority: "; }

/* Atom */

atom|* {
    grid-column: 1 / 7;
}

/* 2. Atom Documents */

atom|feed, atom|entry {
    display: grid;
    column-gap: 1ic;
    grid-auto-rows: min-content;
}

/* 4.1.1. The "atom:feed" Element */
atom|feed {
    padding: 8px;
    grid-template-columns: repeat(6, 1fr);
}

/* 4.1.2. The "atom:entry" Element */
atom|entry {
    grid-template-columns: subgrid;
    margin-top: 3ic;
}

atom|entry + atom|entry {
    border-top: 4px dotted gray;
    padding-top: 2ic;
}

/* 4.2.1. The "atom:author" Element */
atom|author {
    display: block;
    grid-column: 2 / 4;
    grid-row: 2;
    padding-inline: 1ic;
}
atom|feed > atom|author {
    text-align: center;
}

/* 4.2.2. The "atom:category" Element */
atom|category {
    grid-column: auto;
    grid-row: auto;
    font-family: "Chivo Mono", ui-monospace, "Cascadia Code", monospace;
    color: #333;
}
atom|category::before {
    content: "#" attr(term);
}
atom|category:has([label])::before {
    content: "#" attr(label);
}

/* 4.2.3. The "atom:contributor" Element */
atom|contributor {
    display: block;
}
atom|feed > atom|contributor {}

/* 4.2.4. The "atom:generator" Element */
atom|generator {
    display: block;
}

/* 4.2.5. The "atom:icon" Element */
atom|icon {
    display: block;
}

/* 4.2.6. The "atom:id" Element */
atom|id { display: none; }

/* 4.2.7. The "atom:link" Element */
atom|link {
    display: block;
    text-align: center;
}
atom|link::before {
    content: "Link: " attr(href);
    font-family: "Chivo Mono", ui-monospace, "Cascadia Code", monospace;
}
atom|feed > atom|link[rel=self]::before {
    content: "You are here: " attr(href);
}
atom|feed > atom|link[rel=alternate]::before {
    content: "This is the feed for: " attr(href);
}

/* 4.2.8. The "atom:logo" Element */
atom|logo {
    display: block;
}

/* 4.2.9. The "atom:published" Element */
atom|published::before {
    display: inline;
    content: "Published on: ";
}

/* 4.2.15. The "atom:updated" Element */
atom|updated::before {
    display: inline;
    content: "Last Updated: ";
}

/* 4.2.11. The "atom:source" Element */
atom|source {
    display: none; /* FIXME */
}

atom|feed > atom|generator {}
atom|feed > atom|icon {}
atom|feed > atom|id {}
atom|feed > atom|link {}
atom|feed > atom|logo {}

atom|entry > atom|author {}
atom|entry > atom|contributor {}
atom|entry > atom|id {}
atom|entry > atom|link {}
/* atom|entry > atom|source {} */

/* 4.2.14. The "atom:title" Element */
atom|title {
    display: block;
    grid-column: 1 / 7;
    grid-row: 1;
    text-align: center;
    text-wrap: balance;
}
atom|feed > atom|title {
    background: linear-gradient(90deg, mediumblue 10%, navy 40%, indigo);
    background-clip: text;
    color: transparent;
    font-size: 5ic;
    font-stretch: 87.5%;
    font-weight: 625;
}
atom|entry > atom|title {
    font-size: 2ic;
    font-stretch: 87.5%;
    font-weight: 625;
}

/* 4.2.12. The "atom:subtitle" Element */
atom|subtitle {
    display: block;
}
atom|feed > atom|subtitle {}
atom|entry > atom|subtitle {}

/* 4.2.13. The "atom:summary" Element */
atom|summary {
    display: block;
}

/* 4.1.3. The "atom:content" Element */
atom|content {
    display: block;
}

/* 4.2.10. The "atom:rights" Element */
atom|rights {
    display: block;
    text-align: right;
}
atom|feed > atom|rights {}
atom|entry > atom|rights {}

/* 3.1. Text Constructs */

atom|title, atom|subtitle, atom|summary, atom|content, atom|rights {
    display: block;
    grid-column: 1 / 7;
}

/* atom|title[type=text], atom|subtitle[type=text],
atom|summary[type=text], atom|content[type=text],
atom|rights[type=text] {
}

atom|title[type=html], atom|subtitle[type=html],
atom|summary[type=html], atom|content[type=html],
atom|rights[type=html] {
} */

atom|title[type=xhtml], atom|subtitle[type=xhtml],
atom|summary[type=xhtml], atom|content[type=xhtml],
atom|rights[type=xhtml] {
}

/* 3.2. Person Constructs */

atom|author, atom|contributor {
    display: block;
}

atom|name { display: block; }
atom|uri, atom|email { display: none; }

atom|name::before {
    content: "Author: ";
}
/* atom|uri::before {
    content: "URL: ";
}
atom|email::before {
    content: "Email: ";
} */

/* 3.3. Date Constructs */

atom|published, atom|updated {
    display: block;
    grid-column: 1 / 7;
    grid-row: 2;
    text-align: center;
}
atom|feed:has(> atom|author) > atom|updated,
atom|entry:has(> atom|author) > atom|published,
atom|entry:has(> atom|author) > atom|updated {
    grid-column: 4 / 7;
    text-align: left;
}

atom|entry:has(> atom|published) > atom|updated {
    display: none;
}

atom|author, atom|category, atom|link, atom|published, atom|rights,
atom|updated {
    font-size: 80%;
}
