/* Theme variables */
:root[data-theme="dark"] {
  --bg-color: #1f1f1f;
  --fg-color: #F2F2F2;
  --panel-bg: rgba(29,29,29,0.8);
  --track-color: #044040;
  --thumb-color: #D92525;
}

:root[data-theme="light"] {
  --bg-color: #F2F2F2;
  --fg-color: #000;
  --panel-bg: rgba(220,220,220,0.8);
  --track-color: #044040;
  --thumb-color: #D92525;
}

/* Random theme will use custom properties set by JavaScript */
:root:not([data-theme]) {
  --bg-color: #1f1f1f;
  --fg-color: #F2F2F2;
  --panel-bg: rgba(29,29,29,0.8);
  --track-color: #044040;
  --thumb-color: #D92525;
}

/* Base styles */
* { 
  box-sizing: border-box; 
  margin: 0; 
  padding: 0; 
}

body {
  background: var(--bg-color);
  overflow: hidden;
  color: var(--fg-color);
  font-family: 'Space Mono', monospace;
  transition: background-color 0.3s ease, color 0.3s ease;
}

/* Theme switch styles */
.theme-switch {
  position: relative;
  display: inline-block;
  width: 45px;
  height: 26px;
  margin-left: 6px;
}

.theme-switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.theme-switch .slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: var(--track-color);
  transition: .4s;
  border-radius: 34px;
}

.theme-switch .slider:before {
  position: absolute;
  content: "";
  height: 20px;
  width: 20px;
  left: 3px;
  bottom: 3px;
  background-color: var(--thumb-color);
  transition: .4s;
  border-radius: 50%;
}

.theme-switch input:checked + .slider:before {
  transform: translateX(19px);
}

.theme-switch .icon {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
  color: var(--fg-color);
  font-size: 11px;
}

.theme-switch .icon-dark {
  left: 8px;
}

.theme-switch .icon-light {
  right: 8px;
} 