.container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
  font-family:
    system-ui,
    -apple-system,
    sans-serif;
}

.taskSelector {
  margin-bottom: 24px;
}

.taskSelector h4 {
  margin: 0 0 12px;
  font-size: 1.125rem;
  color: #111827;
}

.taskButtons {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}

.taskButton {
  padding: 8px 16px;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  background: white;
  color: #374151;
  cursor: pointer;
  transition: all 0.2s;
}

.taskButton:hover {
  border-color: #3b82f6;
  background: #eff6ff;
}

.taskButton.active {
  border-color: #3b82f6;
  background: #eff6ff;
  color: #1d4ed8;
  font-weight: 500;
}

.startButton {
  display: block;
  width: 100%;
  padding: 12px 24px;
  background: #3b82f6;
  color: white;
  border: none;
  border-radius: 6px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
}

.startButton:hover:not(:disabled) {
  background: #2563eb;
}

.startButton:disabled {
  background: #93c5fd;
  cursor: not-allowed;
}

.simulator {
  display: grid;
  gap: 24px;
  padding: 24px;
  background: white;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
}

.stateVisualizer {
  margin-bottom: 24px;
}

.stateVisualizer h5 {
  margin: 0 0 16px;
  font-size: 1rem;
  color: #111827;
}

.states {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 16px;
}

.state {
  padding: 16px;
  border: 1px solid #e5e7eb;
  border-radius: 6px;
  background: white;
  transition: all 0.2s;
}

.state.active {
  border-color: var(--state-color);
  background: color-mix(in srgb, var(--state-color) 10%, white);
}

.stateHeader {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}

.stateDot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--state-color);
}

.stateName {
  font-weight: 500;
  color: #111827;
}

.stateDescription {
  margin: 0;
  font-size: 0.875rem;
  color: #6b7280;
  line-height: 1.4;
}

.controls {
  margin-bottom: 24px;
}

.controls h5 {
  margin: 0 0 16px;
  font-size: 1rem;
  color: #111827;
}

.transitionButtons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.transitionButton {
  padding: 8px 16px;
  border: 1px solid var(--state-color);
  border-radius: 6px;
  background: white;
  color: var(--state-color);
  cursor: pointer;
  transition: all 0.2s;
  font-size: 0.875rem;
}

.transitionButton:hover {
  background: color-mix(in srgb, var(--state-color) 10%, white);
}

.transitionButton:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.taskDetails {
  display: grid;
  gap: 24px;
}

.section {
  padding: 20px;
  background: white;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
}

.section h5 {
  margin: 0 0 16px;
  font-size: 1rem;
  color: #111827;
}

.statusCard {
  padding: 16px;
  background: #f9fafb;
  border-radius: 6px;
}

.statusHeader {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}

.statusDot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}

.statusState {
  font-weight: 500;
  color: #111827;
}

.statusMessage {
  margin: 0 0 8px;
  color: #4b5563;
  font-size: 0.875rem;
}

.statusTime {
  font-size: 0.75rem;
  color: #6b7280;
}

.history {
  display: grid;
  gap: 12px;
}

.historyEntry {
  padding: 12px;
  background: #f9fafb;
  border-radius: 6px;
}

.historyHeader {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 4px;
}

.historyDot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
}

.historyState {
  font-size: 0.875rem;
  font-weight: 500;
  color: #374151;
}

.historyMessage {
  margin: 0 0 4px;
  font-size: 0.875rem;
  color: #4b5563;
}

.historyTime {
  font-size: 0.75rem;
  color: #6b7280;
}

.artifacts {
  display: grid;
  gap: 16px;
}

.artifact {
  padding: 16px;
  background: #f9fafb;
  border-radius: 6px;
}

.artifactHeader {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 8px;
}

.artifactName {
  font-weight: 500;
  color: #111827;
}

.artifactIndex {
  font-size: 0.75rem;
  color: #6b7280;
}

.artifactDescription {
  margin: 0 0 12px;
  font-size: 0.875rem;
  color: #4b5563;
}

.artifactPart {
  padding: 12px;
  background: white;
  border: 1px solid #e5e7eb;
  border-radius: 4px;
}

.partType {
  display: block;
  margin-bottom: 8px;
  font-size: 0.75rem;
  color: #6b7280;
  font-family: monospace;
}

.partContent {
  font-size: 0.875rem;
  color: #111827;
  line-height: 1.5;
}

/* Dark mode adjustments */
html[data-theme='dark'] .container {
  background: var(--ifm-background-surface-color);
}

html[data-theme='dark'] .taskSelector h4 {
  color: var(--ifm-color-white);
}

html[data-theme='dark'] .taskButton {
  background: var(--ifm-card-background-color);
  border-color: var(--ifm-color-emphasis-300);
  color: var(--ifm-color-emphasis-700);
}

html[data-theme='dark'] .taskButton:hover {
  border-color: var(--ifm-color-primary);
  background: var(--ifm-color-emphasis-100);
  color: var(--ifm-color-white);
}

html[data-theme='dark'] .taskButton.active {
  border-color: var(--ifm-color-primary);
  background: var(--ifm-color-primary);
  color: var(--ifm-color-white);
}

html[data-theme='dark'] .simulator {
  background: var(--ifm-card-background-color);
  border-color: var(--ifm-color-emphasis-300);
}

html[data-theme='dark'] .stateVisualizer h5,
html[data-theme='dark'] .controls h5,
html[data-theme='dark'] .section h5 {
  color: var(--ifm-color-white);
}

html[data-theme='dark'] .state {
  background: var(--ifm-card-background-color);
  border-color: var(--ifm-color-emphasis-300);
}

html[data-theme='dark'] .state.active {
  background: color-mix(in srgb, var(--state-color) 15%, var(--ifm-card-background-color));
}

html[data-theme='dark'] .stateName {
  color: var(--ifm-color-white);
}

html[data-theme='dark'] .stateDescription {
  color: var(--ifm-color-emphasis-600);
}

html[data-theme='dark'] .transitionButton {
  background: var(--ifm-card-background-color);
}

html[data-theme='dark'] .transitionButton:hover:not(:disabled) {
  background: color-mix(in srgb, var(--state-color) 15%, var(--ifm-card-background-color));
}

html[data-theme='dark'] .section {
  background: var(--ifm-card-background-color);
  border-color: var(--ifm-color-emphasis-300);
}

html[data-theme='dark'] .statusCard,
html[data-theme='dark'] .historyEntry {
  background: var(--ifm-color-emphasis-100);
}

html[data-theme='dark'] .statusState {
  color: var(--ifm-color-white);
}

html[data-theme='dark'] .statusMessage {
  color: var(--ifm-color-emphasis-600);
}

html[data-theme='dark'] .statusTime,
html[data-theme='dark'] .historyTime {
  color: var(--ifm-color-emphasis-500);
}

html[data-theme='dark'] .artifactName {
  color: var(--ifm-color-white);
}

html[data-theme='dark'] .artifactDescription {
  color: var(--ifm-color-emphasis-600);
}

html[data-theme='dark'] .partType {
  color: var(--ifm-color-emphasis-700);
}

html[data-theme='dark'] .partContent {
  color: var(--ifm-color-emphasis-800);
  background: var(--ifm-color-emphasis-100);
}
