@font-face {
  font-family: "eurostile";
  src: url("../assets/fonts/eurostile/eurostile.woff2") format("woff2"),
    url("../assets/fonts/eurostile/eurostile.woff") format("woff");
  font-weight: 400;
  font-style: normal;
}

body {
  font-family: "eurostile", sans-serif;
  background-color: rgb(10, 10, 10);
  color: #eee;
  display: flex;
  flex-direction: column;
  /* align-items: center; */
  width: 90%;
  margin: 0 auto;
  box-sizing: border-box; /* Include padding in width calculation */
}
.container {
  width: 100%;
  max-width: 600px;
  margin: 40px auto;
}
h1 {
  margin: 0;
}

p {
  margin: 8px 0;
}
.border-btm {
  border-bottom: 1px solid #eee;
  margin-bottom: 24px;
}

#canvas-container {
  /* Make width flexible */
  max-width: 600px; /* But don't get larger than 600px */

  /* Centering */
  margin: 16px auto;

  /* Styling */
  border: 1px solid #555;
  border-radius: 25px; /* Or your desired radius */
  overflow: hidden; /* Clip canvas corners */

  /* Maintain square aspect ratio */
  aspect-ratio: 1 / 1;
  /* Ensure proper sizing without extra space */
  line-height: 0;
  box-sizing: border-box;
}

/* Ensure canvas fills the container */
#canvas-container canvas {
  display: block;
  width: 100%;
  height: 100%;
}

#controls {
  text-align: center; /* Center buttons */
  margin: 15px 0;
}

/* #controls button {
  padding: 15px 24px;
  margin: 5px;
  font-size: 1em;
  cursor: pointer;
} */

#start-visualizer-btn {
  cursor: pointer;
  padding: 16px 24px;
  background-color: #eee;
  border: none;
  border-radius: 24px;
  transition: all 0.3s;
}
#start-visualizer-btn:hover {
  opacity: 0.7;
}
#record-toggle-btn {
  /* Keep your toggle styles */
  width: 45px;
  height: 45px;
  border: 2px solid #ccc;
  padding: 0;
  cursor: pointer;
  background-color: red;
  transition: border-radius 0.3s ease-in-out;
  vertical-align: middle;
  margin: 5px;
  appearance: none;
  -webkit-appearance: none;
  box-shadow: none;
}
#record-toggle-btn.idle {
  border-radius: 50%;
}
#record-toggle-btn.recording {
  border-radius: 15%;
}
#record-toggle-btn:disabled {
  background-color: #777;
  border-color: #555;
  cursor: not-allowed;
  opacity: 0.6;
}

#status {
  margin-top: 15px;
  font-style: italic;
  color: #aaa;
  text-align: center;
}

/* Style for the main list item container (UL) */
#memos-list ul {
  list-style: none;
  padding: 0;
  margin: 0 auto;
  width: 100%; /* Ensure UL takes width */
  max-width: 600px; /* Or your desired max width */
  box-sizing: border-box;
}

/* Style for EACH list item (LI) */
#memos-list li {
  background-color: #333;
  margin-bottom: 16px;
  padding: 16px; /* Adjust padding as needed */
  border-radius: 8px;
  display: flex; /* Use Flexbox */
  flex-direction: column; /* Stack the main sections vertically */
  box-sizing: border-box;
}

/* Wrapper for the top row (Info Block + Button) */
.memo-top-row {
  display: flex;
  justify-content: space-between; /* Pushes info left, button right */
  align-items: flex-start; /* Align items to the top */
  width: 100%;
  margin-bottom: 12px; /* Space below the top row */
}

/* Wrapper for Name, Timestamp, Duration (Top Left) */
.memo-info-block {
  display: flex;
  flex-direction: column; /* Stack name/timestamp/duration vertically */
  align-items: flex-start; /* Align text to the left */
}

.memo-name {
  font-weight: bold;
  font-size: 1em;
  color: #eee;
  margin-bottom: 8px; /* Small space below name */
}

.memo-timestamp,
.memo-duration-top {
  /* Style both duration spans */
  font-size: 0.85em;
  color: #bbb;
  line-height: 1.3; /* Adjust line height if needed */
}

/* Style the play button */
.memo-play-btn {
  background-color: #555;
  color: #eee;
  border: none;
  padding: 8px 20px;
  border-radius: 20px; /* Pill shape */
  cursor: pointer;
  font-size: 1em;
  margin-top: 8px;
  /* flex-shrink: 0; /* Prevent button from shrinking */
  white-space: nowrap;
}
.memo-play-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Style the slider to take full width */
.seek-slider {
  width: 100%; /* Make slider take full width */
  margin: 8px 0;
  cursor: pointer;
  box-sizing: border-box; /* Include padding/border in width */
}
.seek-slider:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

/* Wrapper for the time displays below the slider */
.memo-time-row {
  display: flex;
  justify-content: space-between; /* Pushes times to opposite ends */
  width: 100%;
  font-size: 0.8em; /* Smaller font for times below slider */
  color: #aaa;
  padding: 0 2px; /* Slight padding to align with slider ends */
  box-sizing: border-box;
}

.memo-current-time {
  text-align: left;
}

.memo-duration-bottom {
  /* Style second duration span */
  text-align: right;
}
