@layers base,theme,post,bookmarks;@layer base{*,
	*::before,
	*::after
	{
		box-sizing: border-box;
	}
	:root
	{
		font-family: "SF Pro", sans-serif;
		font-weight: normal;
		--theme-color-active: #DADFF7;
		--theme-color-alt-background: #77A6A4;
		--theme-color-alt-foreground: #000;
		--theme-color-background: #232C33;
		--theme-color-border: #5A7D7C;
		--theme-color-link: #A0C1D1;
		--theme-color-text: #FFF;
		--theme-color-visited: #B5B2C2;
	}

	body
	{
		background-color: var(--theme-color-background);
		color: var(--theme-color-text);

		
		display: grid;
		grid-template-columns: 1fr min(50rem, 90%) 1fr;

		line-height: 1.75;
		margin: 1rem 0;
		padding: 0;
		scrollbar-gutter: stable;
		-webkit-font-smoothing: antialiased;
	}

	
	body>*
	{
		grid-column: 2;
	}

	img,
	picture,
	video,
	canvas,
	svg
	{
		align-self: center;
		aspect-ratio: auto;
		display: block;
		height: auto;
		margin: 0 auto;
		max-width: 100%;
	}

	audio
	{
		display: block;
		margin: 1rem auto;
		width: 77%;
	}

	pre code
	{
		display: block;
		max-width: 100%;
		overflow-x: scroll;
	}

	.hide
	{
		display: none;
	}
}@layer theme{a
    {
		color: var(--theme-color-link);
		font-weight: bold;
		text-decoration: underline 1px;
		text-underline-offset: 0.45rem;
		padding-bottom: 7px;

		&:hover,
		&:visited:hover
		{
			color: var(--theme-color-text);
			text-decoration: underline;
		}

		&:active
		{
			color: var(--theme-color-active);
		}

		&:visited
		{
			color: var(--theme-color-visited);
		}
    }

    #page__head
    {
		align-items: center;
		display: flex;
		flex-flow: row;
		gap: 1.1rem;

		picture
		{
			height: 50px;
			width: 50px;
		}

		h1
		{
			flex: 1;
		}
		h1 a
		{
			font-size: 3rem;
			text-underline-offset: 12px;
		}
	}

	#page__nav
	{
		menu
		{
			padding: 0;
			list-style-type: none;
		}
    }

    #page__main
    {
		article
		{
			margin-bottom: 1rem;

			header
			{
				align-items: center;
				display: flex;
				flex-flow: row wrap;
				gap: 1rem;

				figure
				{
					display: block;
					width: 100%;
					margin: 0;
					flex-basis: 100%;

					picture
					{
						width: 100%;

						img
						{
							height: 10rem !important;
							object-position: 50%;
							object-fit: cover;
							width: 100%;
						}
					}
				}

				h1,
				h2
				{
					flex: 1;
					margin: 0;
					overflow: hidden;
					text-overflow: ellipsis;
					text-wrap: nowrap;
				}

				h2,
				time
				{
					display: inline-block;
				}

				button
				{
					background-color: var(--theme-color-background);
					border-radius: 1rem;
					border: 2px solid white;
					color: white;
					display: inline-block;
				}
			}
		}

    	.post__card:has(figure)
    	{
    		border: 2px solid #aaa;
    		border-radius: 1rem;

			&:hover
			{
				border-color: #FFF;
			}

			header { gap: 0.25rem; }

    		figure img
    		{
    			border-top-left-radius: 0.8rem;
    			border-top-right-radius: 0.8rem;
				height: 10rem;
    		}

			h2, time { padding: 0.75rem; }

    		figure + h2,
    		figure + h2 + time
    		{
    			margin: 0;
    			padding: 0 0.75rem 0.5rem 0.75rem;
    		}

    	}

		code
		{
			font-family: 'Iosevka Term', ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, 'DejaVu Sans Mono', monospace;
		}
    }

	.old
	{
		background-color: lightblue;
		border-bottom: 3px solid white;
		border-top: 3px solid white;
		color: black;
		margin: 2rem 0;
		padding: 0 3rem;
	}

	
	.littlefoot__content
	{
		a
		{
			color: #000 !important;

			&:hover
			{
				color: #AAA !important;
			}
		}
	}

	
	a[href^="http"]:after,
	a[target="_blank"]:after
	{
		content: "⤴";
		display: inline-block;
		font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
		vertical-align: top;
		rotate: 45deg;
		padding-left: 0.25rem;
	}

	figcaption
	{
		max-width: 100%;

		h4
		{
			margin: 0.5rem 0 0 0;
		}

		p
		{
			margin: 0 0 0.5rem 0;
		}

		cite
		{
			display: block;
			margin-top: 0.5rem;
			text-align: right;
		}
	}

	
	a[href^="http"]:has(img):after,
	a[target="_blank"]:has(img):after,
	a[href^="http"]:has(picture):after,
	a[target="_blank"]:has(picture):after
	{
		content: unset !important;
	}

    #page__footer
    {
		margin-top: 2rem;

		form
      	{
      		align-content: center;
      		display: flex;
      		justify-content: center;

      		select
      		{
      			
      			font-size: 1rem;
      		}
      	}

		p
		{
			align-content: center;
			display: flex;
			gap: 1rem;
			justify-content: center;

			a {margin: 0; padding: 0; border: 0;}
		}
    }
}@layer post{p img
	{
		display: inline-block;
		vertical-align: middle;
	}

    .respond
    {
		display: block;
		padding: 2rem;
		text-align: center;
    }

    .highlight
    {
    	-webkit-user-select: all;
    	user-select: all;
    }
}@layer bookmarks{form#filter
	{
		align-content: center;
		display: flex;
		justify-content: center;
		text-align: center;

		input#filter-box
		{
			font-size: large;
			padding: 0.5rem;
			text-align: center;
		}
	}
}