blog/style/page.css

548 lines
7.8 KiB
CSS

@import url(fonts/schola/schola.css);
@import url(fonts/muller/muller.css);
@import url(fonts/junius/junius.css);
@import url(fonts/pragmatapro/pragmatapro.css);
:root {
--root-col: hsl(30deg, 5%, 26%);
--fg-col: hsl(336deg, 17%, 11%);
--bg-col: hsl(40deg, 91%, 98%);
--link-col: hsl(355deg, 52%, 48%);
--ipa-font: JuniusX;
}
:root {
background: var(--root-col);
font-family: schola;
font-size: 16pt;
height: 100vh;
}
body {
background: url(paper.png), var(--bg-col);
background-blend-mode: multiply;
color: var(--fg-col);
box-shadow: 0 0 5em var(--fg-col);
max-width: 50em;
min-height: 100%;
margin: 0 auto;
padding: 1em 2em 3em;
box-sizing: border-box;
}
header {
text-align: center;
}
header h1 {
font-size: 250%;
font-weight: 200;
margin-top: 0;
}
h1, h2, h3, h4, h5, h6 {
margin: 1em 0 0.25em;
font-family: Muller;
clear: both;
}
h1 {
font-size: 150%;
font-weight: 300;
}
h2 {
font-size: 140%;
font-weight: 300;
}
h3 {
font-size: 130%;
font-weight: 300;
}
h4 {
font-size: 120%;
font-weight: 300;
}
h5 {
font-size: 110%;
font-weight: 400;
}
h6 {
font-size: 100%;
font-weight: 600;
}
header h1 {
margin-bottom: 0.5rem;
}
hr {
border: 1px solid var(--root-col);
width: 80%;
height: 0;
}
pre + hr {
margin-top: 1.5em;
}
.meta {
display: flex;
column-gap: 1em;
align-items: baseline;
justify-content: center;
}
header .date {
font-size: 80%;
font-weight: 400;
font-style: italic;
margin-top: 0;
}
.tags {
font-size: 80%;
}
.tags ul {
display: inline;
padding: 0;
}
.tags li {
list-style: none;
display: inline;
}
.tags li + li {
margin-left: 0.75ex;
}
.tag-list {
columns: 2;
}
.post-list .date, .tag-list .count {
font-size: 85%;
font-style: italic;
}
a {
color: var(--link-col);
}
b, strong {
font-weight: 600;
}
dfn {
font-style: normal;
font-weight: 500;
}
ul li {
list-style: '— ';
}
table {
margin: auto;
border-spacing: 0;
border-top: 2px solid var(--root-col);
border-bottom: 2px solid var(--root-col);
}
th {
font-weight: 500;
}
thead th {
border-bottom: 1px solid var(--root-col);
}
td, th {
padding: 0 0.5em;
vertical-align: text-bottom;
}
code {
font-family: PragmataPro;
font-size: 90%;
}
pre {
clear: both;
width: min-content;
margin: 0.5em auto;
padding: 0.5em 0.8em;
border: 1px solid var(--root-col);
background: hsla(0deg, 0%, 100%, 40%);
}
.ipa, .lang, .ebnf-t {
font-family: var(--ipa-font);
font-feature-settings:
"ccmp", "calt", "liga", "loca", "mark", "mkmk", "ss01";
/* ss01 to use modern Þþð design, others to make juniusx go brrr
* maybe i can just turn loca off but idk what other regional forms
* it does that i actually want */
text-underline-offset: 0.125em;
}
.ipa {
font-weight: 500;
}
.lang, .ebnf-t {
font-weight: 700;
}
.gloss .abbr {
font-size: 70%;
font-weight: bold;
}
.scr {
height: 1.5em;
vertical-align: -40%;
padding-right: 0.5ex;
}
.gloss .scr {
height: 2em;
}
:is(.splash, .example) .scr {
height: unset;
display: block;
margin: auto;
}
.example {
margin: auto;
}
.example .text {
display: block;
text-align: center;
width: 80%;
margin: 0.75em auto 0;
}
blockquote {
font-style: italic;
}
.letter-list {
margin: 1.25em auto 0;
display: flex;
flex-direction: row;
flex-wrap: wrap;
justify-content: space-around;
width: 80%;
row-gap: 0.5em;
column-gap: 1.5em;
}
.letter-list + .letter-list {
margin-top: 2.5em;
}
.letter-list .lang {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.letter-list .scr {
height: 3em;
margin-left: 0.5em;
}
.letter-list .text {
font-size: 125%;
}
main nav {
text-align: center;
font-size: 125%;
}
#toc > h2 {
font-size: 120%;
font-weight: 300;
}
#toc > ul {
columns: 2;
margin-left: 2em;
margin-right: 2em;
}
figure:not(.left) {
text-align: center;
}
figure:not(.left) table {
display: inline-table;
}
figure table {
margin: 1em 0.5em;
}
.gloss {
border: none;
text-align: left;
}
figure ul {
text-align: left;
margin-left: 5em;
margin-right: 5em;
columns: 2;
}
figure li {
break-inside: avoid;
}
figcaption {
font-size: 80%;
font-style: italic;
margin: auto;
}
:not(.floating) > figcaption {
width: 75%;
}
dt { font-weight: 500; float: left; clear: left; }
dd { margin-left: 4em; }
dt {
break-after: avoid;
}
dd {
break-before: avoid;
}
u u {
text-decoration: double underline;
}
:is(.twocol, .threecol):not(:is(ul, ol) *) {
margin-top: 1em;
}
.twocol {
columns: 2;
}
.threecol {
columns: 3;
}
.twocol :first-child, .threecol :first-child {
margin-top: 0;
}
.twocol-grid {
display: grid;
grid-template-columns: 1fr 1fr;
gap: 1em;
margin: 1em 0;
}
.twocol-grid .gloss {
margin-left: 0;
}
footer {
clear: both;
margin: 1.5em auto 1em;
padding-top: 0.5em;
font-size: 80%;
font-weight: 500;
text-align: center;
}
.ebnf {
border: none;
}
.ebnf td {
padding: 0 0.15em;
}
.ebnf-nt {
font-weight: 500;
color: hsl(155deg, 80%, 30%);
white-space: nowrap;
}
.ebnf-punc {
color: hsl(25deg, 40%, 30%);
}
.ebnf-sub, .ebnf-brack {
color: hsl(210deg, 80%, 35%);
font-weight: 500;
}
.ebnf-brack {
padding: 0 0.05em;
}
.ebnf-s {
font-style: italic;
color: hsl(330deg, 80%, 30%);
}
blockquote {
max-width: 70%;
border-left: 1px solid black;
padding-left: 1em;
margin: auto;
}
.note, aside {
font-size: 90%;
}
.note {
font-style: italic;
}
:is(h1, h2) .note {
font-size: 75%;
}
aside {
margin: 0.5em 3em;
padding-left: 1em;
}
aside:not(.no-line) {
border-left: 2px solid var(--root-col);
}
aside > details summary {
font-weight: 600;
}
aside :is(h1, h2, h3, h4, h5, h6) {
margin-top: 0.25em;
font-weight: 600;
}
aside h1 { font-size: 115%; }
aside :is(h2, h3, h4, h5, h6) { font-size: 100%; }
:is(aside, figure).floating {
max-width: 33%;
}
aside.floating {
padding: 0.25em 0.75em;
margin: 0.15em 1em 0;
}
figure.floating {
margin: 0 0.5em;
}
aside.floating :first-child { margin-top: 0; }
aside.floating :last-child { margin-bottom: 0; }
.kw { color: hsl(300deg, 60%, 30%); }
.pp { color: hsl(343deg, 100%, 40%); /* font-weight: 500; */ }
.dt { color: hsl(173deg, 100%, 24%); /* font-weight: 500; */ }
.fu, .at { color: hsl(34deg, 100%, 30%); /* font-weight: 500; */ }
.va { color: hsl(203deg, 100%, 30%); /* font-weight: 500; */ }
.cf { color: hsl(276deg, 75%, 35%); /* font-weight: 500; */ }
.op { color: hsl(220deg, 40%, 33%); }
.co { color: hsl(221deg, 10%, 39%); /* font-style: italic; */ }
.bu { color: hsl(120deg, 85%, 25%); }
.st, .fl, .dv, .bn, .sc, .ss { color: hsl(143deg, 100%, 20%); }
.wa { color: hsl(350deg, 80%, 25%); text-decoration: wavy 1.5px underline; }
.al { color: hsl(350deg, 80%, 25%); }
.cn { color: hsl(343deg, 100%, 30%); }
.floating {
float: right;
margin: 0.5em 1em 0.5em 2em;
}
.floating.left {
float: left;
margin: 0.5em 2em 0.5em 1em;
}
.shaped {
/* maybe one day... */
/* shape-outside: attr(src url); */
shape-margin: 1em;
}
.shadow { filter: drop-shadow(5px 5px 8px #0006); }
.pixel {
image-rendering: crisp-edges;
image-rendering: pixelated;
}
.citation {
font-size: 90%;
}
#refs {
margin-top: 0.75em;
}
.csl-entry {
margin-left: 2em;
text-indent: -2em;
}
/*
.csl-entry {
display: grid;
grid-template-columns: 4ch auto;
grid-gap: 1ex;
}
.csl-left-margin {
justify-self: end;
}
*/
.texdefs {
display: none;
}
.rulebox {
float: right;
border: 1px solid var(--root-col);
background: #ffffff66;
padding: .4em 1.2em;
}
/* the last thing in the :is is for priority fuckery */
.rulebox :is(p, .math, mjx-container, #asd) {
margin: 0;
padding: 0;
}
.clear { clear: both; }
mark {
mix-blend-mode: multiply;
background: #fbc;
padding: 0 0.35ch;
}