body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif;
  background-color: var(--bg-color, #1e1e1e);
  color: var(--text-color, #d4d4d4);
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  height: 100vh;
}
ul {
    padding-inline-start: 4px!important;
    margin-top: -5px;
}
.top-bar {
  background-color: #333333;
  padding: 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.logo {
  color: var(--accent-color, #fff);
  font-size: 18px;
  font-weight: bold;
}
.actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.main-container {
  display: flex;
  flex: 1;
  overflow: hidden;
}
.sidebar {
  width: 200px;
  min-width: 100px;
  max-width: 50%;
  resize: horizontal;
  overflow: auto;
  background-color: var(--sidebar-bg, #252526);
  padding: 0px;
  display: flex;
  flex-direction: column;
}
.sidebar-section {
  margin-bottom: 15px;
}
.sidebar-title {
  font-weight: bold;
  margin-bottom: 5px;
  padding-top: 10px;
  color: var(--accent-color, #007acc);
}
.sidebar-item {
  cursor: pointer;
  border-radius: 3px;
  display: flow-root!important;
  justify-content: space-between;
  align-items: center;
}
.sidebar-item:hover {
  background-color: var(--accent-color, #2a2d2e);
  opacity: 0.8;
}
.editor-output-container {
  display: flex;
  flex-direction: column;
  flex: 1;
  overflow: hidden;
}
.editor-container {
  flex: 1;
  min-height: 100px;
}
.resize-handle {
  height: 5px;
  background-color: #555;
  cursor: row-resize;
}
.output-container {
  height: 200px;
  min-height: 50px;
  max-height: calc(100% - 100px);
  overflow-y: auto;
  background-color: var(--output-bg, #1e1e1e);
  color: var(--output-text, #d4d4d4);
  font-family: 'Consolas', 'Courier New', monospace;
  padding: 10px;
  white-space: pre-wrap;
}
.button {
  background-color: var(--button-bg, #0e639c);
  color: var(--button-text, white);
  border: none;
  padding: 6px 12px;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  font-size: 14px;
  margin: 2px;
  cursor: pointer;
  border-radius: 2px;
  transition: background-color 0.3s;
}
.button:hover {
  background-color: #1177bb;
}
#file-input {
  display: none;
}
.modal {
  display: none;
  position: fixed;
  z-index: 1;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.4);
}
.modal-content {
  background-color: #252526;
  margin: 15% auto;
  padding: 20px;
  border: 1px solid #888;
  width: 50%;
  color: #d4d4d4;
}
.close {
  color: #aaa;
  float: right;
  font-size: 28px;
  font-weight: bold;
  cursor: pointer;
}
.close:hover,
.close:focus {
  color: #fff;
  text-decoration: none;
  cursor: pointer;
}
input[type="text"] {
  width: 100%;
  padding: 5px;
  margin: 5px 0 15px 0;
  display: inline-block;
  border: 1px solid #3c3c3c;
  background-color: #3c3c3c;
  color: #d4d4d4;
  box-sizing: border-box;
}
.status-bar {
  background-color: var(--accent-color, #007acc);
  color: #ffffff;
  padding: 5px 10px;
  font-size: 12px;
  display: flex;
  justify-content: space-between;
}
.file-action {
  cursor: pointer;
  margin-left: 5px;
  font-size: 14px;
}
.file-action:hover {
  color: var(--accent-color, #007acc);
}
/* Theme styles */
.high-contrast {
  --bg-color: #000000;
  --text-color: #ffffff;
  --sidebar-bg: #333333;
  --button-bg: #ff0000;
  --button-text: #ffffff;
  --output-bg: #000000;
  --output-text: #ffffff;
  --accent-color: #ff4136;
}
.dark-blue {
  --bg-color: #001f3f;
  --text-color: #ffffff;
  --sidebar-bg: #00284d;
  --button-bg: #0074d9;
  --button-text: #ffffff;
  --output-bg: #001f3f;
  --output-text: #ffffff;
  --accent-color: #b87333;
}
.light {
  --bg-color: #ffffff;
  --text-color: #000000;
  --sidebar-bg: #f1f1f1;
  --button-bg: #b87333;
  --button-text: #ffffff;
  --output-bg: #ffffff;
  --output-text: #000000;
  --accent-color: #b87333;
}
#theme-selector {
  background-color: var(--button-bg, #0e639c);
  color: var(--button-text, white);
  border: none;
  padding: 6px 12px;
  font-size: 14px;
  border-radius: 2px;
}
.connection-status {
  margin-left: 10px;
  padding: 3px 8px;
  border-radius: 10px;
  font-size: 12px;
  background-color: #555;
}
.connected {
  background-color: #015b04;
}
.disconnected {
  background-color: #ffaba6;
}
.logo-img {
  width: 50%;
  height: auto;
}