* {
  font-family: Montserrat;

  justify-content: center;
  align-items: center;
}

html,
body {
  height: 100%; /* make body fill viewport */
  width: 100%;
  display: flex; /* enable flex layout */
  justify-content: center; /* horizontal centering */
  align-items: center; /* vertical centering */
}

body.light {
  background: repeating-linear-gradient(
    125deg,
    aliceblue 0px,
    aliceblue 50px,
    white 50px,
    white 100px
  );
}

body.dark {
  background: repeating-linear-gradient(
    125deg,
    rgb(61, 53, 114) 0px,
    rgb(61, 53, 114) 50px,
    darkslateblue 50px,
    darkslateblue 100px
  );
}

body {
  display: flex;
  flex-direction: column;
  text-align: center;

  transition: background 0.2s;
}

.cont {
  padding: 20px;
  outline: none;

  border-radius: 36px;
  corner-shape: squircle;

  transition: background 0.2s ease, box-shadow 0.2s ease, border 0.2s ease,
    color 0.2s ease;

  width: 400px;
}

.cont.light {
  background: white;
  border: aliceblue 4px solid;
  box-shadow: 8px 8px 4px aliceblue;
  color: #1c1c1c;
}

.cont.dark {
  background: darkslateblue;
  border: rgb(61, 53, 114) 4px solid;
  box-shadow: 8px 8px 4px rgb(61, 53, 114);
  color: white;
}

/* ----------------navbar-----------------*/
/* Adjustable spacing variable */
:root {
  --icon-text-gap: 0px; /* change this to control spacing */
}

/* Navbar container */
ul.navbar {
  position: fixed;
  display: flex;
  align-items: center;
  z-index: 1000;
  list-style: none;
  top: 0;
  left: 0;
  margin: 0;
  padding: 0 20px;
  background-color: #333333;
  width: 100%;
  box-sizing: border-box;
  line-height: normal;
  height: 49px;
}

/* Title + icon */
ul.navbar li.uri {
  display: flex;
  align-items: center;
  color: white;
  line-height: normal;
}

/* Text next to icon spacing */
ul.navbar li.uri b {
  margin-left: var(--icon-text-gap); /* precise control */
}

/* Push links to the right */
ul.navbar li.uri + li {
  margin-left: auto; /* first link after the title goes to the right */
  line-height: normal;
}

/* Links styling */
ul.navbar li {
  display: inline-block;
  color: white;
  text-decoration: none;
  padding: 10px 16px;
  line-height: normal;
  transition: background-color 0.3s ease;
}

/* Text links hover (excluding icons) */
#mode:hover {
  background-color: #1c1c1c;
}
