html {	
	--main-chute-width: min(1150px, 100vw - 2 * var(--margin));
	--right-gutter: 0;
	--left-gutter: 0;

	--homepage-title-size: var(--font-size-h1);
	--homepage-name-size:	calc(var(--homepage-title-size) / 22 * 07);
	--homepage-font-size: calc(var(--font-size) * .83333333);
	--homepage-small-font-size: calc(var(--figcaption-font-size) * .916666666);
}

@media (width <= 1280px) {
	html {
		--main-chute-width: min(950px, 100vw - 2 * var(--margin));		
		--homepage-font-size: calc(var(--font-size) * .9);
		--homepage-small-font-size: calc(var(--figcaption-font-size) * 1.0);
	}
}o

@media (767px < width <= 1280px) {
	html {
		--homepage-title-size: var(--font-size-h1-epic);
	}
}

.main > h1 {
	font-family: var(--font-pixel-font-22) !important;
	font-size: var(--homepage-title-size);
	
	.luna {	
		color: var(--lighter-gray);
	}
	
	.name {
		display: block;
		line-height: 1.5;
		
		font-family: var(--font-pixel-font-07);	
		font-size: var(--homepage-name-size);
		color: var(--lighter-gray);
	}
}

.main footer {
	font-size: var(--homepage-small-font-size);
	
	margin-top: calc(var(--margin) * 4);
	
	& > div:last-child {
		margin-bottom: 0;
	}
}

h5 {	
	font-family: var(--font-pixel-font-17) !important;	
	font-size: var(--homepage-font-size);
	
	grid-column: 1 / span 1;
}

aside {
	display: block;
	grid-column: 2 / span 1;
	grid-row: 1 / span 20;

	font-size: var(--homepage-small-font-size);
	line-height: 1.2;
	font-family: var(--font-selectric-un);
	
	> div {
		margin-bottom: var(--margin);
	}
	
	a.link {
		font-size: var(--homepage-small-font-size);
		
		display: block;
		color: var(--text);
		line-height: 1;
		padding-top: .3em;
		padding-bottom: .1em;
		position: relative;
		padding-left: 30px;
		
		.icon {
			position: absolute;
			top: 0;
			left: 0;
			background: var(--text-gray);
		}		
	}
	
	.photos {
		margin-top: 10px;
		margin-left: 32px;
		
		a {
			display: flex;
			flex-wrap: wrap;		
			gap: calc(var(--margin) / 8);
			
			&:hover {
				background: initial !important;	
			}
			
			.photo {
				width: calc((100% - 3 * var(--margin) / 8) / 4);
				aspect-ratio: 1 / 1;
				outline: 1px solid var(--lighter-gray);
			}
		}
	}
	
	.explanation {
		padding-left: 32px;
		padding-top: calc(var(--margin) / 4);
		color: var(--text-gray);		
		letter-spacing: .03em;
	}
}

@media (width <= 1280px) {
	aside .photos a {
		gap: calc(var(--margin) / 4);
	}
	aside .photos a .photo {
		width: calc((100% - 2 * var(--margin) / 4) / 3);
	}
}

@media (767px < width <= 1280px) {
	aside .photos a .photo:nth-child(16) {
		display: none;
	}	
}

@media (hover: hover) {
	aside a.link:hover {
		background: var(--accent);
		color: var(--background);
		
		.icon {
			background: var(--background);
		}
	}
}

.hanging-quote {
	text-indent: -.55em;
}
.hanging-quote-small {
	text-indent: -.35em;
}

	
.columns {
	display: grid;
	
	grid-template-columns: 61fr 39fr;

	gap: var(--margin) calc(3 * var(--margin));
	min-width: 100%;
}


ul {
	list-style: none;
	padding: 0;
	margin: 0;
	
	grid-column: 1 / span 1;
		
	&:not(:last-child) {
		border-bottom: .5px solid var(--text-gray);
		padding-bottom: 2em;	
		margin-bottom: .75em;	
	}
}


.columns li {
	line-height: 1.1;
	text-wrap: pretty;
	position: relative;

	padding-top: .5em;	
	margin-bottom: 0;
}
.columns li:has(.meta) {
	margin-bottom: .5em;
}


.title {
	white-space: nowrap; /* Just to glue title and meta together */
	display: block;
}
	
li > .title > a,
.overflow-entry-point button { 
	color: var(--text);		
	
	font-size: var(--homepage-font-size);
	
	white-space: normal;		
	
	font-family: var(--font-pixel-font-17) !important;	
	
}
li > .title > a.hovered {
}
li > .title > a:active {
	position: relative;
	top: 1px;
}
li > .title > a:visited {
	color: var(--mid-gray);
}

h5 {	
	color: var(--accent);
	background: transparent;
	
	height: min-content;
	width: fit-content;
}


.type {
	color: var(--text-gray);
	font-family: var(--font-selectric-un);		
	font-size: var(--homepage-small-font-size);
	
	letter-spacing: .02em;
	white-space: nowrap;
	margin-left: .1em;
}
[data-type='essay'] .type:before {
	content: '/ Essay / ' attr(data-year);
}
[data-type='thread'] .type:before {
	content: '/ Social thread / ' attr(data-year);
}
[data-type='thread-photo'] .type:before {
	content: '/ Social photo thread / ' attr(data-year);
}
[data-type='site'] .type:before {
	content: '/ Site / ' attr(data-year);
}
[data-type='talk'] .type:before {
	content: '/ Talk / ' attr(data-year) ' / ' attr(data-duration) ' mins';
}
[data-type='video'] .type:before {
	content: '/ Video / ' attr(data-year) ' / ' attr(data-duration) ' mins';
}
[data-type='app'] .type:before {
	content: '/ App / ' attr(data-year);
}
[data-type='book'] .type:before {
	content: '/ Book / ' attr(data-year);
}
[data-type='game'] .type:before {
	content: '/ Game / ' attr(data-year);
}
[data-type='tool'] .type:before {
	content: '/ Tool / ' attr(data-year);
}
[data-type='playground'] .type:before {
	content: '/ Playground / ' attr(data-year);
}
[data-type='just-year'] .type:before {
	content: '/ ' attr(data-year);
}

.meta {
	font-size: var(--homepage-small-font-size);
	
	max-width: 85%;
	letter-spacing: .02em;
	line-height: 1.2;
	margin-top: .2em;
	
	text-wrap: pretty;
	
	color: var(--text-gray);
	display: block;
	font-family: var(--font-selectric-un);
}

.mobile-unfriendly .meta:before {
	display: none;
	content: 'Not mobile friendly / ';
	color: var(--text);
	white-space: nowrap;
}


@media (prefers-color-scheme: dark) {
	li > .title > a:visited {
		color: var(--light-gray) !important;
	}
	
	aside .photos a .photo	{
		outline-color: var(--dark.-gray);
	}

}

.overflow-entry-point button {
	appearance: none;
	padding: 0;
	margin: 0;
	border: none;
	background: none;
	line-height: 1.1;
	
	color: var(--mid-gray) !important;
	
	&:after {
		display: inline-block;
		transform-origin: 50% 60%;
		margin-left: .4em;
		content: ' ↓';
	}
}

.overflow {
	overflow-y: clip;
	
	height: 0;
	padding-top: 0 !important;
	margin-bottom: 0 !important;
	box-sizing: border-box;
	
	transition: height 500ms, margin 500ms, padding 500ms, overflow 0.0001s;
	transition-behavior: allow-discrete;
  transition-timing-function: var(--bezier);
	
	pointer-events: none;
	
	.meta {
		margin-bottom: 0 !important;	
		
		transition: margin 1s;
	}
}

.overflow:first-of-type {
	background: red;
}

@media (hover: hover) {
	.overflow-entry-point button:hover {
		color: var(--text) !important;
	}
}
	
.overflow-entry-point button:after {
	transition: transform 500ms steps(8);
	transform: rotateZ(0);
}

ul.show-overflow {
	.overflow {
		height: auto; /* For Safari and browsers that don’t support calc-size yet */
		height: calc-size(auto, size);
		padding-top: .5em !important;
		margin-bottom: .5em !important;
		overflow-y: inherit;	
		
		transition: height 1s, margin 1s, padding 1s, overflow 2s, pointer-events 3s; /* 2s since its flips in the middle for discrete things */
		transition-behavior: allow-discrete;
		transition-timing-function: var(--bezier);
		transition-delay: calc(var(--overflow-count) * 150ms);
		
		pointer-events: auto;		
	}
	
	.overflow-entry-point button:after {
		transition: transform calc(750ms + var(--overflow-count) * 150ms) steps(8);
		transform: rotateZ(-180deg);
		/* content: ' ↑'; */
	}
}

ul.show-overflow-fast {
	.overflow {
		transition: none !important;
	}
	.overflow-entry-point button:after {
		transition: none !important;
	}
}


.hover-under {
	position: absolute;
	pointer-events: none;
	z-index: 1000000;
	background: white;
	mix-blend-mode: difference;
	
	&.disappearing-above {
		transform-origin: 50% 0;
		transform: scaleY(0);
		transition: transform 500ms var(--bezier);
	}
	&.disappearing-below {
		transform-origin: 50% 100%;
		transform: scaleY(0);
		transition: transform 500ms var(--bezier);
	}
}




@media (width <= 767px) {
	html {
		--homepage-title-size: 	var(--font-size-h1-epic);
		--homepage-name-size:	calc(var(--font-size-h1-epic) / 22 * 07);
		--homepage-font-size: calc(var(--font-size) * 0.83333333);
		--homepage-small-font-size: 15px;
	}

	.main > h1 {
		margin-top: calc(var(--margin) * 3);
		margin-bottom: calc(var(--margin) * 4);
	}

	.columns {
		grid-template-columns: 1fr;
	}
	
	ul {
		margin-left: calc(-1 * var(--margin));
		padding-left: var(--margin);
		margin-right: calc(-1 * var(--margin));
		padding-right: var(--margin);
	}
	
	aside {
		grid-column: 1 / span 1;
		grid-row: 3 / span 1;		

		margin-left: calc(-1 * var(--margin));
		padding-left: var(--margin);
		margin-right: calc(-1 * var(--margin));
		padding-right: var(--margin);
		
		border-bottom: .5px solid var(--text-gray);
		padding-bottom: 2em;	
		margin-bottom: .75em;	

	}
	
	.mobile-unfriendly .meta:before {
		display: initial;
	}
	
	aside .photos {
		display: block;
		margin-left: calc(-1 * var(--margin));
		margin-right: calc(-1 * var(--margin));
		width: calc(100vw);
		box-sizing: border-box;
		padding: 0;
		padding-top: 1px; /* Leave room for border */
		padding-left: var(--margin);
		padding-right: var(--margin);
		overflow-x: scroll;
		
		.photo {
			width: 128px !important;
		}
		
		a {
			display: block;
			white-space: nowrap;
		}
	}
	
	aside .explanation {
		padding-left: 0;
	}
	
	aside .links {
		display: grid;
		grid-template-columns: 1fr 1fr;
	}
	
	aside .links .link {
		display: inline-block;
		margin-bottom: .5em;
		
		.icon {
			top: -2px;
		}		

	}
	
	.main footer {
		margin-left: calc(-1 * var(--margin));
		padding-left: var(--margin);
		margin-right: calc(-1 * var(--margin));
		padding-right: var(--margin);
	}
}
