:root {
	&:has(main a[href="/rss.xml"]) main a[href="/rss.xml"]{color:rgb(255 152 0)}
	&:not(:has(main a[href="/rss.xml"])) form[action="/subscribe"] a[href="/rss.xml"]{color:rgb(255 152 0)}
}
html {
	scroll-behavior:smooth;
	font-size:20px;
}
body {
	font-family:serif;
	line-height:1.5;
	max-width:860px;
	margin:0 auto;
	padding:1rem 0.5rem;
	color:#333;
	background:#fefefe;
	cursor:default;
}
h1,h2,h3,h4,h5,h6{margin:0;text-transform:uppercase}
a {
	text-decoration:none;
	color:rgb(10,105,182);
	&:hover{text-decoration:underline}
	&:has(h1),h1 &,h2 &,h3 &,h4 &,h5 &,h6 &{color:#333}
}
.page-title {margin: 15px 0;line-height: 1.2rem;}
.highlight{background-color:yellow;padding:4px 2px}
.inline-list{padding:0;margin:0;list-style:none;& li{display: inline;}}
.item{white-space:break-spaces}
.alert{color:#d48900}
.danger{color:#d40000}
.coffee { a { font-weight: bold; background: -webkit-linear-gradient(#ac5105, #502b03); -webkit-background-clip: text; -webkit-text-fill-color: transparent; position: relative; &:hover, &.active { border-bottom: 2px solid transparent; border-image: linear-gradient(#ac5105, #502b03) 1; } } }
.fall { a { font-weight: bold; background: -webkit-linear-gradient(#d48900, #d40000); -webkit-background-clip: text; -webkit-text-fill-color: transparent; position: relative; &:hover, &.active { border-bottom: 2px solid transparent; border-image: linear-gradient(#d48900, #d40000) 1; } } }
.tarot { a { font-weight: bold; background: -webkit-linear-gradient(#ff007f, #000000); -webkit-background-clip: text; -webkit-text-fill-color: transparent; position: relative; &:hover, &.active { border-bottom: 2px solid transparent; border-image: linear-gradient(#ff007f, #000000) 1; } } }
.active{font-weight:bold;border-bottom: 2px solid;}
li.pinned {
	position: relative;
	list-style: none;
	&::before {
		content: "✱";
		display: inline;
		position: absolute;
		top: 0;
		left: -1.25em;
		color: rgb(255 152 0);
	}
}
article.pinned { position: relative; &::before { content: "✱"; display: inline; position: absolute; top: 8px; left: -1.25em; color: rgb(255 152 0); } }
#posts-count {
	width: 100px;
	height: 30px;
	display: inline;
}


form{display:inline-block}
form[action='/search']{margin:0 0 10px 0}
form[action='/subscribe']{margin:30px 0}
form[action='/search'],form[action='/subscribe'] {
	& input[type=text],& input[type=email]{padding:5px 10px;border:1px solid gray;font-size:0.9rem;cursor:text}
	& input[type=submit]{padding:5px 10px;border:1px solid gray;font-size:0.9rem;background-color:black;color:white;cursor:pointer}
	& span{display:block;font-size:0.9rem;margin:5px 0 0 0}
}
form[action='/subscribe'] {
	& input {
		margin-bottom: 5px;
	}
}

header {
	position:relative;
	&::after{content:"";display:table;clear:both}
	& img{float:left;margin-right:20px;border-radius:5px}
	& p{margin:5px 0 0 0}
}
nav {
	margin:20px 0;
	& ul {
		display:block;
		padding:0;
		list-style:none;
		font-size:1rem;
		& li {
			display:inline-block;
			padding-right:8px;
			&:not(:first-child){border-left:1px solid lightgray;padding-left:8px;line-height:15px}
		}
		& li#more {
			display: none;
		}
	}
	& .small {margin-top:-10px}
	& .small li {
		font-size:0.85rem;
		padding-right:0;
		&:not(:first-child):before{content:' · '}
		&:not(:first-child){border:none;padding-left:5px;line-height:15px}
	}
}

main {
	margin:15px 0;
	& section {
		margin: 15px 0;

		& h2 {
			& a:nth-of-type(2), & a:nth-of-type(3) {
				font-size: 1rem;
				margin-left: 10px
			}

			& small {
				font-size: 0.9rem;
				color: gray;
				font-weight: normal;
				display: block;
				text-transform: none
			}
		}

		& h3 {
			display: inline-block;
			margin: 15px 0 -10px 0
		}

		& ul {
			list-style: disc;
			padding-left: 25px;

			&:has(img) {
				list-style: none;
				padding: 0
			}

			& li {
				margin-bottom: 10px;

				&:has(img) {
					display: inline-block;
					margin: 0 2px 2px 0;
					height: 140px
				}

				& p {
					font-size: 1rem;
					color: gray;
					margin: -5px 0 0 0
				}

				&:has(img) img {
					width: auto;
					height: 100%
				}
			}
		}

		& details {
			ul {
				margin: 0;
			}
			& strong {
				margin: 15px 0 5px 7px;
				display: block;
			}
		}
	}
	& #filters {
		padding:0;
		margin-bottom: 10px;
		list-style:none;
		& li {
			display:inline-block;
			&:not(:first-child){padding-left:5px;}
		}
	}
	& article {
		font-size:1.1rem;
		& figure{margin:5px 0;display:block; & img {max-width: 100%}}
		h3{margin-top:15px}
		& time,& span,& figcaption,& small{color:gray;font-size:0.9rem;display:inline-block}
		& small{margin-bottom:10px}
		& time,& span{margin:15px 0}
		& i{font-size: 0.9rem; color: darkgray;}
		& ul,& ol{margin:0}
		p{margin:0 0 10px 0}
		& figcaption{display:block}
	}
	& #gallery {
		margin: 0; padding: 0;
		list-style: none;
		& li {
			display: inline-block;
			margin-right: 5px;
			width: 200px;
			height: 200px;
			overflow: hidden;
			& img {
				height: 200px;
				width: 100%;
				display: block;
				object-fit: cover;
			}
		}
	}
	& div {
		& form {
			margin:50px 0 30px;
			h3{margin-bottom:10px}
			& input[type=text],& input[type=email],& textarea{padding:5px 10px;margin-bottom:5px;border:1px solid gray;font-size:0.9rem;cursor:text;font-family:serif}
			& input[type=submit]{padding:5px 10px;border:1px solid gray;font-size:0.9rem;background-color:black;color:white;cursor:pointer}
			& textarea {margin-bottom: 0}
		}
		#sign-form {
			margin: 20px 0;
		}
		& #comments small{color:gray}
		& #comments p{margin:0;white-space:break-spaces}
		& #comments li p:nth-of-type(2){background: #f6f6f6;
			white-space: nowrap;
			padding: 2px 15px 13px;
			margin: 10px 0 0;
			border-radius: 10px;
			display: inline-block;
			min-width: 200px;}
	}
	& blockquote {
		margin: 0;
		border-left: 4px solid;
		padding: 5px 0 5px 10px;
		white-space: nowrap;
		text-wrap: auto;
	}
	code, kbd {
		font-size: 16px;
		line-height: 20px;
		display: inline-block;
		background: #f1f1f1;
		padding: 5px;
		border-radius: 3px;
	}
	& pre {
		& code {
			display: block;
			padding: 15px;
			border-radius: 10px;
			text-wrap: auto;
		}
	}
	td {
		padding: 5px;
	}
}

#contact {
	p {
		margin: 0;
	}
}

footer {
	margin:30px 0;
	& p{margin:0}
	& small{font-size:0.8rem;color:gray}
	& ul {
		padding:0;margin:0;list-style:none;font-size:0.8rem;
		& li {
			display:inline;font-size:0.8rem;
		}
	}
}

@media screen and (max-width:680px) {
	html{font-size:18px}
	body{padding:0.5rem;line-height:1.4}
	header {
		& img{display: none}
		& h1{font-size:2.2rem;line-height:40px}
		& br{display:none}
	}
	nav {
		margin:10px 0;
		& ul li {
			font-size:1rem;
			padding-right:5px;
			&:not(:first-child){border:none;padding-left:5px}
		}
		& ul li:nth-child(n+8) {display:none}
		& ul li#more {display:inline-block}
	}
	article{font-size:1rem}
	form{zoom:0.85}
	h2{font-size:1.6rem}
	footer{margin:10px 0 5px}
}

@media screen and (max-width:440px) {
	html{font-size:16px}
	body{padding:0.3rem;line-height:1.4}
	header {
		& img{display: none}
		& h1{font-size:2.2rem;line-height:40px}
		& br{display:none}
	}
	nav {
		margin:5px 0;
		& ul li {
			font-size:1rem;
			padding-right:5px;
			&:not(:first-child){border:none;padding-left:5px}
		}
		& ul li:nth-child(n+4) {display:none}
		& ul li#more {display:inline-block}
	}
}

@media (prefers-color-scheme:dark) {
	body{color:#d0d0d0;background:#1a1a1a}
	h1,h2,h3,h4,h5,h6{color:#c8c8c8}
	a{color:#7bb3ff;&:has(h1),h1 &,h2 &,h3 &,h4 &,h5 &,h6 &{color:#c8c8c8}}
	mark{background-color:#8b6914;color:#000}
	.coffee a{background:-webkit-linear-gradient(#d4813b,#a85f28);-webkit-background-clip:text;-webkit-text-fill-color:transparent}
	form[action='/search'],form[action='/subscribe']{& input[type=text],& input[type=email],& textarea{border:1px solid #555;background:#2a2a2a;color:#d0d0d0}& input[type=submit]{background:#4f4f4f;color:#3d3d3d}}
	nav ul li:not(:first-child){border-left-color:#555}
	main section h2 small,main article time,main article span,main article figcaption,main article small,main div #comments small,footer small{color:#999}
	main article ul li p{color:#999}
	main div #comments li p:nth-of-type(2){background:#4a4a2a}
}