@font-face{ font-family: 'Fira Sans'; src: local('Fira Sans Regular'), url('woff/FiraSans-Regular.woff') format('woff'); font-weight: 400; font-style: normal; } @font-face{ font-family: 'Fira Sans'; src: local('Fira Sans Regular Italic'), url('woff/FiraSans-Italic.woff') format('woff'); font-weight: 400; font-style: italic; } @font-face{ font-family: 'Fira Sans'; src: local('Fira Sans Bold'), url('woff/FiraSans-Bold.woff') format('woff'); font-weight: 700; font-style: normal; } @font-face{ font-family: 'Fira Mono'; src: local('Fira Mono'), url('woff/FiraMono-Regular.woff') format('woff'); font-weight: 400; font-style: normal; } @font-face{ font-family: 'Fira Mono'; src: local('Fira Mono Bold'), url('woff/FiraMono-Bold.woff') format('woff'); font-weight: 600; font-style: normal; } :root { --color-fg: #111; --color-fg-faded: #444; --color-fg-subfaded: #777; --color-bg: #F8F8F8; --color-bg-faded: #EEE; --color-bg-subfaded: #DDD; --color-link: #0074D9; --color-border: var(--color-fg-subfaded); --color-border-faded: #444; } body { font-family: 'Fira Sans', sans-serif; font-size: 18px; line-height: 2; margin: 0 0 0 0; padding: 0 0 0 0; background-color: var(--color-bg); color: var(--color-fg); } header { margin-left: auto; margin-right: auto; max-width: 840px; height: 128px; border-bottom: solid 2px var(--color-border); padding: 32px 0 32px 0; margin-bottom: 48px; } header img { height: 128px; width: 128px; border-radius: 32px; margin-right: 16px; float: left; } header div.info div { line-height: 1; padding-top: 12px; padding-bottom: 12px; margin-left: 16px; vertical-align: top; text-align: left; float: left; } header div.info h1.title { display: block; font-size: 48px; font-weight: bold; margin-bottom: 24px; } header div.info p.subtext { display: block; font-size: 32px; margin-top: 24px; margin-bottom: 0px; } nav { line-height: 32px; text-align: right; float: right; } nav a { color: var(--color-fg-subfaded); display: block; } nav a:hover { color: var(--color-fg-faded); } main { margin-left: auto; margin-right: auto; max-width: 840px; padding-left: 32px; padding-right: 32px; } footer { text-align: center; border-top: solid 2px var(--color-border-faded); padding-top: 16px; padding-bottom: 16px; margin-top: 48px; font-size: 16px; background-color: var(--color-bg-subfaded); } footer span { display: block; } span, h1, h2, h3, h4 { padding: 0 0 0 0; margin: 0 0 0 0; } p { margin-top: 18px; margin-bottom: 18px; } div.block-small p { margin-top: 0px; margin-bottom: 0px; } h1, h2 { line-height: 1; margin-bottom: 32px; } h1 { font-size: 40px; } h2 { font-size: 32px; } h3 { font-size: 24px; } h4 { font-size: 20px; } h1.reduced, h2.reduced, h3.reduced, h4.reduced { line-height: 1.5; } .faded { color: var(--color-fg-faded); } div.post-head h1 { margin-bottom: 18px; } div.post-head span.subtext { color: var(--color-fg-faded); font-weight: normal; font-size: 20px; margin-top: 18px; } a { color: var(--color-link); text-decoration: none; } hr { height: 0; border: 0; border-top: 2px solid var(--color-border); margin-top: 48px; margin-bottom: 48px; } div.block { padding-top: 48px; padding-bottom: 48px; border-top: solid 2px var(--color-border); } div.block-small { padding-top: 32px; padding-bottom: 32px; } div.block:first-of-type, div.block-small { padding-top: 0; border-top: none; } pre, code { background-color: var(--color-bg-faded); } pre { line-height: 1.5; font-size: 14px; padding: 6px; overflow: auto; } div.articles { display: flex; padding-top: 32px; padding-bottom: 32px; } div.article { display: flex; flex-direction: column; padding-left: 16px; padding-right: 16px; flex-basis: 0; flex-grow: 1; } div.article:first-of-type { padding-left: 0; border-right: solid 2px var(--color-border-faded); } div.article:last-of-type { padding-right: 0; border-left: solid 2px var(--color-border-faded); } div.article h4 { font-size: 18px; line-height: 1.4; } div.article p.summary { font-size: 14px; height: 100%; } div.article p.extra { color: var(--color-fg-faded); font-size: 14px; line-height: 1.5; margin-top: 0; margin-bottom: 0; } p.openring { color: var(--color-fg-faded); font-size: 14px; text-align: right; } figure { text-align: center; } figure figcaption { line-height: 1; color: var(--color-faded); } @media only screen and (max-width: 950px) { header { height: 172px; } header div.info { text-align: center; } header div.info img { float: none; } header div.info div { padding-top: 19px; padding-bottom: 19px; float: none; display: inline-block; } header div.info h1.title { font-size: 50px; margin-bottom: 14px; } header div.info p.subtext { font-size: 26px; margin-top: 14px; } nav { float: none; line-height: 48px; text-align: center; } nav a { display: inline; margin-right: 32px; margin-left: 32px; } div.article p.summary { line-height: 1.5; } } @media only screen and (max-width: 600px) { div.articles { flex-direction: column; } div.article { padding: 16px 0; } div.article:first-of-type { padding-top: 0; border-right: none; border-bottom: solid 2px #AAAAAA; } div.article:last-of-type { padding-bottom: 0; border-left: none; border-top: solid 2px #AAAAAA; } } @media only screen and (max-width: 550px) { body { font-size: 17px; } header { height: 230px; min-width: 230px; padding: 16px 16px 16px 16px; margin-bottom: 24px; } header img { display: block; margin-left: auto; margin-right: auto; margin-bottom: 6px; } header div.info div { margin: 0 0 0 0; padding: 0 0 0 0; } header div.info h1.title { display: block; text-align: center; font-size: 24px; margin-top: 6px; margin-bottom: 6px; } header div.info p.subtext { display: block; text-align: center; font-size: 20px; margin-top: 6px; } nav a { display: inline; margin-right: 8px; margin-left: 8px; } hr { margin-top: 24px; margin-bottom: 24px; } h1, h2 { margin-bottom: 16px; } h1 { font-size: 36px; } h2 { font-size: 30px; } div.block, div.articles { padding-top: 24px; padding-bottom: 24px; } div.post-head span.subtext { font-size: 18px; } div.article p.summary { margin-top: 8px; margin-bottom: 8px; } p.openring { text-align: center; } } @media (prefers-color-scheme: dark) { :root { --color-fg: #DDD; --color-fg-faded: #BBB; --color-fg-subfaded: #AAA; --color-bg: #111; --color-bg-faded: #222; --color-bg-subfaded: #181818; --color-link: #4893fd; --color-border: var(--color-fg-subfaded); --color-border-faded: #444; } header img { border: solid 2px var(--color-fg); } audio { border: solid 1px var(--color-border); } }