/* resources/ts/components/PageStudio.module.css */
.PageStudio_studio {
  --height-studio-settings-toolbar: calc(42px + var(--spacing-2x));
  --height-studio-conversation: calc( 100dvh - var(--height-studio-settings-toolbar) );
  --max-width-studio-conversation: 600px;
  display: grid;
  grid-template-areas: "conversation object-palette";
  grid-template-columns: 1fr auto;
  height: 100dvh;
  justify-self: center;
  max-width: 2000px;
  position: relative;
  width: 100%;
}
.PageStudio_studio__conversation {
  display: flex;
  filter: drop-shadow(0 0 20px #00000022);
  flex-direction: column;
  grid-area: conversation;
  justify-content: flex-end;
  padding: var(--spacing-base);
}
.PageStudio_studio__objectPalette {
  display: flex;
  flex-direction: row;
  grid-area: object-palette;
}
.PageStudio_studio__settingsToolbar {
  align-items: center;
  display: grid;
  height: var(--height-studio-settings-toolbar);
  justify-content: center;
  left: 0;
  position: absolute;
  top: 0;
}

/* resources/ts/components/Conversation.module.css */
.Conversation_conversation {
  max-width: var(--max-width-studio-conversation);
  position: relative;
  width: 100%;
}
.Conversation_conversation__content {
  --size-assistant-avatar: 160px;
  display: flex;
  flex-direction: column;
  transition: opacity 200ms ease-in-out;
}
.Conversation_conversation__content.Conversation_conversation__contentInactive {
  opacity: 0.3;
  * {
    pointer-events: none !important;
  }
}

/* resources/ts/components/ConversationFeed.module.css */
.ConversationFeed_conversationFeed {
  display: flex;
  max-height: calc(var(--height-studio-conversation) - 360px);
  transition: padding var(--conversation-animation-duration) ease-in-out;
}
.ConversationFeed_conversationFeed__avatar {
  display: flex;
  height: 160px;
  position: absolute;
  transform: translateY(-100%) translateY(40px);
  width: 160px;
}
.ConversationFeed_conversationFeed__content {
  background-image:
    linear-gradient(
      25deg,
      #ffffffee 50%,
      var(--color-tile-grid-overlay-background));
  display: grid;
  font-family: var(--font-family-serif);
  position: relative;
  transition: grid-template-rows var(--conversation-animation-duration) ease-in-out;
  width: 100%;
}
.ConversationFeed_conversationFeed__content:not(:has(.ConversationFeed_conversationFeed__messages:empty)) {
  --conversation-animation-duration: 600ms;
  grid-template-rows: 1fr;
}
.ConversationFeed_conversationFeed__content:has(.ConversationFeed_conversationFeed__messages:empty) {
  --conversation-animation-duration: 200ms;
  grid-template-rows: 0fr;
}
.ConversationFeed_conversationFeed__messages {
  display: flex;
  flex-direction: column-reverse;
  mask-image:
    linear-gradient(
      to bottom,
      transparent,
      black var(--spacing-2x)),
    linear-gradient(
      to left,
      black var(--width-scrollbar),
      transparent var(--width-scrollbar));
  overflow-y: scroll;
  padding: var(--spacing-2x) 0;
  pointer-events: all;
  transition: padding var(--conversation-animation-duration) ease-in-out;
}
.ConversationFeed_conversationFeed__messages:empty {
  padding-bottom: 0;
  padding-top: 0;
}

/* resources/ts/components/DebugTableContextProvider.module.css */
.DebugTableContextProvider_debugTable {
  display: flex;
  flex-direction: column;
  font-family: monospace;
  font-size: var(--font-size-smaller);
  opacity: 0.6;
  padding: var(--spacing-half);
  pointer-events: none;
  position: fixed;
  right: 0;
  table-layout: fixed;
  top: 0;
  user-select: none;
  width: 640px;
  z-index: var(--z-index-debug-table);
  table {
    width: 100%;
  }
  td,
  th {
    overflow: hidden;
    padding: 0 var(--spacing-half);
    text-align: left;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 50%;
  }
}

/* resources/ts/components/ConversationFeedMessages.module.css */
.ConversationFeedMessages_conversationFeedMessages {
  display: flex;
  flex-direction: column;
  row-gap: var(--spacing-half);
  p {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
  }
}
.ConversationFeedMessages_conversationFeedMessages__dialogueOptions {
  display: flex;
  flex-direction: column;
  padding-top: var(--spacing-base);
  padding-right: var(--spacing-base-plus-half);
  padding-left: var(--spacing-4x);
}
.ConversationFeedMessages_conversationFeedMessages__dialogueOptions:not(:last-child) {
  padding-bottom: var(--spacing-base);
}
.ConversationFeedMessages_conversationFeedMessages__suggestedSolutions {
  display: grid;
  gap: var(--spacing-half);
  grid-template-columns: repeat(2, 1fr);
  height: 160px;
}

/* resources/ts/components/ConversationFeedAssistantMessage.module.css */
.ConversationFeedAssistantMessage_conversationFeedAssistantMessage {
  display: flex;
  flex-direction: column;
  padding: 0 var(--spacing-base-plus-half);
  row-gap: var(--spacing-half);
}

/* resources/ts/components/ConversationFeedResourceReference.module.css */
.ConversationFeedResourceReference_conversationFeedResourceReference {
  --size-icon: 24px;
  align-items: center;
  display: inline-flex;
  line-height: 1;
  margin: 0 8px;
}
.ConversationFeedResourceReference_conversationFeedResourceReference__content {
  align-items: center;
  column-gap: 4px;
  cursor: pointer;
  display: grid;
  font-size: var(--font-size-small);
  line-height: var(--font-size-base);
  grid-template-columns: auto 1fr;
  padding: 0 8px 0 4px;
  position: relative;
  z-index: 1;
  &:before {
    background-color: bisque;
    content: "";
    bottom: -4px;
    left: -2px;
    position: absolute;
    top: -4px;
    right: -2px;
    z-index: -1;
  }
}
.ConversationFeedResourceReference_conversationFeedResourceReference__icon {
  height: var(--size-icon);
  width: var(--size-icon);
}
.ConversationFeedResourceReference_conversationFeedResourceReference__label {
}

/* resources/ts/components/LayerContextProvider.module.css */
.LayerContextProvider_layerContext {
  position: relative;
}
.LayerContextProvider_layerContext__canvasBackgroundLayer,
.LayerContextProvider_layerContext__canvasForegroundLayer,
.LayerContextProvider_layerContext__content {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}
.LayerContextProvider_layerContext__canvasBackgroundLayer {
  background-color: var(--color-body-background);
  transition: background-color 300ms ease-in-out;
  z-index: var(--z-index-canvas-background-layer);
}
.LayerContextProvider_layerContext__canvasForegroundLayer {
  pointer-events: none;
  user-select: none;
  z-index: var(--z-index-canvas-foreground-layer);
  canvas,
  div {
    pointer-events: none !important;
  }
}
.LayerContextProvider_layerContext__content {
  display: grid;
  pointer-events: none;
  user-select: none;
  z-index: var(--z-index-canvas-html-content);
}

/* resources/ts/components/ConversationInput.module.css */
.ConversationInput_conversationInput {
  --conversation-input-background: white;
  --conversation-input-border-color: #ffb6c1;
  --conversation-input-button-background: #d5e2ff;
  --conversation-input-button-disabled-background: #eee;
  --conversation-input-line-color: #eee;
  --conversation-input-line-height: var(--spacing-base-plus-half);
  --conversation-input-text-color: var(--color-body-text);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  user-select: text;
  width: 100%;
}
.ConversationInput_conversationInput__content {
  background-color: var(--conversation-input-background);
  display: flex;
  flex-direction: column;
}
.ConversationInput_conversationInput__submitButton {
  --image-size: 24px;
  --button-size: calc(1.5 * var(--image-size));
  align-items: center;
  background-color: var(--conversation-input-button-background);
  border: none;
  display: flex;
  height: var(--button-size);
  justify-content: center;
  padding: 0;
  transition: background-color 200ms ease-in-out, opacity 200ms ease-in-out;
  width: var(--button-size);
  img {
    height: var(--image-size);
    width: var(--image-size);
  }
  &:disabled {
    background-color: var(--conversation-input-button-disabled-background);
    opacity: 0.6;
  }
}
.ConversationInput_conversationInput__textarea,
.ConversationInput_conversationInput__toolbar {
  pointer-events: all;
}
.ConversationInput_conversationInput__textarea {
  display: grid;
  height: 100%;
}
.ConversationInput_conversationInput__textarea__input {
  background-attachment: local;
  background-color: transparent;
  background-image: linear-gradient(var(--conversation-input-line-color) 1px, transparent 1px);
  background-position: 0 var(--conversation-input-line-height);
  background-size: 100% var(--conversation-input-line-height);
  border-style: solid;
  border-color: var(--conversation-input-border-color);
  border-width: 0 0 0 3px;
  color: var(--conversation-input-text-color);
  field-sizing: content;
  font-family: var(--font-family-sans-serif);
  font-size: var(--font-size-small);
  line-height: var(--conversation-input-line-height);
  max-height: calc(6 * var(--conversation-input-line-height) + 1px);
  min-height: calc(3 * var(--conversation-input-line-height) + 1px);
  padding: var(--conversation-input-line-height) var(--spacing-base-plus-half) var(--conversation-input-line-height) calc(var(--spacing-base-plus-half) - 3px);
  resize: none;
  width: 100%;
  &:focus {
    outline: none;
  }
}
.ConversationInput_conversationInput__toolbar {
  align-items: center;
  background-color: var(--conversation-input-background);
  display: flex;
  justify-content: space-between;
  justify-items: flex-end;
  padding: var(--spacing-half) var(--spacing-base-plus-half);
  position: relative;
}
.ConversationInput_conversationInput__toolbar__track {
  align-items: center;
  column-gap: var(--spacing-base);
  display: flex;
}

/* resources/ts/components/ObjectPaletteList.module.css */
.ObjectPaletteList_objectPaletteList {
  display: flex;
  flex-direction: row;
  padding: 0 var(--spacing-base);
}

/* resources/ts/components/ObjectPalette.module.css */
.ObjectPalette_objectPalette {
  --height-object-palette-category: calc(100px + 2 * var(--spacing-base));
  --height-object-palette-icon: 100px;
  --height-object-palette-item: 100px;
  --width-object-palette-category: 100px;
  --width-object-palette-icon: 100px;
  --width-object-palette-item: 260px;
  align-items: flex-end;
  display: grid;
  grid-template-rows: 1fr auto;
  height: 100%;
  justify-items: flex-end;
  position: relative;
  width: 100%;
}
.ObjectPalette_objectPalette__category {
  align-items: center;
  border-radius: 50%;
  display: flex;
  height: var(--height-object-palette-category);
  justify-content: center;
  pointer-events: all;
  width: var(--width-object-palette-category);
}
.ObjectPalette_objectPalette__picker {
  --width-scrollbar: 0;
  bottom: var(--height-object-palette-category);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  overflow-y: scroll;
  position: absolute;
  right: 0;
  width: var(--width-object-palette-item);
}
.ObjectPalette_objectPalette__toggle {
  align-items: center;
  background: none;
  border: none;
  display: flex;
  height: 100%;
  justify-content: center;
  padding: var(--spacing-base-plus-half) var(--spacing-base);
  width: 100%;
  &:focus {
    outline: none;
  }
  img {
    height: 48px;
    margin: var(--spacing-half);
    pointer-events: none;
    width: 48px;
  }
}
.ObjectPalette_objectPalette__toggle__embeddedModel {
  height: 100%;
  pointer-events: none;
  width: 100%;
}

/* resources/ts/components/ObjectPalettePicker.module.css */
.ObjectPalettePicker_objectPalettePicker {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding-bottom: var(--spacing-base);
  transition: opacity 200ms ease-in-out, transform 200ms ease-in-out;
}
.ObjectPalettePicker_objectPalettePicker.ObjectPalettePicker_objectPalettePicker__closed {
  opacity: 0;
  overflow: hidden;
  transform: translateY(100%);
}
.ObjectPalettePicker_objectPalettePicker.ObjectPalettePicker_objectPalettePicker__opened {
  opacity: 1;
  pointer-events: all;
}

/* resources/ts/components/ObjectPaletteItem.module.css */
.ObjectPaletteItem_objectPaletteItem {
  align-items: center;
  background-color: transparent;
  border: none;
  column-gap: var(--spacing-half);
  cursor: grab;
  display: flex;
  flex-direction: row;
  height: var(--height-object-palette-item);
  justify-content: flex-end;
  padding: 0;
  transition: filter 200ms ease-in-out, opacity 200ms ease-in-out;
  width: var(--width-object-palette-item);
}
.ObjectPaletteItem_objectPaletteItem.ObjectPaletteItem_objectPaletteItem__dragging {
  filter: grayscale(100%);
  opacity: 0.4;
  pointer-events: none;
}
.ObjectPaletteItem_objectPaletteItem__icon {
  height: var(--height-object-palette-icon);
  width: var(--width-object-palette-icon);
}
.ObjectPaletteItem_objectPaletteItem__label {
  background-image:
    linear-gradient(
      to right,
      white,
      bisque 50%);
  font-family: var(--font-family-serif);
  font-size: var(--font-size-smaller);
  min-width: 80px;
  padding: var(--spacing-quarter) var(--spacing-half);
  text-align: right;
}

/* resources/ts/components/TileOccupantLabel.module.css */
@keyframes TileOccupantLabel_fadeIn {
  to {
    opacity: 1;
  }
}
.TileOccupantLabel_tileOccupantLabel {
  pointer-events: none;
  user-select: none;
}
.TileOccupantLabel_tileOccupantLabel__content {
  animation: TileOccupantLabel_fadeIn 100ms ease-out 20ms forwards;
  background-color: #ffe4c4aa;
  color: black;
  font-family: var(--font-family-serif);
  font-size: var(--font-size-smaller);
  opacity: 0;
  padding: var(--spacing-quarter) var(--spacing-half);
  transform: translate3d(-50%, 32px, 0) !important;
  white-space: nowrap;
}

/* resources/ts/components/SettingsToolbar.module.css */
.SettingsToolbar_settingsToolbar {
  backdrop-filter: blur(4px);
  background-color: var(--color-tile-grid-overlay-background);
  column-gap: var(--spacing-half);
  display: flex;
  flex-direction: row;
  font-family: var(--font-family-serif);
  margin: 0 var(--spacing-base);
  padding: var(--spacing-quarter);
  pointer-events: all;
}
.SettingsToolbar_settingsToolbar__button {
  align-items: center;
  background-color: transparent;
  border-radius: 4px;
  border: none;
  display: flex;
  height: 32px;
  justify-content: center;
  padding: 0;
  transition: background-color 200ms ease-in-out;
  width: 32px;
  img {
    height: 24px;
    width: 24px;
  }
}
.SettingsToolbar_settingsToolbar__button:hover,
.SettingsToolbar_settingsToolbar__button.SettingsToolbar_settingsToolbar__buttonActive:hover {
  background-color: #ddd;
}
.SettingsToolbar_settingsToolbar__button.SettingsToolbar_settingsToolbar__buttonActive {
  background-color: #eee;
}

/* resources/ts/components/HomepageStage.module.css */
@keyframes HomepageStage_fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.HomepageStage_stage {
  animation-duration: 300ms;
  animation-fill-mode: forwards;
  animation-name: HomepageStage_fadeIn;
  animation-timing-function: ease-in-out;
  height: 100%;
  opacity: 0;
  overflow: hidden;
  position: relative;
  width: 100%;
  *,
  * * {
    pointer-events: none !important;
    user-select: none !important;
  }
  canvas {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
  }
}
/*# sourceMappingURL=/assets/controller_landing_page_WVAPERLR.css.map */
