:root {
	--text-color: #023047;
	--bg-size: 200px;
  }
  * {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
  }

  html, body {
	height: 100%; /* Ensure the body and html elements take full height */
  }

  body {
	background-image: url("assets/bg.svg");
	background-repeat: repeat;
	background-size: var(--bg-size);
	color: var(--text-color);
	line-height: 1.6;
	margin: 0;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	font-family: "Nunito", sans-serif;
	font-optical-sizing: auto;
	font-weight: 600;
	font-style: normal;
  }

  body::before {
	content: ''; /* Creates the pseudo-element */
	position: absolute; /* Positions it relative to the body */
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to bottom, white, transparent); /* White to transparent gradient overlay */
	z-index: 1; /* Ensure it's above the background but below other content */
	pointer-events: none; /* Prevent it from interfering with clicks */
  }

  main, header, footer {
	position: relative; /* Ensure main content stays above the overlay */
	z-index: 2; /* Makes sure content is above the overlay */
  }
  

  a {
	font-family: "Nunito", sans-serif;
	font-optical-sizing: auto;
	font-weight: 600;
	font-style: normal;
  }

  header {
	padding: 1rem;
	text-align: center;
  }

  header h1 {
	margin: 0;
	font-family: "Pacifico", cursive;
	font-weight: 400;
	font-style: normal;
	font-size: 64px;
	color: var(--text-color);

  }

  main {
	flex: 1;
	padding: 1rem;
	max-width: 1200px;
	margin: 0 auto;
	width: 100%;
  }

  footer {
	text-align: center;
	padding: 1rem;
	margin-top: auto;
  }

  a, .session {
	text-decoration: none;
	font-family: "Nunito", sans-serif;
	font-optical-sizing: auto;
	font-weight: 600;
	font-style: normal;
	cursor: pointer;

  }

  a:hover, .session:hover, xpal:hover, cwtch:hover {
	text-decoration: underline;
  }

  /* ------------ */

  .linktree {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 300px;
	/* width: fit-content; */
    margin: 0 auto;
  }

  /* ------- */

  .linktree-button {
	width: 250px;
	position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px 24px;
    margin: 10px 0;
    background-color: white;
    color: #023047;
    text-decoration: none;
    border-radius: 8px;
    font-weight: 600;
    transition: background-color 0.3s ease;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  }

  .linktree-button:hover {
    font-weight: 700;
  }

  .icon {
    width: 24px;
    height: 24px;
    margin-right: 10px;
  }

  /* ----------- */

  .linktree-button > * {
	pointer-events: none; /* bit shitty workaround, but is so that button children don't trigger separate click events */
  }

  .qr { /* just QR positioning */
	position: absolute;
	display: none;
	max-height: 100vh;
	max-width: 100vw;
	width: 200px;
	z-index: 10;
	border: 1px solid black;
	left: calc(100% + 30px);
  }

  .session:hover .qr { /* show QR */
	display: block;
  }

  .session::after { /* tooltip that shows up as feedback that text was copied */
	content: "Session ID copied to clipboard";
	position: absolute;
	bottom: calc(100% - 20px);
	left: calc(100% - 20px);
	background-color: white;
	border-radius: 8px;
	padding: 0.125rem 0.5rem;
	pointer-events: none;
	font-weight: normal;
	z-index: 20;
	opacity: 0;
	transition: 1000ms;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  }


  .session.copied::after {
	opacity: 1;
	transition: 100ms;
  }

  .xpal::after { /* Tooltip for xPal copy */
	content: "xPal ID has been copied to clipboard";
	position: absolute;
	bottom: calc(100% - 20px);
	left: calc(100% - 20px); /* Adjust if needed */
	background-color: white;
	border-radius: 8px;
	padding: 0.125rem 0.5rem;
	pointer-events: none;
	font-weight: normal;
	z-index: 20;
	opacity: 0;
	transition: 1000ms;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  }
  
  .xpal.copied::after {
	opacity: 1;
	transition: 100ms;
  }
  /* --- END: Added xPal Styles --- */
  
  /* --- START: Added Cwtch Styles --- */
  .cwtch::after { /* Tooltip for Cwtch copy */
	content: "Cwtch ID has been copied to clipboard";
	position: absolute;
	bottom: calc(100% - 20px);
	left: calc(100% - 20px); /* Adjust if needed */
	background-color: white;
	border-radius: 8px;
	padding: 0.125rem 0.5rem;
	pointer-events: none;
	font-weight: normal;
	z-index: 20;
	opacity: 0;
	transition: 1000ms;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  }
  
  .cwtch.copied::after {
	opacity: 1;
	transition: 100ms;
  }

  .splashscreen {
	position: fixed; /* Ensure it's always positioned relative to the viewport */
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: white;
	z-index: 100;
	display: flex;
	justify-content: center;
	align-items: center;
	opacity: 1;
	animation: fadeOut 1s ease-in-out 1s forwards; /* Start fading out after 1s */
  }
  
  /* Keyframe animation to fade out */
  @keyframes fadeOut {
	0% {
	  opacity: 1;
	}
	100% {
	  opacity: 0;
	  visibility: hidden; /* Hide the splash screen after it fades out */
	}
  }

  dotlottie-player {
	position: relative;
  }

  @media (max-width: 768px) {
    .linktree-button {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
    }

	.session::after, /* Add xpal and cwtch selectors here */
  .xpal::after,
  .cwtch::after {
    bottom: calc(100% - 20px);
    left: calc(100% - 100px); /* Match session tooltip */
  }

	  .session:hover .qr { /* show QR */
		display: none;
	  }
}

@media (max-width: 405px) {
    header h1 {
        font-size: 48px;
    }
}
