/* main page */

/* The "Make it simple" reset */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}


/* .maintainer {
  display: grid;
  grid-template-rows: minmax(auto, 6.5rem) 2rem 1fr 13rem;
  height: 100vh;
  position:absolute;
  z-index:10000;
}

.flexible-div {
  overflow-y: auto;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, black 10%);
  mask-image: linear-gradient(to bottom, transparent 0%, black 10%);
}

.top-div { background: #eee; }
.second-div { background: #ddd; }
.bottom-div { background: #ccc; }
.content { padding: 20px; line-height: 2; } */

.maintainer {
  display: grid;
  grid-template-rows: minmax(auto, 6.5rem) auto 1fr 13rem;
  
  /* Positioning and Size */
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%); /* Centers the absolute div */
  z-index: 1;
  
  width: 100%;
  max-width: 640px;
  height: 100vh;
  height: 100dvh;
  /* background: rgba(255, 0, 0, 0.01); */
}

/* Ensure all children span the full width of the maintainer */
.maintainer > * {
	width: 100%;
	box-sizing: border-box;
}

.maintainer > * {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	box-sizing: border-box;
}

.flexible-div {
	overflow-y: auto;
	/* Hide scrollbars */
	-ms-overflow-style: none;
	scrollbar-width: none;
	/* -webkit-mask-image: linear-gradient(
		to bottom,
		transparent 0,
		black 10px
	);
	mask-image: linear-gradient(
		to bottom,
		transparent 0,
		black 10px
	); */
}

.flexible-div.fade {
  	-webkit-mask-image: linear-gradient(
		to bottom,
		transparent 0,
		black 10px,
		black calc(100% - 5px),
		transparent 100%
	);
  	mask-image: linear-gradient(
		to bottom,
		transparent 0,
		black 10px,
		black calc(100% - 5px),
		transparent 100%
	);
}

.flexible-div::-webkit-scrollbar {
  display: none;
}

/* Visual testing styles */
.top-div {
	background: rgba(209, 228, 0, 0);
}
.second-div {
	background: rgba(28, 121, 56, 0);
}
.bottom-div {
	background-color: rgba(100, 130, 240, 0);
}





.main {
	height: 100%;
	align-items: center;
	justify-content: flex-start;
	/* overflow-y: scroll; */
	overflow-x: hidden;
	position: relative;
	width: 100%;
	max-width: 640px;
	display: flex;
	flex-direction: column;
}

.stack {
	display: flex;
	flex-direction: column;
	height: 100%;
	align-items: center;
	justify-content: flex-start;
	overflow-y: scroll;
	overflow-x: hidden;
	position: relative;
	width: 100%;
	max-width: 640px;
}

/* .full .main,
.full .stack {
	max-width:unset;
} */

.btns {
	position:absolute;
	top:0;
	width:100%;
	max-width:640px;
}
	/* .btns {
		position: fixed;
		top: 0;
		width: 100%;
		max-width: 640px;
		z-index: 1000;
	} */

	.btns > div {
		position:absolute;
		top:0.75rem;
		display:flex;
		flex-direction:column;
		gap:0.75rem;
	}

	.btns .east {
		right:0.75rem;
	}

	.btns .west {
		left:0.75rem;
	}

	.btn.round.question {
		font-weight: 100;
	}




.landscape-error {
	display: none;
}

@media screen 
  and (orientation: landscape) 
  and (max-device-width: 1024px) 
  and (max-height: 500px)        
  and (pointer: coarse) {

	.main {
		width:100%;
		max-width:100%;
		flex-direction:row;
		align-items: flex-end;
	}

	.main section.keyboard {
		position:relative;
		/* width:50%; */
	}

	.main .playarea {
		bottom: 0;
	}
	
	.landscape-error:not(.dismissed) {
        position: fixed;
        top: 0;
        right: 0;
        width: 50vw;
        height: 100vh;
        color: #fff;
		font-size:1.2rem;
        z-index: 10000;
		display: flex;
        flex-direction: column;
        justify-content: flex-start;
        align-items: center;
        text-align: center;
		padding: 1rem;
	}
	
	.landscape-error .morphers div {
		display:inline;
	}

	.fixed.src .playarea .playfader {
		width:50%;
	}

	/* 3. Hide all other page content to force interaction */
	/* body > :not(.landscape-error) {
		display: none;
	} */
}



/* play area */

.playarea {
	/* position: absolute; */
	position:relative;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	width:100%;
    /* top: 0; */
    /* bottom: 17.5rem;
	bottom: 13.125rem; */
	/* bottom: 0; */
    justify-content: flex-start;
	z-index:1;
    overflow-y: auto;

	/* good try? */
    overflow-anchor: none;
	scroll-snap-type: y mandatory;
	padding-top:0.5rem;
	overflow-x:hidden;
}
body {
	font-size: 1.2rem;
}

.playarea > div:not(.logo, .playfader) {
	transition: opacity 0.2s 0.1s;
}

@media screen and (min-width: 580px) {
	.modal {
		font-size: 1.7rem;
	}

	.stally:has(.green), .stally:has(.yellow) {
		margin-top: -1.7rem;
	}
}

@media only screen and (min-width: 1025px) {
	/* .playarea {
	 */
	body {
		font-size: 1.7rem;
	}
	/* .modal .htp {
		font-size: 1.7rem;
	} */
}

/* .playarea.undermodal .accepted.word { */
	/* height: 0; */
	/* opacity: 0; */
	/* transition: height 0.2s 0s, opacity 0.2s 0s; */
	/* transition: opacity 2.2s 1s; */
/* } */

/* .playarea.undermodal .source {
	transition: opacity 0.2s;
}

.playarea.undermodal .target {
	transition: opacity 0.2s;
} */

.playarea.undermodal > div:not(.logo, .playfader) {
	opacity: 0;
	transition: opacity 0.2s 0s;
}

	.logo {
        width: 100%;
		max-width: 100%;
		height: 105px;
		height: 5.5rem;
		background-size: contain;
		background-position: center;
		background-repeat: no-repeat;
		opacity: 0.5;
		color: rgb(180, 180, 180);
		display: flex;
		justify-content: center;
		align-items: center;
		/* margin-bottom: 20px; */
		/* background-image: url("../images/wfw4.3.png"); */
		
		/* morphrase */
		background-image: url(../images/morphrase_logo.png);
		transition: filter 0.3s;
		opacity: 1;
		
		/* if using text */
		font-family: "Megrim", system-ui;
		font-family: "Expletus Sans", sans-serif;
		font-weight: 400;
		font-style: normal;	
		flex-shrink: 0;
	}

	@media only screen and (min-width:1025px) {
		.logo {
			height: 6.5rem;
		}
	}

	.fixed .logo {
		position:fixed;
		max-width:380px;
	}

	.fixt.logo {
		display:none;
	}

	.fixed .scro.logo {
		display:none
	}

	.fixed .fixt.logo {
		display:block;
		position:fixed;
    	z-index: 30;
	}

	.fixed .scrollfader {
		display:block;
		position:fixed;
		width:100%;
		max-width:380px;
		height:9.375rem;
		background: linear-gradient(0deg, transparent 0%, #101010 50%);
		z-index: 10;
	}

	.fixed.src .scrollfader {
		display:none;
	}

	.fixed.src .playfader {
		height:15rem;
		position:fixed;
		width:100%;
		height:8rem;
		/* background:linear-gradient(0deg, transparent 0%, #101010 15%); */
		background:linear-gradient(0deg, transparent 0%, #101010 10%);
		z-index:2002;
	}

	.fixed.src .source {
		position: fixed;
    	max-width: 640px;
		margin-top: 4.8rem;
		
		left: 50%;
    	transform: translateX(-50%) translateZ(0); /* Combined fix */

		/* Force GPU acceleration to lock the coordinate system */
		/* -webkit-transform: translateZ(0); */
		/* transform: translateZ(0); */
		/* Tell Safari to expect changes to avoid the snap */
		/* will-change: transform, opacity; */
		/* Optional: Ensure it has a stable backface */
		/* -webkit-backface-visibility: hidden; */
		/* backface-visibility:hidden; */
	}

	.fixed.src .words {
		padding-top:7.5rem;
	}

	@media only screen and (min-width:1025px) {
		.fixed.src .source {
			margin-top:6.2rem;
		}
		.fixed.src .words {
			padding-top:10rem;
		}
		.fixed.src .playfader {
			height:10.5rem;
		}
	}
	/* .compression .logo { */
		/* margin-bottom: 4px; */
		/* position: absolute; */
		/* top: 0; */
	/* } */

	@media only screen and (min-width: 0px) {
		.logo {
			max-width: 80%;
			width: 60%;
		}
	}
	
	.source,
	.typebox,
	.target,
	.inter {
		position: relative;
		text-align: center;
		width: 100%;
		color: white;
		/* padding: 8px;
		padding: 0.5rem; */
		padding: 0.375em;
	}

	/* .words .inter {
		padding:0 0 1rem 0;
	} */

	.source mark.stem {
		color: rgb(240 240 240);
	}
	.source mark.stem:nth-child(even) {
		color: rgb(150 150 150);
	}

	.target mark.stem {
		color:rgb(150 150 150);
	}
	.target mark.stem:nth-child(even) {
		color:rgb(220 220 220);
	}


	/* .source {
		transition: opacity 0.3s 0s, top 0.3s 0s, transform 1s 0s;
	} */

	.fixed .source {
		margin-top:6.5rem;
	}

	.synth .source {
		/* position: absolute; */
		/* top: 130px; */
		/* top: 8rem; */
		border-bottom: 1px solid var(--border-color-50);
		border-image: linear-gradient(to right, transparent 0%, transparent 20%, #03c3ff 40%, #bf3ad5 60%, transparent 80%, transparent 100%) 1;
		/* margin-bottom:0.5rem; */
		z-index:2003;
		transition:border-image 1s;
	}

	.synth .playarea.zig .source {
		border-image: linear-gradient(
			to right,
			transparent 0%,
			transparent 20%,
			#03c3ff 30%,     /* Start color */
			transparent 37%,  /* FADE 1 START */
			transparent 39%,  /* FADE 1 END */
			#627fec 43%,     /* Interpolated color (25% point) */
			#627fec 45%,
			transparent 49%,  /* FADE 2 START */
			transparent 51%,  /* FADE 2 END */
			#905ad9 55%,     /* Interpolated color (middle) */
			#905ad9 57%,
			transparent 61%,  /* FADE 3 START */
			transparent 63%,  /* FADE 3 END */
			#bf3ad5 70%,     /* End color */
			transparent 80%,
			transparent 100%
		) 1;
	}

	.source.ballerina,
	.target.ballerina {
		-webkit-transition: transform 1s 0s;
		transition: transform 1s 0s;
		transform: rotateY(360deg);
		/* X is a somersault, Y is a ballerina, Z is a propeller */
	}

	.playarea .words {
		width: auto;
		height: auto;
		display: flex;
		flex-direction: column;
		/* padding-left: 64px;
		padding-right: 64px; */
		max-width: 100%;
		position: relative;
		margin-top: 0.4rem;
	}
	.compression .words {
		max-height: calc(100% - 400px);
		/* margin-top: 178px; */
	}

	.accepted.word {
		position: relative;
		text-align: center;
		width: 100%;
		/*border:4px solid rgb(12 12 12);*/
		border-left: none;
		border-right: none;
		color: rgb(211, 211, 211);
		color: rgb(116 116 116);
		border-radius: 6px;
		height: 0;
		opacity: 0;
		z-index: 2000;
		transition: height 0.3s, opacity 0s 0.3s;
	}

	/* @media only screen and (min-width: 1025px) {
		.accepted.word {
			line-height:unset;
		}
	} */

	.compression .accepted.word {
		flex-shrink: 1;
		min-height: 0;
	}

	.accepted.word.grow {
		/* height: 44px; */
		opacity: 1;
		transition: height 0.3s 0s, opacity 0s 0s, margin 0.3s !important;
		/* transition: height 3.3s 0s, opacity 3s 0s, margin 3.3s !important; */
		
		/* 75% */
		/* height: 2.062em; */
		/* smaller still. still works with word submit animation */
		/* height: 1.8em; */
		/* could go even less on mobile */
		height: 1.6em;
	}
	

	.inter {
		transition: height 0.3s 0s, opacity 0.2s 0.1s, margin 0.3s, transform 0.2s !important;
		/* transition: height 3.3s 0s, opacity 3s 0s, margin 3.3s !important; */
		height: 1.6em;
		padding:0;
		flex-shrink:0;
		max-width: 280px;
	}

	.inter.slup {
		transform: translateY(-95%);
		transform: translateY(-94%);
	}

	.typebox.slup {
		transform: translateY(-105%);
		transform: translateY(-106%);
		transition: opacity 0.2s 0.1s, transform 0.3s ease !important;
	}

	.inter.slown {
		transform: translateY(95%);
		transform: translateY(94%);
		transition: opacity 0.2s 0.1s, transform 0.3s ease !important;
	}

	.typebox.slown {
		transform: translateY(105%);
		transform: translateY(106%);
		transition: opacity 0.2s 0.1s, transform 0.3s ease !important;
	}

	/* .typebox.slown .boxer {
		background-color:rgb(24 24 24 / 85%);
	} */

	.inter.shrink {
		opacity: 0;
		height: 0;
	}

	/* not in use? */
	/* .accepted.word.grow.instant {
		height: 44px;
		transition: height 0s;
	} */
	
	.typebox {
		position: relative;
		text-align: center;
		display: flex;
		justify-content: center;
		color: white;
		width: 100%;
		border-radius: 6px;
		padding: 0;
		z-index: 2001;
		flex-shrink: 0;

		height: 2rem;
		height: 1.5em;
		max-width: 10em;
	}

	.typebox.beneath {
		z-index: 1;
	}

		.typebox .error {
			position: absolute;
			right: calc(100% + 0.7rem);
			margin-top: 0.2rem;
		}

		.typebox .error i {
			display:none;
			line-height:inherit;
		}

		.typebox.rules .error.rules i {
			display:inline;
			color: rgb(255 41 117);
		}

		.typebox.dict .error.dict i {
			display:inline;
			color: rgb(255, 198, 66);
		}
		
		.boxer {
			position: absolute;
			/* let's saloosh this */
			top: -5px;
			width: 100%;
			height: 100%;
			border: 1px solid white;
			border-radius: 6px;
			background-color: #ffffff33;
			background-color: #383838;
		}
		.synth .boxer {
			top: -10%;
			width: 100%;
			border: none;
			background-color: transparent;
			background-color: rgb(22 22 22);
			border:1px solid #080808;
		}

		/* @media only screen and (min-width: 1025px) {
			.synth .boxer {
				height: 125%;
				top: -25%;
			}
		} */
		
		.boxer.blue {
			border: 1px solid rgb(0, 194, 255);
			background-color: rgb(0 117 255 / 10%);
		}
		
		.boxer.green {
			border: 1px solid rgb(0, 255, 173);
			background-color: rgb(0 255 173 / 14%);
		}

		.boxer.yellow,
		.typebox.dict .boxer {
			border: 1px solid yellow;
			background-color: rgb(255 255 0 / 10%);
			border: 1px solid rgb(255, 198, 66);
			/* synthwave */
			border: 1px solid rgb(255 234 66);
			/* brighter, yellower */
			background-color: rgb(255 198 66 / 14%);
		}

		.boxer.orange {
			border: 1px solid rgb(255 145 27);
   			background-color: rgb(61 36 22);
		}

		.boxer.red,
		.typebox.rules .boxer {
			border: 1px solid rgb(255 100 100);
			background-color: rgba(255 100 100 / 10%);
			border: 1px solid rgb(255 41 117);
			background-color: rgb(255 41 117 / 14%);
		}

			.synth .worder.hilite {
				background-color: rgb(10 83 108);
			}

			.worder {
				width: auto;
				white-space: nowrap;
			}

			.worder.hilite {
				background-color: rgb(15 100 220);
			}

			.worder.delayin {
				animation: delayin 0.3s linear;
			}

			@keyframes delayin {
				0% {
					opacity: 0;
				}

				99% {
					opacity: 0;
				}

				100% {
					opacity: 1;
				}
			}

			.caret {
				position: absolute;
				right: 0;
				width: 1px;
				/* height: 30px; */
				background-color: white;
				/* top: 2px; */
				height: 78%;
    			top: 0;
			}

			/* @media only screen and (min-width: 1025px) {
				.caret {
					height:78%;
				}
			} */

			.caret.blink {
				animation: blink 1.2s infinite linear;
			}

			@keyframes blink {
				0% {
					background-color: white;
				}

				49% {
					background-color: white;
				}

				50% {
					background-color: transparent;
				}

				100% {
					background-color: transparent;
				}
			}
			

		.expander {
			width: fit-content;
			position: relative;
		}

		.expander.temp_hide { /* currently not in use, see javascript */
			animation: temp_hide 2.2s linear;
		}

		@keyframes temp_hide {
			0% {
				opacity: 0;
			}

			90% {
				opacity: 0;
			}

			100% {
				opacity: 1;
			}
		}


	.target_height_keeper {
		position: relative;
		max-width:640px;
	}

	.synth .target_height_keeper {
		position: relative;
		width: 100%;
		margin-top: 0.3rem;
	}

		.target {
			top: 0;
			opacity: 1;
			border-top: 1px solid white;
			border-image: linear-gradient(to right, transparent 0%, transparent 20%, #03c3ff 40%, #bf3ad5 60%, transparent 80%, transparent 100%) 1;
			-webkit-transition: opacity 0.3s 0s, top 0.3s 0s, transform 1s 0s;
			transition: opacity 0.3s 0s, top 0.3s 0s, transform 1s 0s;
		}

		.target.acquired {
			top: -52px;
			opacity: 0;
			-webkit-transition: opacity 0.3s 0s, top 0.3s 0s, transform 1s 0s;
			transition: opacity 0.3s 0s, top 0.3s 0s, transform 1s 0s;
		}

		.target.unacquired {
			top: 0;
			opacity: 1;
			-webkit-transition: opacity 0.3s 0s, top 0.3s 0s, transform 1s 0s;
			transition: opacity 0.3s 0s, top 0.3s 0s, transform 1s 0s;
		}

		.target.acquired + .cg_wrap {
			display:none;
		}

		.target.camo {
			color:transparent;
		}

		.cg_wrap {
			position:absolute;
			white-space:nowrap;
			color:rgb(32 32 32);
		}

		.cg_wrap .camogap {
			display:inline-block;
			width:3rem;
			animation: camogap 8s ease-in-out infinite;
		}

		@keyframes camogap {
			0% {
				width: 3rem;
			}
			50% {
				width: 7rem;
			}
			100% {
				width: 3rem;
			}
		}

		.levend {
			position: absolute;
			left: calc(100% + 1rem);
			color: rgba(255, 255, 255, 0.6);
			font-size: 1.1em;
			height: 100%;
			line-height: inherit;
			text-align: right;
			/* width: 3em; */
			display: none;
			transition: opacity 0.4s;
		}

		.levend.exposed {
			display:block;
		}

		.levend.invis {
			opacity:0;
		}


	.score {
		color: gray;
		text-align: center;
		display: flex;
		justify-content: center;
		padding-bottom: 2em;
		/* padding-bottom: 4em; */
		/* transition:padding-bottom 0.3s 0s; */
	}
	.compression .score {
		padding-bottom: 2px;
		flex-shrink: 0;
	}

	/* .score:has(.tally.done) {
		padding-bottom: 4rem;
	} */
	
		.tally {
			transform: scale(1);
			opacity: 0.5;
			margin-top: 0;
			transition: scale 0.1s 0s, opacity 0.1s 0s, margin-top 0.1s 0s;
			display: flex;
			align-items: center;
			justify-content: center;
		}

		.tally.done {
			transform: scale(2);
			opacity: 0.9;
			margin-top: -12px;
			-webkit-transition: font-size 0.3s 0s, opacity 0.3s 0s, margin-top 0.3s 0s;
			transition: font-size 0.3s 0s, opacity 0.3s 0s, margin-top 0.3s 0s;
			transition: transform 0.3s 0s, opacity 0.3s 0s, margin-top 0.3s 0s;
		}

		.tally.undone {
			transform: scale(1);
			opacity: 0.5;
			margin-top: 0;
			padding-bottom:2rem;
			-webkit-transition: font-size 0.3s 0s, opacity 0.3s 0s, margin-top 0.3s 0s;
			transition: font-size 0.3s 0s, opacity 0.3s 0s, margin-top 0.3s 0s;
			transition: transform 0.3s 0s, opacity 0.3s 0s, margin-top 0.3s 0s;
		}

		.tally .step.count {
			font-size: 46px;
			font-size: 1.7em;
		}

		.tally .letter.count {
			position: absolute;
			left: 100%;
			top: -4px;
			/* font-size: 24px; */
			font-size: 0.9em;
		}

			.step.count.pop {
				animation: stepsPop 0.2s ease-out;
			}

			.step.count.un.pop {
				animation: stepsUnPop 0.3s ease-out;
			}

			.letter.count.pulse {
				animation: lettersPulse 0.2s ease-out;
			}

			.letter.count.un.pulse {
				animation: lettersUnPulse 0.3s ease-out;
			}

			@keyframes stepsPop {
				0% { transform: scale(1); color: unset; }
				50% { transform: scale(1.6); color:rgb(200, 200, 200); }
				100% { transform: scale(1); color:unset; }
			}

			@keyframes stepsUnPop {
				0% { transform: scale(1); color: unset; }
				50% { transform: scale(0.8); color:rgb(110, 110, 110); }
				100% { transform: scale(1); color:unset; }
			}

			@keyframes lettersPulse {
				0% { transform: scale(1); filter: brightness(1) }
				50% { transform: scale(1.4); filter: brightness(1.2) }
				100% { transform: scale(1); filter: brightness(1) }
			}

			@keyframes lettersUnPulse {
				0% { transform: scale(1); filter: brightness(1) }
				50% { transform: scale(0.8); filter: brightness(0.9) }
				100% { transform: scale(1); filter: brightness(1) }
			}

			.tally.blue .count {
				color: var(--blue);
			}
		
			.tally.green .count {
				color: var(--green);
			}

			.tally.yellow .count {
				color: var(--yellow);
			}

			.tally.orange .count {
				color: var(--orange);
			}

			.tally.red .count {
				color: var(--red);
			}



	.wtf_contain {
		position:relative;
		width:3rem;
		width:100%;
		height:3rem;
		display:flex;
		align-items: center;
		justify-content: center;
		z-index:200;
		margin-bottom:1rem;
	}		

	.typebox .wtf_contain {
		position:absolute;
		left:calc(100% + 3rem);
		top:40%;
		transform: translateY(-50%);
		z-index:200;
		margin-bottom:unset;
	}

	.btn.round.wtf {
		/* Initial Shadow */
		box-shadow: 0 0 0 0 rgba(0, 123, 255, 0.7);  
		/* Animation: name duration timing-function iteration-count */
		animation: pulse-glow 1.5s infinite ease-in-out;
		width:2.25rem;
		height:2.25rem;
	}

	.wtf_contain .qe {
		position: absolute;
		height: 100%;
		width: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
		top: 0;
		left: 0;
		font-size:0.7em;
		color:#ccc;
	}

	.wtf_contain .teach {
		position:absolute;
		width:96%;
		left:102%;
	}

	@keyframes pulse-glow {
		0% {
			transform: scale(0.95);
			box-shadow: 0 0 0 0 rgba(0, 123, 255, 0.7);
		}
		70% {
			/* Scale up and expand the glow shadow */
			transform: scale(1);
			box-shadow: 0 0 0 0.9rem rgba(0, 123, 255, 0);
		}
		100% {
			/* Return to original state to loop seamlessly */
			transform: scale(0.95);
			box-shadow: 0 0 0 0 rgba(0, 123, 255, 0);
		}
	}

	.taunt {
		color: #CCC;
		width: 100%;
		text-align: center;
		bottom: calc(100% - 3px);
		font-size: 0.6em;
		font-weight: bold;
		padding-bottom:0.5em;
		z-index:900;
		padding-top:2em;
		background:linear-gradient(to bottom, transparent 0%, #101010 90%, #101010 100%);
		/* display: flex;
		flex-direction: column;
		justify-content: flex-end; */
		display: flex;
		flex-direction: row;
		justify-content: center;
		white-space:nowrap;
		z-index:1;
	}

	.keyboard .taunt {
		position:absolute;
		bottom:100%;
	}

	.anchor {
		height: 1px;
		margin-top: -1px; /* Keep it invisible and non-disruptive */
		overflow-anchor: auto; /* Force the browser to anchor here */
		scroll-snap-align: end; /* This is the magnetic "bottom" */
	}