#t1, #t1 * { 
  --l-lgutter: 1rem;

  /* Universal Colors (Grey Shades) */
  --c-text: #000;
  --c-cat-label: #e0e0e0;
  --c-date: #666;
  --c-index-list-divider: #dcdcdc;
  --c-lotd-border: #aaa;
  --c-lotd-bg: #eaeaea;
  --c-lotd-byline-link: #004040;
  --c-block: #008080;
  --c-seriesbox: #e0e0e0;

  /* Chromatic Colours */
  --c-index-link: #006161;
  --c-index-visited: #004040;
  --c-lotd-link: #007a7a;
  --c-lotd-visited: #005252;
  --c-lotd-byline-hover: #008080;
  --c-project-name-bg: rgba(0,170,170,0.4);
  --c-unpublished-notice-text: #805301;
  --c-unpublished-notice-bg: #e6b967;
  --c-unpublished-bg: #ffd280;
  --c-lpill-bg: #dafafa;

  /* Non-Theme Colours */
  --c-cat-label-computing: #e0ffff;
  --c-cat-label-life: #ffdfa3;
  --c-cat-label-fiction: #ccccff;
  --c-cat-label-review: pink;
  --c-cat-label-photos: #d2ff94;
}

/* Link Styling */
html:not(.formal) a:link { color: var(--c-index-link); }
html:not(.formal) a:visited { color: var(--c-index-visited); }

/* Superstructure */
html:not(.formal) { font-family: sans-serif; }
html { font-size: 0.888888em; }
body { margin: 0; }
html.content #nh { padding: 0 var(--l-lgutter); }

/* Insignia */
#all { min-height: 100vh; }
@media screen {
  html:not(.noinsignia) #all { background: /*url('img/bgo.svg')*/ url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiDQoJIHZpZXdCb3g9IjAgMCAxMDAwIDEwMDAiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDEwMDAgMTAwMCI+DQo8cG9seWdvbiBmaWxsPSIjMDAwMDAwIiBmaWxsLW9wYWNpdHk9IjAuMTMiIHBvaW50cz0iMCw3NjQuMSA4NjMuMiw0MDMuMyAwLDEwMDAgIi8+DQo8cG9seWdvbiBmaWxsPSIjMDAwMDAwIiBmaWxsLW9wYWNpdHk9IjAuMTMiIHBvaW50cz0iODYzLjIsNDAzLjMgNTIyLjYsMjQ5LjYgNTIwLjYsMjE2LjYgIi8+DQo8L3N2Zz4NCg==') bottom left no-repeat; }
}

/* Formal Mode */
html.formal a:link, html.formal a:visited { font-family: serif; }
.formal header { border-top: none !important; }

/* Front Page: Heading */
h1.tsl { font-family: Helvetica, sans-serif; margin-bottom: 0; }
#xbody > h1 { margin-top: 0; padding-top: 0.67em; }
.tsl::before { content: /*url('img/tealslasho.svg')*/ url('data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPHN2ZyBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAxMDAwIDEwMDAiIHZlcnNpb249IjEuMSIgdmlld0JveD0iMCAwIDFlMyAxZTMiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiA8cmVjdCB4PSIyLjE2MzgyZS02IiB5PSIxLjg0MjdlLTYiIHdpZHRoPSIxZTMiIGhlaWdodD0iMWUzIiBmaWxsPSIjMDA4MDgwIiBzdHJva2Utd2lkdGg9IjAiLz4KIDxwb2x5Z29uIHBvaW50cz0iMCA3NjQuMSA4NjMuMiA0MDMuMyAwIDFlMyIgZmlsbD0iI2ZmZiIvPgogPHBvbHlnb24gcG9pbnRzPSI4NjMuMiA0MDMuMyA1MjIuNiAyNDkuNiA1MjAuNiAyMTYuNiIgZmlsbD0iI2ZmZiIvPgo8L3N2Zz4K'); display: inline-block; width: 1.5em; vertical-align: middle; padding-right: 0.4em; padding-left: 0.3em; }

/* Front Page: Opener */
#opener { padding-left: 1.5em; padding-right: 1.5em; }

/* Front Page: Columnar Layout */
@media screen {
  .cols { display: grid; grid-template-areas: "l r" "l2 r2"; }
  .articles { grid-area: l; }
  .lotd { grid-row: r / r2; }
  .lotd-i { align-items: start; }
}
.cols h2 { margin: 0; font-size: 1.5em; }
.ublog .cols { display: block; }
.articles-i > h2, .projects-i > h2 { padding-left: 1.5rem; }

/* Front Page: Index List */
.index-list { list-style-type: "–  "; font-family: sans-serif; }
.index-list > li { clear: both; border-top: solid 1px var(--c-index-list-divider); }
.index-list > li > div { display: grid; grid-template-columns: min-content 1fr; }
.index-list .date { float: right; color: var(--c-date); font-size: 0.835rem; padding-top: 0.2em; }
.index-list a:link:not(.cat) { text-decoration: none; }
.index-list a:visited:not(.cat) { text-decoration: none; }
.index-list { grid-area: r; }
.index-title { grid-column: 2; padding-left: 0.5ch; margin-right: 2em; }

/* Front Page: Index List: Category Pill */
.best .index-title a { font-weight: bold; }
.cat { padding: 0 0.2em; display: inline-block; min-width: 11ch; text-align: center; margin-right: 0.4ch; font-family: sans-serif; text-decoration: none; color: inherit !important; grid-column: 1; align-self: start; }
@media screen {
  .cat { background-color: var(--c-cat-label); }
  .cat-computing { background-color: var(--c-cat-label-computing); }
  .cat-life { background-color: var(--c-cat-label-life); }
  .cat-fiction { background-color: var(--c-cat-label-fiction); }
  .cat-review { background-color: var(--c-cat-label-review); }
  .cat-photos { background-color: var(--c-cat-label-photos); }
}
@media print {
  .cat { color: var(--c-text) !important; }
}

/* Front Page: Projects List */
.proj-list {}
.proj-list li > div > a:link, .proj-list li > div > a:visited { padding: 0 0.2em; display: inline-block; min-width: 11ch; text-align: center; margin-right: 0.4ch; text-decoration: none; grid-column: 1; align-self: start; }
@media screen {
  .proj-list li > div > a:link, .proj-list li > div > a:visited { background-color: var(--c-project-name-bg); color: var(--c-text) !important; }
}
.proj-desc { padding-left: 0.5ch; padding-right: 2em; grid-column: 2; }
.projects-i { padding-bottom: 2rem; }
.projects-i h2 { margin-bottom: 1rem; }
.projects-i h3 { margin: 0; font-size: 1em; padding-left: 2rem; }
.proj-list { margin: 0; }
/*.pyear { display: none; } 
.pyear span, .plabel span { display: none; }
.pyear, .plabel { background-color: rgba(0,0,0,0.1); padding: 0 0.4em; margin-right: 0.5ch; }*/
.projects { grid-area: l2; }

/* Front Page: LotD */
.lotd-box { border: solid 1px var(--c-lotd-border); margin: 0 0.25em 0.5em 0.25em; padding: 0.5em; background-color: var(--c-lotd-bg); max-width: 30em; }
.lotd-box > a:link { display: block; font-weight: bold; }
.lotd-box > a:link, .lotd-box p a:link { color: var(--c-lotd-link); }
.lotd-box > a:visited { display: block; font-weight: bold; }
.lotd-box > a:visited, .lotd-box p a:visited { color: var(--c-lotd-visited); }
.byline { font-size: 0.8em; }
.lotd-box .byline + p { margin-top: 0.2em; padding-top: 0.2em; border-top: solid 1px var(--c-lotd-border); }
.lotd-box p:last-child { margin-bottom: 0; }
.lotd-box .byline a:link, .lotd-box .byline a:visited { text-decoration: none; color: var(--c-lotd-byline-link); }
.lotd-box .byline a:hover { color: var(--c-lotd-byline-hover); text-decoration: underline; }
.lotd-box .date + .tags::before { content: " · "; }
.lotd-boxes { display: flex; flex-direction: column; flex-wrap: wrap; /*justify-content: top;*/ margin-top: 1em; }
.ublog .lotd-boxes { display: grid; grid-template-columns: repeat(auto-fit,30em); grid-template-rows: masonry; justify-content: center; }
.lotd-box:target { outline: dashed 3px var(--c-block); }
.lotd-box h3 { font-size: 1em; margin: 0; }
h2 a:link, h2 a:visited { color: inherit !important; text-decoration: none; }
.sl { display: flex; justify-content: space-between; align-items: center; }
.sl-lhs { }
.sl-rhs { text-align: right; font-size: 1rem; font-weight: normal; padding-right: 1em; color: var(--c-lotd-visited); }
h2 .micro { float: right; display: inline-block; text-align: right; font-size: 1rem; vertical-align: middle; }

.lpill { text-decoration: none; display: inline-block; color: var(--c-text); background-color: var(--c-lpill-bg); font-weight: normal; padding: 0 0.3em; font-size: 0.8em; margin-left: 1ch; }
.lpill span:first-child { display: none; }
.lpill span:last-child { display: none; }

.lotd-trailer { padding: 0 0.8rem; font-size: 0.9em; }
.lotd-trailer a:link, .lotd-trailer a:visited { color: var(--c-lotd-visited); text-decoration: none; }

/* Article Page */
html:not(.sysarticle) article { font-family: serif; font-size: 1.125rem; }
article h1 { font-family: inherit; }
p, article li { text-align: justify; }

/* Header */
header:not(.quiet) { border-top: solid 1em var(--c-block); }
header { padding: 4px 8px; }
html.content header { padding: 4px 1rem; }
header nav > ul { list-style: none; margin: 0; padding: 0; }
header nav > ul > li { display: inline-block; margin-right: 1em;  }
@media print { header { display: none; } }

/* Footer */
footer { font-size: small; font-style: italic; text-align: right; margin: 0 var(--l-lgutter) 8px var(--l-lgutter); }
html:not(.formal) footer { font-family: sans-serif; }
/* ... */
.leftlinks { float: left; text-align: left; }
.leftlinks ul, .leftlinks li { list-style: none; margin: 0; padding: 0; }
.leftlinks ul li { float: left; padding-right: 1em; }
@media print { footer .leftlinks { display: none; } }

/* Articles In This Series */
.seriesbox-1 { background-color: var(--c-seriesbox); outline: solid 1em var(--c-seriesbox); }
.seriesbox-cur > span { font-weight: bold; }
.seriesbox ul { list-style: "–  "; }

/* Wide/Narrow Mode */
.wide-mode { display: none; }
html.article:not(.formal) #narrow:target + #all main { max-width: 40em; }
html.article:not(.formal) #narrow:target + #all .narrow-mode { display: none; }
html.article:not(.formal) #narrow:target + #all .wide-mode { display: inline; }
html.formal .narrow-mode { display: none; }

/* This Article Is Unpublished */
@media screen {
  .unpublished-notice { text-align: center; background-color: var(--c-unpublished-notice-bg); margin: 1em; padding: 0.5em; font-weight: bold; color: var(--c-unpublished-notice-text); }
  .unpublished { background-color: var(--c-unpublished-bg); }
  html.unpublished:not(.noinsignia) #all { background-image: url('bg2.svg'); }
}

@media print {
  .unpublished-notice { display: none; }
}

/* Responsivity */
#mobility-links { display: none; }

@media only screen and (max-width: 850px) {
  .index-list { margin-left: 0; padding-left: 0; list-style: none; }
}

@media only screen and (max-width: 600px) {
  .narrow-mode, .wide-mode { display: none; }
  .cat { font-size: 0.9em; padding: 0.11111111em 0.2em; }
  .index-list .date { float: none; margin-right: 0; }
  .cols { grid-template-areas: "l" "l2" "r" "r2"; }
  #mobility-links { display: block; opacity: .6; text-align: center; }
}

/* Intra-Article Components */
.wrap { white-space: pre-wrap; }
.centred-image { text-align: center; }

figure:not(.for-table) { text-align: center; page-break-inside: avoid; }
figcaption { margin: 0 auto; font-size: small; text-wrap: balance; text-align: center; }
figure > table { margin: 0 auto; }
table.l { text-align: left; }
table.ugly, table.ugly td, table.ugly th { border: solid 1px var(--c-text); }
table.uglyv th:first-child, table.uglyv td:first-child { border-right: solid 1px var(--c-text); }
figure dl { text-align: justify; }
.fignote { text-align: justify; display: block; max-width: 37em; margin: 0 auto; padding-bottom: 1em; }

.cimg { max-width: 100%; text-align: center; }
.cimg img { width: auto; max-height: 50vh; }

pre, code { font-size: 1rem; }
a img { border: 0; }

/* Links Within Articles */
article a:link[href^="http"]:not(.nopfx)::before { content:  "⏩︎"; display: inline-block; padding-right: .1ch; } /* LINK */
article a:link[href^="https://github.com/"]:not(.nopfx)::before, a:link[href^="https://bitbucket.org/"]:not(.nopfx)::before { content: "⎌ "; display: inline-block; padding-right: .4ch; } /* CODE */
article a:link[href$=".pdf"]:not(.nopfx)::before { content: "❏ "; display: inline-block; padding-right: .4ch; } /* PDF */
article a:link[href$=".tar.gz"]:not(.nopfx)::before, a:link[href^="ftp:"]:not(.nopfx)::before { content: "▽"; display: inline-block; padding-right: .4ch; } /* ARCHIVE */

dt { font-weight: bold; }

/* Comments */
html.comments-page main > h1 { margin-bottom: 0; }
.comment-list { padding: 0 0rem; padding-top: 1rem; }
.comment { border: solid 1px var(--c-lotd-border); margin: 0 0.25em 0.5em 0; padding: 0.5em; background-color: var(--c-lotd-bg); }
.comment-header { font-weight: bold; }
.required { font-weight: bold; }

aside { padding: 0 3em; }

