body {
  font-family:
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    sans-serif;
  margin: 0;
  padding: 20px;
  padding-top: 80px; /* Added padding to account for the fixed top banner */
  padding-bottom: 100px; /* Adjusted padding for chat container */
  color: #333;
  line-height: 1.4; /* Reduced line height for more compact text */
}

.timeline-container {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
}

/* When diff view is active, allow timeline container to expand to full width */
.timeline-container.diff-active {
  max-width: 100%;
}

/* Top banner with combined elements */
.top-banner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 5px 20px;
  margin-bottom: 0;
  border-bottom: 1px solid #eee;
  flex-wrap: wrap;
  gap: 10px;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  background: white;
  z-index: 100;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  max-width: 100%;
}

.banner-title {
  font-size: 18px;
  font-weight: 600;
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.chat-title {
  margin: 0;
  padding: 0;
  color: rgba(82, 82, 82, 0.85);
  font-size: 16px;
  font-weight: normal;
  font-style: italic;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}

/* Original header styles kept for compatibility */
header {
  display: none; /* Hidden since we're using top-banner instead */
}

/* Ensure the container starts below the fixed top banner */
.timeline-container {
  padding-top: 10px;
}

h1 {
  margin: 0;
  font-size: 24px;
  font-weight: 600;
}

.info-card {
  background: #f9f9f9;
  border-radius: 8px;
  padding: 15px;
  margin-bottom: 20px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  display: none; /* Hidden in the combined layout */
}

.info-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  background: #f9f9f9;
  border-radius: 4px;
  padding: 4px 10px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  flex: 1;
}

.info-item {
  display: flex;
  align-items: center;
  white-space: nowrap;
  margin-right: 10px;
  font-size: 13px;
}

.info-label {
  font-size: 11px;
  color: #555;
  margin-right: 3px;
  font-weight: 500;
}

.info-value {
  font-size: 11px;
  font-weight: 600;
}

.cost {
  color: #2e7d32;
}

.refresh-control {
  display: flex;
  align-items: center;
  margin-bottom: 0;
  flex-wrap: nowrap;
  white-space: nowrap;
  flex-shrink: 0;
}

.refresh-button {
  background: #4caf50;
  color: white;
  border: none;
  padding: 4px 10px;
  border-radius: 4px;
  cursor: pointer;
  font-size: 12px;
  margin: 5px;
}

.poll-updates {
  display: flex;
  align-items: center;
  margin: 0 5px;
  font-size: 12px;
}

.status-container {
  display: flex;
  align-items: center;
}

.polling-indicator {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  margin-right: 4px;
  background-color: #ccc;
}

.polling-indicator.active {
  background-color: #4caf50;
  animation: pulse 1.5s infinite;
}

.polling-indicator.error {
  background-color: #f44336;
  animation: pulse 1.5s infinite;
}

@keyframes pulse {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
  100% {
    opacity: 1;
  }
}

.status-text {
  font-size: 11px;
  color: #666;
}

/* Timeline styles that should remain unchanged */
.timeline {
  position: relative;
  margin: 10px 0;
  scroll-behavior: smooth;
}

.timeline::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 15px;
  width: 2px;
  background: #e0e0e0;
  border-radius: 1px;
}

/* Hide the timeline vertical line when there are no messages */
.timeline.empty::before {
  display: none;
}

.message {
  position: relative;
  margin-bottom: 5px;
  padding-left: 30px;
}

.message-icon {
  position: absolute;
  left: 10px;
  top: 0;
  transform: translateX(-50%);
  width: 16px;
  height: 16px;
  border-radius: 3px;
  text-align: center;
  line-height: 16px;
  color: #fff;
  font-size: 10px;
}

.message-content {
  position: relative;
  padding: 5px 10px;
  background: #fff;
  border-radius: 3px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  border-left: 3px solid transparent;
}

/* Removed arrow decoration for a more compact look */

.message-header {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-bottom: 3px;
  font-size: 12px;
}

.message-timestamp {
  font-size: 10px;
  color: #888;
  font-style: italic;
  margin-left: 3px;
}

.conversation-id {
  font-family: monospace;
  font-size: 12px;
  padding: 2px 4px;
  background-color: #f0f0f0;
  border-radius: 3px;
  margin-left: auto;
}

.parent-info {
  font-size: 11px;
  opacity: 0.8;
}

.subconversation {
  border-left: 2px solid transparent;
  padding-left: 5px;
  margin-left: 20px;
  transition: margin-left 0.3s ease;
}

.message-text {
  overflow-x: auto;
  margin-bottom: 3px;
  font-family: monospace;
  padding: 3px 5px;
  background: #f7f7f7;
  border-radius: 2px;
  user-select: text;
  cursor: text;
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
  font-size: 13px;
  line-height: 1.3;
}

.tool-details {
  margin-top: 3px;
  padding-top: 3px;
  border-top: 1px dashed #e0e0e0;
  font-size: 12px;
}

.tool-name {
  font-size: 12px;
  font-weight: bold;
  margin-bottom: 2px;
  background: #f0f0f0;
  padding: 2px 4px;
  border-radius: 2px;
  display: flex;
  align-items: center;
  gap: 3px;
}

.tool-input,
.tool-result {
  margin-top: 2px;
  padding: 3px 5px;
  background: #f7f7f7;
  border-radius: 2px;
  font-family: monospace;
  font-size: 12px;
  overflow-x: auto;
  white-space: pre;
  line-height: 1.3;
  user-select: text;
  cursor: text;
  -webkit-user-select: text;
  -moz-user-select: text;
  -ms-user-select: text;
}

.tool-result {
  max-height: 300px;
  overflow-y: auto;
}

.usage-info {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px dashed #e0e0e0;
  font-size: 12px;
  color: #666;
}

/* Message type styles */
.user .message-icon {
  background-color: #2196f3;
}

.agent .message-icon {
  background-color: #4caf50;
}

.tool .message-icon {
  background-color: #ff9800;
}

.error .message-icon {
  background-color: #f44336;
}

.end-of-turn {
  margin-bottom: 15px;
}

.end-of-turn::after {
  content: "End of Turn";
  position: absolute;
  left: 15px;
  bottom: -10px;
  transform: translateX(-50%);
  font-size: 10px;
  color: #666;
  background: #f0f0f0;
  padding: 1px 4px;
  border-radius: 3px;
}

.collapsible {
  cursor: pointer;
  background-color: #f0f0f0;
  padding: 5px 10px;
  border: none;
  border-radius: 4px;
  text-align: left;
  font-size: 12px;
  margin-top: 5px;
}

.collapsed {
  max-height: 50px;
  overflow-y: hidden;
  position: relative;
  text-overflow: ellipsis;
}

/* Removed the gradient effect */

.loader {
  display: flex;
  justify-content: center;
  padding: 20px;
}

.loader::after {
  content: "";
  width: 30px;
  height: 30px;
  border: 3px solid #f3f3f3;
  border-top: 3px solid #3498db;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* Chat styles */
.chat-container {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background: #f0f0f0;
  padding: 15px;
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
  z-index: 1000;
}

.chat-input-wrapper {
  display: flex;
  max-width: 1200px;
  margin: 0 auto;
  gap: 10px;
}

#chatInput {
  flex: 1;
  padding: 12px;
  border: 1px solid #ddd;
  border-radius: 4px;
  resize: none;
  font-family: monospace;
  font-size: 12px;
  min-height: 40px;
  max-height: 120px;
  background: #f7f7f7;
}

#sendChatButton {
  background-color: #2196f3;
  color: white;
  border: none;
  border-radius: 4px;
  padding: 0 20px;
  cursor: pointer;
  font-weight: 600;
}

#sendChatButton:hover {
  background-color: #0d8bf2;
}

/* Copy button styles */
.message-text-container,
.tool-result-container {
  position: relative;
}

.message-actions {
  position: absolute;
  top: 5px;
  right: 5px;
  z-index: 10;
  opacity: 0;
  transition: opacity 0.2s ease;
}

.message-text-container:hover .message-actions,
.tool-result-container:hover .message-actions {
  opacity: 1;
}

.copy-button {
  background-color: rgba(255, 255, 255, 0.9);
  border: 1px solid #ddd;
  border-radius: 4px;
  color: #555;
  cursor: pointer;
  font-size: 12px;
  padding: 2px 8px;
  transition: all 0.2s ease;
}

.copy-button:hover {
  background-color: #f0f0f0;
  color: #333;
}

/* Diff View Styles */
.diff-view {
  width: 100%;
  background-color: #f5f5f5;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 20px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
}

.diff-tabs {
  display: flex;
  background-color: #e0e0e0;
  border-bottom: 1px solid #ccc;
}

.diff-tab-button {
  padding: 8px 16px;
  border: none;
  background: none;
  font-size: 14px;
  cursor: pointer;
  outline: none;
  transition: background-color 0.2s;
}

.diff-tab-button:hover {
  background-color: #d0d0d0;
}

.diff-tab-button.active {
  background-color: #fff;
  border-bottom: 2px solid #3498db;
}

.diff-container {
  flex: 1;
  overflow: hidden;
}

/* Removed diff-header for more space */

.diff-content {
  padding: 15px;
  margin: 0;
  max-height: 70vh;
  overflow-y: auto;
  font-family: Consolas, Monaco, "Andale Mono", monospace;
  font-size: 14px;
  line-height: 1.5;
  white-space: pre;
  tab-size: 4;
  background-color: #fff;
}

.diff-content .diff-line {
  padding: 0 5px;
  white-space: pre;
  cursor: pointer;
  transition: background-color 0.2s;
}

.diff-content .diff-line:hover {
  background-color: #e6f7ff;
}

.diff-content .diff-add {
  background-color: #e6ffed;
  color: #22863a;
}

.diff-content .diff-remove {
  background-color: #ffeef0;
  color: #cb2431;
}

.diff-content .diff-info {
  color: #6a737d;
  background-color: #f0f0f0;
}

.diff-comment-box {
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 80%;
  max-width: 600px;
  background-color: #fff;
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
  z-index: 1000;
}

.diff-comment-box h3 {
  margin-top: 0;
  margin-bottom: 15px;
  font-size: 18px;
}

.selected-line {
  background-color: #f5f5f5;
  padding: 10px;
  margin-bottom: 15px;
  border-radius: 4px;
  border-left: 3px solid #0366d6;
}

.selected-line pre {
  margin: 5px 0 0 0;
  white-space: pre-wrap;
  word-wrap: break-word;
  font-family: Consolas, Monaco, "Andale Mono", monospace;
  font-size: 14px;
}

#diffCommentInput {
  width: 100%;
  min-height: 100px;
  padding: 10px;
  margin-bottom: 15px;
  border: 1px solid #ccc;
  border-radius: 4px;
  resize: vertical;
  font-family: Arial, sans-serif;
}

.diff-comment-buttons {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

.diff-comment-buttons button {
  padding: 8px 15px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-weight: 500;
}

#submitDiffComment {
  background-color: #0366d6;
  color: white;
}

#submitDiffComment:hover {
  background-color: #0256bd;
}

#cancelDiffComment {
  background-color: #e1e4e8;
  color: #24292e;
}

#cancelDiffComment:hover {
  background-color: #d1d5da;
}

/* View Mode Button Styles */
.view-mode-buttons {
  display: flex;
  gap: 8px;
  margin-right: 10px;
}

.emoji-button {
  font-size: 18px;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: white;
  border: 1px solid #ddd;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s ease;
  padding: 0;
  line-height: 1;
}

.emoji-button:hover {
  background-color: #f0f0f0;
  transform: translateY(-2px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.emoji-button.active {
  background-color: #e6f7ff;
  border-color: #1890ff;
  color: #1890ff;
}

#showConversationButton.active {
  background-color: #e6f7ff;
  border-color: #1890ff;
}

#showDiffButton.active {
  background-color: #f6ffed;
  border-color: #52c41a;
}

#showChartsButton.active {
  background-color: #fff2e8;
  border-color: #fa8c16;
}

.stop-button:hover {
  background-color: #c82333 !important;
}

/* Chart View Styles */
.chart-view {
  width: 100%;
  background-color: #ffffff;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 20px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  padding: 15px;
}

.chart-container {
  width: 100%;
  height: auto;
  overflow: auto;
}

.chart-section {
  margin-bottom: 30px;
  border-bottom: 1px solid #eee;
  padding-bottom: 20px;
}

/* Terminal View Styles */
.terminal-view {
  width: 100%;
  background-color: #f5f5f5;
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: 20px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  padding: 15px;
  height: 70vh;
}

.terminal-container {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

#showTerminalButton.active {
  background-color: #fef0f0;
  border-color: #ff4d4f;
}

.chart-section:last-child {
  border-bottom: none;
  margin-bottom: 0;
}

.chart-section h3 {
  margin-top: 0;
  margin-bottom: 15px;
  font-size: 18px;
  color: #333;
}

#costChart,
#messagesChart {
  width: 100%;
  min-height: 300px;
  margin-bottom: 10px;
}

/* Tool calls container styles */
.tool-calls-container {
  /* Removed dotted border */
}

.tool-calls-toggle {
  cursor: pointer;
  background-color: #f0f0f0;
  padding: 5px 10px;
  border: none;
  border-radius: 4px;
  text-align: left;
  font-size: 12px;
  margin-top: 5px;
  color: #555;
  font-weight: 500;
}

.tool-calls-toggle:hover {
  background-color: #e0e0e0;
}

.tool-calls-details {
  margin-top: 10px;
  transition: max-height 0.3s ease;
}

.tool-calls-details.collapsed {
  max-height: 0;
  overflow: hidden;
  margin-top: 0;
}

.tool-call {
  background: #f9f9f9;
  border-radius: 4px;
  padding: 10px;
  margin-bottom: 10px;
  border-left: 3px solid #4caf50;
}

.tool-call-header {
  margin-bottom: 8px;
  font-size: 14px;
  padding: 2px 0;
}

/* Compact tool display styles */
.tool-compact-line {
  font-family: monospace;
  font-size: 12px;
  line-height: 1.4;
  padding: 4px 6px;
  background: #f8f8f8;
  border-radius: 3px;
  position: relative;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
  display: flex;
  align-items: center;
}

.tool-result-inline {
  font-family: monospace;
  color: #0066bb;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 400px;
  display: inline-block;
  vertical-align: middle;
}

.copy-inline-button {
  font-size: 10px;
  padding: 2px 4px;
  margin-left: 8px;
  background: #eee;
  border: none;
  border-radius: 3px;
  cursor: pointer;
  opacity: 0.7;
}

.copy-inline-button:hover {
  opacity: 1;
  background: #ddd;
}

.tool-input.compact,
.tool-result.compact {
  margin: 2px 0;
  padding: 4px;
  font-size: 12px;
}

/* Removed old compact container CSS */

/* Ultra-compact tool call box styles */
.tool-calls-header {
  /* Empty header - just small spacing */
}

.tool-call-boxes-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 8px;
}

.tool-call-wrapper {
  display: flex;
  flex-direction: column;
  margin-bottom: 4px;
}

.tool-call-box {
  display: inline-flex;
  align-items: center;
  background: #f0f0f0;
  border-radius: 4px;
  padding: 3px 8px;
  font-size: 12px;
  cursor: pointer;
  max-width: 320px;
  position: relative;
  border: 1px solid #ddd;
  transition: background-color 0.2s;
}

.tool-call-box:hover {
  background-color: #e8e8e8;
}

.tool-call-box.expanded {
  background-color: #e0e0e0;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  border-bottom: 1px solid #ccc;
}

.tool-call-name {
  font-weight: bold;
  margin-right: 6px;
  color: #444;
}

.tool-call-input {
  color: #666;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  font-family: monospace;
  font-size: 11px;
}

/* Removed old expanded view CSS */

/* Custom styles for IRC-like experience */
.user .message-content {
  border-left-color: #2196f3;
}

.agent .message-content {
  border-left-color: #4caf50;
}

.tool .message-content {
  border-left-color: #ff9800;
}

.error .message-content {
  border-left-color: #f44336;
}

/* Make message type display bold but without the IRC-style markers */
.message-type {
  font-weight: bold;
}

/* Tool call cards */
.tool-call-cards-container {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 8px;
}

/* Commit message styling */
.message.commit {
  background-color: #f0f7ff;
  border-left: 4px solid #0366d6;
}

.commits-container {
  margin-top: 10px;
  padding: 5px;
}

.commits-header {
  font-weight: bold;
  margin-bottom: 5px;
  color: #24292e;
}

.commit-boxes-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}

.tool-call-card {
  display: flex;
  flex-direction: column;
  border: 1px solid #ddd;
  border-radius: 6px;
  background-color: #f9f9f9;
  overflow: hidden;
  cursor: pointer;
}

/* Compact view (default) */
.tool-call-compact-view {
  display: flex;
  align-items: center;
  padding: 0px 6px;
  gap: 8px;
  background-color: #f9f9f9;
  font-size: 0.9em;
  white-space: nowrap;
  overflow: visible; /* Don't hide overflow, we'll handle text truncation per element */
  position: relative; /* For positioning the expand icon */
}

/* Expanded view (hidden by default) */
.tool-call-card.collapsed .tool-call-expanded-view {
  display: none;
}

.tool-call-expanded-view {
  display: flex;
  flex-direction: column;
  border-top: 1px solid #eee;
}

.tool-call-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 6px 10px;
  background-color: #f0f0f0;
  border-bottom: 1px solid #ddd;
  font-weight: bold;
}

.tool-call-name {
  font-family: var(--monospace-font);
  color: #0066cc;
  font-weight: bold;
}

.tool-call-status {
  margin-right: 4px;
  min-width: 1em;
  text-align: center;
}

.tool-call-status.spinner {
  animation: spin 1s infinite linear;
  display: inline-block;
  width: 1em;
}

.tool-call-time {
  margin-left: 8px;
  font-size: 0.85em;
  color: #666;
  font-weight: normal;
}

.tool-call-input-preview {
  color: #555;
  font-family: var(--monospace-font);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 30%;
  background-color: rgba(240, 240, 240, 0.5);
  padding: 2px 5px;
  border-radius: 3px;
  font-size: 0.9em;
}

.tool-call-result-preview {
  color: #28a745;
  font-family: var(--monospace-font);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 40%;
  background-color: rgba(240, 248, 240, 0.5);
  padding: 2px 5px;
  border-radius: 3px;
  font-size: 0.9em;
}

.tool-call-expand-icon {
  position: absolute;
  right: 10px;
  font-size: 0.8em;
  color: #888;
}

.tool-call-input {
  padding: 6px 10px;
  border-bottom: 1px solid #eee;
  font-family: var(--monospace-font);
  font-size: 0.9em;
  white-space: pre-wrap;
  word-break: break-all;
  background-color: #f5f5f5;
}

.tool-call-result {
  padding: 6px 10px;
  font-family: var(--monospace-font);
  font-size: 0.9em;
  white-space: pre-wrap;
  max-height: 300px;
  overflow-y: auto;
}

.tool-call-result pre {
  margin: 0;
  white-space: pre-wrap;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/* Standalone tool messages (legacy/disconnected) */
.tool-details.standalone .tool-header {
  border-radius: 4px;
  background-color: #fff3cd;
  border-color: #ffeeba;
}

.tool-details.standalone .tool-warning {
  margin-left: 10px;
  font-size: 0.85em;
  color: #856404;
  font-style: italic;
}

/* Tool call expanded view with sections */
.tool-call-section {
  border-bottom: 1px solid #eee;
}

.tool-call-section:last-child {
  border-bottom: none;
}

.tool-call-section-label {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 10px;
  background-color: #f5f5f5;
  font-weight: bold;
  font-size: 0.9em;
}

.tool-call-section-content {
  padding: 0;
}

.tool-call-copy-btn {
  background-color: #f0f0f0;
  border: 1px solid #ddd;
  border-radius: 4px;
  padding: 2px 8px;
  font-size: 0.8em;
  cursor: pointer;
  transition: background-color 0.2s;
}

.tool-call-copy-btn:hover {
  background-color: #e0e0e0;
}

/* Override for tool call input in expanded view */
.tool-call-section-content .tool-call-input {
  margin: 0;
  padding: 8px 10px;
  border: none;
  background-color: #fff;
  max-height: 300px;
  overflow-y: auto;
}

.title-container {
  display: flex;
  flex-direction: column;
  max-width: 33%;
  overflow: hidden;
}

.commit-box {
  border: 1px solid #d1d5da;
  border-radius: 4px;
  overflow: hidden;
  background-color: #ffffff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  max-width: 100%;
  display: flex;
  flex-direction: column;
}

.commit-preview {
  padding: 8px 12px;
  cursor: pointer;
  font-family: monospace;
  background-color: #f6f8fa;
  border-bottom: 1px dashed #d1d5da;
}

.commit-preview:hover {
  background-color: #eef2f6;
}

.commit-hash {
  color: #0366d6;
  font-weight: bold;
}

.commit-details {
  padding: 8px 12px;
  max-height: 200px;
  overflow-y: auto;
}

.commit-details pre {
  margin: 0;
  white-space: pre-wrap;
  word-break: break-word;
}

.commit-details.is-hidden {
  display: none;
}

.pushed-branch {
  color: #28a745;
  font-weight: 500;
  margin-left: 6px;
}

.commit-diff-button {
  padding: 6px 12px;
  border: 1px solid #ccc;
  border-radius: 3px;
  background-color: #f7f7f7;
  color: #24292e;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.2s ease;
  margin: 8px 12px;
  display: block;
}

.commit-diff-button:hover {
  background-color: #e7e7e7;
  border-color: #aaa;
}

/* Hide views initially to prevent flash of content */
.timeline-container .timeline,
.timeline-container .diff-view,
.timeline-container .chart-view,
.timeline-container .terminal-view {
  visibility: hidden;
}

/* Will be set by JavaScript once we know which view to display */
.timeline-container.view-initialized .timeline,
.timeline-container.view-initialized .diff-view,
.timeline-container.view-initialized .chart-view,
.timeline-container.view-initialized .terminal-view {
  visibility: visible;
}

.markdown-content {
  box-sizing: border-box;
  min-width: 200px;
  margin: 0 auto;
}

.markdown-content p {
  margin-block-start: 0.5em;
  margin-block-end: 0.5em
}