:root {
	--theme-color: #A831DB;
	--theme-color-fg: #FFF;
	--aux-color: #999;
}

html {
	box-sizing: border-box;
	overflow-x: hidden;
}

body {
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', ui-sans-serif, sans-serif;
	color: #333;
	background-color: #fff;
	hanging-punctuation: first allow-end;
	overflow-x: hidden;
	position: relative;
	font-size: large;
	line-height: 1.6;
}

*, *:before, *:after { 
	box-sizing: inherit;
	margin: 0;
	padding: 0;
}

a { text-decoration: none; }
a:hover { text-decoration: underline; }
li small { line-height: 1; }
figure { text-align: center; }
figure img { display: block; margin: auto; max-width: 100%; }

header[role=banner] {
	color: var(--theme-color-fg);
	background: var(--theme-color);
}

header[role=banner] .about {
	text-align: center;
	margin: auto;
	max-width: 35em;
	padding: .75rem 1.5rem;
}

header[role=banner] img.banner {
	display: block;
	margin: auto;
	max-width: 100%;
	max-height: 6rem;
}

nav {
	color: var(--theme-color-fg);
	background: var(--theme-color);
	text-align: center;
	padding: .75rem;
}
nav a {  color: inherit; border: solid 1px #fff; font-size: .875em; border-radius: .375em; padding: .375em; }
nav a:hover { text-decoration: none; background: #fff; color: var(--theme-color); }
nav a+a { margin-left: 1em; }


main { padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left); }

main.home {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(22.5rem, 1fr));
}

main.home > article {
	border-bottom: 1px dashed #eee;
}

footer {
	font-size: 0.875em;
}

footer[role=contentinfo] {
	margin: 6rem auto 1.5rem;
	text-align: center; 
	color: var(--aux-color);
}
footer[role=contentinfo] a { color: inherit; }

.content { width: 100%; margin: 0 auto; padding: 0 1.5rem; max-width: 50rem; word-wrap: break-word; }
.content header {text-align: center;}
.content footer { text-align: center; color: var(--aux-color); }
.content h1 {
	font-size: 1.5em;
	font-weight: bold;
	line-height: 1.2;
	margin: 3rem 0 1.5rem;
	color: var(--theme-color);
}
.content h1 span.episode-number {
	display: inline-block;
	color: #fff;
	background-color: var(--theme-color);
	border-radius: .5em;
	padding: 0 0.3em;
	min-width: 2em;
	text-align: center;
}
.content h2 { font-size: 1.4em; font-weight: bold; margin: 3rem 0 1.5rem; color: var(--theme-color); }
.content h3 { font-size: 1.3em; font-weight: normal; margin: 1.5rem 0 1.5rem; }
.content h2 {
	border-left: solid .5rem var(--theme-color);
	padding-left: 1rem;
	margin-left: -1.5rem;
}
.content p  { margin: 1.5rem 0; }
.content ul,
.content ol { padding-left: 2em; margin: 1.5rem 0; }
.content hr { border: none; border-top: dashed 1px #CCC; }
.content a  { color: var(--theme-color); }

.content ul { padding-left: 1em; }
.content ul li { 
	padding-left: 1em; 
	list-style-type: '✪';
}
.content ul li::marker {
	color: var(--theme-color);
}

.player { text-align: end; }
.player audio { width: 100%; }

a.icon-button {
	font-size: .875em;
	border: solid 1px var(--theme-color);
	border-radius: .375rem;
	padding: .1875rem .375rem;
	display: inline-flex;
	align-items: center;
	text-decoration: none;
}
a.icon-button:hover {
	color: #fff;
	background: var(--theme-color);
}
a.icon-button svg {
	height: 1.2em;
	width: 1.2em;
}

.profiles {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
	max-width: 75rem;
	margin: 0 auto;
	gap: 1.5rem 3rem;
}
.profiles header {
	display: grid;
	align-items: center;
	grid-template-columns: 7.5rem auto;
	grid-template-rows: 4.5rem 1.5rem;
	grid-template-areas: 
		"pic name"
		"pic addr";
}
.profiles img { 
	display: block;
	grid-area: pic;
	width: 6rem;
	height: 6rem;
	margin: auto;
	border-radius: 50%;
}
.profiles h1 {
	grid-area: name;
	font-size: 1.125em;
	margin: 0;
	text-align: start;
}
.profiles address {
	grid-area: addr;
	display: block;
	text-align: start;
	font-style: normal;
	font-size: .875em;
}
.profiles address a {
	border: solid 1px var(--theme-color);
	border-radius: .375rem;
	padding: .1875rem .375rem;
	margin-right: 1em;
	text-decoration: none;
}
.profiles address a:hover {
	background: var(--theme-color);
	color: #fff;
}