/* Typography only: preserve the workspace's existing grid and wrapping. */
.workspace {
  --workspace-text-min: 12px;
  --workspace-body-size: 13px;
  --workspace-control-size: 12px;
  --workspace-secondary-size: 12px;
  --workspace-chat-title-size: 15px;
  --workspace-game-title-size: 14px;
  --workspace-lesson-title-size: 19px;
  --workspace-step-title-size: 16px;
  --workspace-asset-size: 13px;
}

.workspace.hasMikoLesson {
  --workspace-body-size: 14px;
}

#workspace .chat,
#workspace .right,
#workspace > .miko-lesson {
  font-size: var(--workspace-body-size);
}

#workspace .chat :where(*),
#workspace .right :where(*),
#workspace > .miko-lesson :where(*) {
  font-size: max(var(--workspace-text-min), 1em) !important;
}

#workspace .chat :is(button, input, select, textarea, summary, [role="button"]),
#workspace .right :is(button, input, select, textarea, summary, [role="button"]),
#workspace > .miko-lesson :is(button, input, select, textarea, summary, [role="button"]) {
  font-size: var(--workspace-control-size) !important;
}

#workspace .chat #chatTitle {
  font-size: var(--workspace-chat-title-size) !important;
}

#workspace .chat #chatStatus,
#workspace .chat #engineChip,
#workspace #gameCode,
#workspace #statusChip {
  font-size: var(--workspace-secondary-size) !important;
}

#workspace .chat .msgBody,
#workspace .chat .empty,
#workspace .chat .editorOperationStatus,
#workspace .chat .messagePending,
#workspace .chat #messageInput {
  font-size: var(--workspace-body-size) !important;
}

#workspace .chat .msgMeta,
#workspace .chat .msgAvatar,
#workspace .chat .composerHint,
#workspace .chat .scenePickerHint,
#workspace .chat .assetCatalogSelectionLabel,
#workspace .chat .assetCatalogChip,
#workspace .chat .assetCatalogChipKind {
  font-size: var(--workspace-secondary-size) !important;
}

#workspace .game #gameTitle {
  font-size: var(--workspace-game-title-size) !important;
}

#workspace .assetCatalog {
  font-size: var(--workspace-asset-size) !important;
}

#workspace .assetCatalogTitle small,
#workspace .assetCatalogCount,
#workspace .assetCatalogHint,
#workspace .assetCatalogDescription,
#workspace .assetCatalogTags span,
#workspace .assetCatalogMeta,
#workspace .assetCatalogPath,
#workspace .assetCatalogEmpty,
#workspace .assetCatalogOwnerLabel,
#workspace .assetCatalogOwner {
  font-size: var(--workspace-secondary-size) !important;
}

#workspace.hasMikoLesson .miko-lesson-title-row h2,
#workspace.hasMikoLesson .miko-lesson-top h2 {
  font-size: var(--workspace-lesson-title-size) !important;
}

#workspace.hasMikoLesson .miko-step-main h3,
#workspace.hasMikoLesson [data-collapsed-step-title] {
  font-size: var(--workspace-step-title-size) !important;
}

#workspace.hasMikoLesson .miko-lesson-heading > p,
#workspace.hasMikoLesson .miko-step-main > p,
#workspace.hasMikoLesson .miko-step-result,
#workspace.hasMikoLesson .miko-click-guide {
  font-size: var(--workspace-body-size) !important;
}

#workspace.hasMikoLesson .miko-step-counter,
#workspace.hasMikoLesson .miko-compact-progress,
#workspace.hasMikoLesson .miko-chat-example summary,
#workspace.hasMikoLesson .miko-hint-details summary {
  font-size: var(--workspace-secondary-size) !important;
}

#workspace.hasMikoLesson .miko-kicker {
  font-size: 11px !important;
}
