blog/style/page.css

409 lines
5.8 KiB
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: Muller;
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;
}
h1 {
font-size: 200%;
font-weight: 200;
}
h2 {
font-size: 180%;
font-weight: 200;
}
h3 {
font-size: 160%;
font-weight: 300;
}
h4 {
font-size: 140%;
font-weight: 300;
}
h5 {
font-size: 120%;
font-weight: 400;
}
h6 {
font-size: 100%;
font-weight: 400;
}
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;
}
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 {
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;
}
.abbr {
font-size: 70%;
font-weight: 500;
}
.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;
}
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;
}
footer {
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;
}
aside {
font-size: 90%;
margin: 0.5em 3em;
border-left: 2px solid var(--root-col);
padding-left: 1em;
}
.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 { 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%); }
:is(.st, .fl, .dv, .sc) { 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%); }