/* reset & layout */
/*
 * Global resets and typography.
 * We choose a light background and dark text to improve readability,
 * similar to many modern academic websites. A serif typeface for
 * headings paired with a sans-serif body font lends a professional feel.
 */
 body, html {
   margin: 0;
   padding: 0;
   height: 100%;
   font-family: 'Raleway', sans-serif;
   font-weight: 300;
   background-color: #f5f5f5;
   color: #333;
   line-height: 1.6;
   box-sizing: border-box;
 }

 /* Headings use Raleway SemiBold */
 h1, h2, h3, h4, h5, h6 {
   font-family: 'Raleway', sans-serif;
   font-weight: 600;
   margin: 0.5rem 0;
 }

/* Sidebar styling */
.sidebar {
  position: fixed;
  top: 0;
  left: 0;
  width: 250px;
  height: 100vh;
  background: #2c3e50; /* dark slate blue for contrast */
  color: #ecf0f1;
  padding: 2rem 1rem;
  box-sizing: border-box;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.profile-pic {
  width: 140px;
  height: 140px;
  border-radius: 50%;
  object-fit: cover;
  margin-bottom: 1rem;
  border: 3px solid #1abc9c; /* accent border around photo */
}

.sidebar h1 {
  margin: 0.5rem 0;
  font-size: 1.6rem;
  letter-spacing: 1px;
  font-weight: bold;
}

.sidebar p {
  font-size: 0.95rem;
  margin-bottom: 2rem;
  color: #bdc3c7;
}

.sidebar nav {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  width: 100%;
}

.tab-btn {
  background: #34495e;
  border: none;
  color: #ecf0f1;
  padding: 0.8rem 1rem;
  cursor: pointer;
  text-align: left;
  font-size: 1rem;
  border-radius: 4px;
  transition: background 0.2s ease-in-out;
}

.tab-btn:hover {
  background: #3d566e;
}

.tab-btn.active {
  background: #1abc9c;
  color: #fff;
}

/* Content area styling */
.content {
  margin-left: 250px;
  padding: 2rem 7.5%;
  min-height: 100vh;
  box-sizing: border-box;
  background: #ffffff;
}

/* Hyperlink styling */
a {
  color: #1e88e5;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

/* Styling for author lines */
.authors {
  font-style: italic;
  color: #555;
  margin-bottom: 0.5rem;
}

/* Container for keywords; adds some separation */
.keywords {
  margin-bottom: 1rem;
}

/* General keyword styling: oval tags with bold border */
.keyword {
  display: inline-block;
  padding: 0.25rem 0.6rem;
  border-radius: 999px;
  border-width: 2px;
  border-style: solid;
  font-size: 0.85rem;
  margin-right: 0.4rem;
  margin-bottom: 0.4rem;
  font-weight: 600;
}

/* Specific keyword colour classes (consistent across the site). */
.keyword-tensor-network          { border-color: #e57373; color: #e57373; }
.keyword-fermionic-systems       { border-color: #81c784; color: #81c784; }
.keyword-quantum-error-correction{ border-color: #64b5f6; color: #64b5f6; }
.keyword-quantum-computation     { border-color: #ffb74d; color: #ffb74d; }
.keyword-topological-order       { border-color: #ba68c8; color: #ba68c8; }
.keyword-circuit-design          { border-color: #4db6ac; color: #4db6ac; }
.keyword-anyon-theory            { border-color: #f06292; color: #f06292; }
.keyword-adaptive-circuits       { border-color: #7986cb; color: #7986cb; }
.keyword-quantum-simulation      { border-color: #4fc3f7; color: #4fc3f7; }
.keyword-phase-transitions       { border-color: #aed581; color: #aed581; }
.keyword-topological-computation { border-color: #ff8a65; color: #ff8a65; }
.keyword-modular-tensor-categories{ border-color: #9575cd; color: #9575cd; }
.keyword-machine-learning               { border-color: #90a4ae; color: #90a4ae; }
.keyword-quark-gluon-plasma      { border-color: #dce775; color: #dce775; }
.keyword-nuclear-physics         { border-color: #ce93d8; color: #ce93d8; }

/* Blue text helper class used on the home page for supervisor links */
.blue-text {
  color: #1e88e5;
}

/* Style YouTube icons within research headings */
.yt-icon {
  margin-left: 0.5rem;
  font-size: 1.1rem;
  vertical-align: middle;
  color: #e53935; /* YouTube red */
}

/* Publication details next to titles */
.pub-info {
  margin-left: 0.3rem;
  font-size: 0.8rem;
  color: #777;
}

/* Icons for university names in the education section. These use Font Awesome's
   university glyph and apply school-specific colours. */
.mit-icon, .sbu-icon {
  margin-right: 0.4rem;
  font-size: 1rem;
  line-height: 1;
  vertical-align: middle;
}

.mit-icon {
  color: #A31F34; /* MIT cardinal red */
}

.sbu-icon {
  color: #CE1126; /* Stony Brook University red */
}

/* Sidebar toggle button styling */
.sidebar-toggle {
  position: fixed;
  bottom: 0rem;
  left: 250px;
  top: auto;
  background: #34495e;
  color: #ecf0f1;
  border: none;
  padding: 0.5rem;
  border-radius: 0 4px 4px 0;
  cursor: pointer;
  z-index: 1000;
  transition: left 0.3s ease;
}

/* When the body has the 'collapsed' class, slide the sidebar out of view */
body.collapsed .sidebar {
  transform: translateX(-100%);
}

/* Reset content margin when sidebar is collapsed */
body.collapsed .content {
  margin-left: 0;
}

/* Move the toggle button to the left edge when collapsed */
body.collapsed .sidebar-toggle {
  left: 0;
}

/* Adjust sidebar width and toggle positioning on narrower screens */
@media (max-width: 600px) {
  .sidebar {
    width: 220px;
  }
  .sidebar-toggle {
    left: 220px;
  }
  body.collapsed .sidebar-toggle {
    left: 0;
  }
}
