@import url('https://fonts.googleapis.com/css2?family=Cookie&family=Inconsolata:wght@200..900&family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
    * {
      box-sizing: border-box;
      margin: 0;
      padding: 0;
      scrollbar-width: thin;
      scrollbar-color: #5C98B2 transparent;
    }

    html, body {
      height: 100%;
      font: normal 1em/160% 'Inconsolata', monospace;
      overflow: hidden;
    }

    .timeline-wrapper {
      display: flex;
      flex-direction: row;
      overflow-x: auto;
      overflow-y: hidden;
      scroll-snap-type: x mandatory;
      scroll-behavior: smooth;
      height: 100vh;
      width: 100vw;
      white-space: nowrap;
    }

    .year-section {
  scroll-snap-align: start;
  flex: 0 0 100%;
  height: 100%;
  padding: 6em 0 4em;   /* extra top padding so content doesn’t overlap header */
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-right: 1px solid #ccc;
  background: #f5f5f5;
  max-width: 100%;
  white-space: normal;
  position: relative; 
    }

    .year-header {
  position: absolute;
  top: 20px;           /* distance from the top of the viewport */
  left: 50%;           /* center horizontally */
  transform: translateX(-50%);
  color: #5C98B2;
  font: normal 5em/1em 'Cookie', cursive;
  text-shadow: 1.5px 1.5px 0 #fff;
  text-align: center;
  z-index: 5;  
    }

    .year-fields {
      display: grid;
grid-template-columns: 0.8fr 2fr;
  gap: 10px;
    }

    .field-label {
      font-weight: bold;
      text-align: right;
      padding-right: 10px;
      font-size: 1.2em;
      color: #5d8ca1;
    }

    .field-value {
      color: #000;
      font-size: 1em;
      font-family: 'Poppins', sans-serif;
    }

    .timeline-nav {
      position: fixed;
      bottom: 0;
      width: 100%;
      background: #97c0d1;
      display: flex;
      overflow-x: auto;
      padding: 10px 5px;
      z-index: 100;
    }

    .timeline-nav .nav-year {
      flex: 0 0 auto;
      margin: 0 5px;
      padding: 5px 10px;
      border-radius: 5px;
      color: #fff;
      background: #437f99;
      cursor: pointer;
      font-size: 0.9em;
      transition: background 0.3s, color 0.3s;
      white-space: nowrap;
    }

    .timeline-nav .nav-year.active {
      background: #fff;
      color: #437f99;
      font-weight: bold;
    }

    .timeline-nav .nav-year:hover {
      background: #ed93a4;
    }

    .field-value ul {
      padding: 0 0 0 1em;
    }

.year-section.overall-active {
  background-color: #ffe5d1;
  background: linear-gradient(-90deg,#95bfd0 0%, #ffe5d1 100%);
}

.year-section.overall-active.alt {
  background-color: #ffe5d1;
  background: linear-gradient(90deg,#95bfd0 0%, #ffe5d1 100%);
}

.year-section.hiatus{
  background-color: #ffe5d1;
  background: linear-gradient(-90deg,#ffe5d1 0%, #fafafa 100%);
}

.year-section.hiatus.alt{
  background-color: #ffe5d1;
  background: linear-gradient(90deg,#ffe5d1 0%, #fafafa 100%);
}

.year-section.overall-inactive {
  background-color: #fafafa; /* plain white */
}

.content{
display: flex;
    width: 55em;
    background: #fff;
    margin: 0 auto;
    padding: 1em;
border-radius: 40px;
border: 3px solid #5C98B2;
height: fit-content;
max-height: 60vh;
background-image: linear-gradient(#eee .1em, transparent .1em);
  background-size: 100% 1.2em;
}

.content-scroll{
overflow: auto;
height: 100%;
padding: 1em;
   width: 100%;
}

li::marker{
color: #5C98B2;
}

strong{
color: #ed93a4;
}

em, b{
color: #5C98B2;
}

a:link, a:visited{
color: #5C98B2;
text-decoration: none;
border-bottom: dotted 2px #5C98B2;
}

a:hover, a:active, a:focus{
color: #386376;
border-bottom-style: solid;
box-shadow: inset 0 -10px 0 #ffcbd5ff;
}

.timeline-indicator {
position: absolute;
  width: 100%;
  height: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 10px;
  margin-bottom: 30px;
  top: 5em;
}

.timeline-line {
  position: absolute;
  top: 50%;
  width: 100%;
  height: 2px;
  background-color: #5C98B2;
  z-index: 1;
}

.timeline-dot {
  position: relative;
  z-index: 2;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 3px solid #fff;
  box-shadow: 0 0 0 2px #5C98B2;
    background: #fafafa;
}

/* Active years — filled dot */
.timeline-dot.dot-active {
  background-color: #5C98B2;
}

/* Hiatus years — semi-transparent fill */
.timeline-dot.dot-hiatus {
  background-color: transparent;
}

.field-value img{
  height: 2em;
  margin-right: 0.5em;
  margin-bottom: 0.5em;
  vertical-align: middle;
  border-radius: 10px;
  height: 100px;
  width: 100px;
  box-shadow: 5px 5px 0 #ffe5d1;
}

.nav-back {
  flex: 0 0 auto;
  margin-left: auto; /* push it to the far right */
  padding: 5px 12px;
  border-radius: 5px;
  color: #fff;
  background: #ed93a4;
  cursor: pointer;
  font-size: 0.9em;
  border: none;
  transition: background 0.3s;
  position: relative;
  text-decoration: none;
  right: 10px;
}

.nav-back:hover {
  background: #c46b7d;
}

.mobilenote{
  display: none;
}

@media (max-width: 810px) {
  .mobilenote{
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #95bfd0;
  background: linear-gradient(135deg,#95bfd0 0%, #ffe5d1 100%);
    color: #333;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 20px;
    box-sizing: border-box;
  }

  .timeline-wrapper, .timeline-nav {
    display: none;
  }

}
