$main-lighten-2: $primary-lighten-2; $main-lighten-1: $primary-lighten-1; $main: $primary; $main-darken-1: $primary-darken-1; $main-darken-2: $primary-darken-2; $main-border-text-color: $accent; $main-border-color: $main-lighten-1 50%; $main-border-color-focus: $main-lighten-1 100%; $left-border-trim: vkey $main-lighten-2 15%; * { scrollbar-color: $accent 30%; scrollbar-color-hover: $accent 50%; scrollbar-color-active: $accent 80%; scrollbar-background: $surface-darken-1; scrollbar-background-hover: $surface-darken-1; scrollbar-background-active: $surface-darken-1; scrollbar-size-vertical: 1; link-style: none; link-color-hover: $accent; link-background-hover: $main 0%; link-style-hover: u not dim bold; } Tabs .underline--bar { color: $main-lighten-2 50%; background: $main 75%; } Screen { background: $background; padding: 0 2 1 2; &:inline { height: 80vh; padding: 0 2; } } ModalScreen { background: black 50%; padding: 0; &:inline { padding: 0; border: none; } & Footer { margin: 0 2 1 2; } } Rule { color: white 20%; &.-horizontal { margin: 0 0; } } Toast { background: $background-darken-1; border-right: none; &.-information { border-left: outer $main-lighten-1; & .toast--title { color: $main-lighten-2; } } &.-error { border-left: outer $main-lighten-1; & .toast--title { color: $main-lighten-2; } } } Tooltip { background: $background-darken-1; border: wide $main-border-color; } Chat { ChatHeader { width: 100%; height: auto; padding: 1 2; background: $background; &:inline { padding: 0 2 1 2; } & #model-static { color: $text-muted; } } ChatPromptInput { height: auto; max-height: 50%; padding: 0 1; background: $background; &.-submit-blocked { border: round $error 50%; } } ResponseStatus { dock: top; align-horizontal: right; display: none; layer: overlay; height: 2; width: auto; margin-top: 1; margin-right: 2; & Label { width: auto; } & LoadingIndicator { width: auto; color: $primary; height: 1; margin-top: 1; dock: right; } &.-awaiting-response { LoadingIndicator { color: $primary; } } &.-agent-responding { LoadingIndicator { color: $secondary; } } } } TextArea { padding: 1 2; border: round $main-border-color; border-title-color: $main-border-text-color; border-subtitle-color: $main-border-text-color; &:focus { border: round $main-border-color-focus; border-title-style: bold; & .text-area--selection { background: $main 60%; } } & .text-area--cursor-line { background: $background 0%; } & .text-area--cursor-gutter { background: $background 0%; } &:focus .text-area--cursor-gutter { color: yellowgreen; background: $background 0%; } & .text-area--selection { background: $main-lighten-2 25%; } &.selection-mode { border: none; height: auto; max-height: 75vh; width: 100%; padding: 0; } } PromptInput.multiline .text-area--cursor-line { background: white 3%; } HomeScreen PromptInput { height: auto; max-height: 65%; & TextArea { height: auto; max-height: 100%; } } AppHeader #cl-header-container { height: auto; background: $background; } AppHeader { dock: top; width: 1fr; padding: 1 2; height: auto; background: $background; &:inline { padding: 0 2 1 2; } & #app-title { color: $accent; text-style: bold; } & Horizontal { height: auto; } & #model-label { border: none; background: $main-darken-2 0%; text-style: dim; } } HomeScreen { & ChatList { padding: 0; height: 1fr; width: 1fr; border: round $main-border-color; border-title-color: $main-border-text-color; border-subtitle-color: $main-border-text-color; &:focus { border: round $main-border-color-focus; border-title-style: bold; border-subtitle-color: $main-border-text-color; } &.-empty { hatch: right $background-lighten-1; } } & Welcome { display: none; border: round $main-border-color; border-title-color: $main-border-text-color; border-title-align: center; border-title-style: bold; padding: 0 1; text-align: center; } } Chatbox { height: auto; width: auto; min-width: 12; max-width: 1fr; margin: 0 1; padding: 0 2; &.assistant-message.response-in-progress { background: $accent 3%; min-width: 30%; } &.assistant-message { width: 1fr; border: round $accent 60%; &:focus-within { border: round $accent; border-left: thick $accent 50%; } & TextArea { & .text-area--selection { background: $accent 23%; color: white 93%; } } & SelectionTextArea.visual-mode { & .text-area--cursor { background: $accent; } } } &.human-message { border: round $main-border-color; &:focus-within { border: round $main-border-color-focus; border-left: thick $main-border-color-focus; } & SelectionTextArea.visual-mode { & .text-area--cursor { background: $main-lighten-2; } } & TextArea { width: 1fr; } } } Footer { background: transparent; & FooterKey { background: transparent; } .footer-key--key { color: $accent; background: transparent; } } OptionList { background: $background 15%; } OptionList > .option-list--option-highlighted { background: $main 15%; color: $text; text-style: none; } OptionList:focus > .option-list--option-highlighted { background: $main-darken-2 80%; text-style: none; } OptionList > .option-list--option-disabled { color: $text-disabled; } OptionList > .option-list--option-hover { background: $boost; } OptionList > .option-list--option-hover-disabled { color: $text-disabled; background: $boost; } OptionList > .option-list--option-hover-highlighted { background: $main-lighten-1 40%; color: $text; text-style: bold; } OptionList:focus > .option-list--option-hover-highlighted { background: $main-lighten-1 50%; color: $text; text-style: bold; } OptionList > .option-list--option-hover-highlighted-disabled { color: $text-disabled; background: $main 60%; } RenameChat { & > Vertical { background: $background 0%; height: auto; & Input { padding: 0 4; border: none; border-bottom: hkey $main-border-color; border-top: hkey $main-border-color; border-subtitle-color: $main-border-text-color; border-subtitle-background: $background; } } } ChatDetails { align: center middle; & > #container { width: 90%; height: 85%; background: $background; padding: 1 2; border: wide $main-border-color-focus; border-title-color: $main-border-text-color; border-title-background: $background; border-title-style: b; border-subtitle-color: $text-muted; border-subtitle-background: $background; & Markdown { padding: 0; margin: 0; } & .heading { color: $text-muted; } & .datum { text-style: i; } } } MessageInfo #message-info-header { dock: top; width: 1fr; height: auto; background: $main-darken-2 70%; color: $text; } MessageInfo #message-info-header Tab { width: 1fr; } MessageInfo #message-info-footer { dock: bottom; height: 3; padding: 1 2; background: $main-darken-1; color: $text; width: 1fr; } MessageInfo #timestamp { dock: left; height: 3; width: auto; } MessageInfo #token-count { dock: right; height: 3; width: auto; } Tabs:focus .underline--bar { color: $text 35%; } MessageInfo #inner-container ContentSwitcher { height: auto; padding: 1 2; } MessageInfo #inner-container #markdown-content { height: 1fr; } MessageInfo #inner-container #metadata { height: auto; } OptionsModal { align: center middle; } OptionsModal #form-scrollable { background: $background; padding: 1 0 0 1; scrollbar-gutter: stable; scrollbar-size: 2 1; width: 75%; height: auto; max-height: 90%; border: wide $main-darken-2 80%; border-title-color: $main-border-text-color; border-title-background: $background; & #available-models { width: 100%; border: round $main-border-color; border-title-color: $main-border-text-color; background: red 0%; padding: 1 0; &:focus { border: round $main-border-color-focus; border-title-style: bold; } } & TextArea { height: auto; max-height: 12; border-subtitle-color: $main-border-color; &:focus { border-subtitle-color: $main-border-color-focus; } } #xdg-info { padding: 1 2; border: round $main-border-color; height: auto; border-title-color: $main-border-text-color; } } .code_inline { text-style: none; color: $accent; } RadioSet:focus > RadioButton.-on { & > .toggle--label { text-style: bold not dim; color: $accent; } } RadioSet > RadioButton.-on { text-style: bold not dim; color: $accent; } RadioButton .toggle--button { color: $accent 80%; background: $background-lighten-1; } HelpScreen { width:1fr; height: auto; align: center middle; & #help-scroll-keys-info { dock: bottom; border-top: solid $main 50%; text-style: dim; padding: 0 2; background: $background 0%; } & > Vertical { border: wide $main-border-color 80%; border-title-color: $main-border-text-color; border-title-background: $background; border-title-style: bold; width: 80%; height: 90%; background: $background; } & VerticalScroll { scrollbar-gutter: stable; } & Markdown { margin: 0; padding: 0 2; & MarkdownH3 { background: $background 0%; margin: 0; margin-top: 1; padding: 0; } & MarkdownBlockQuote { background: $boost; border-left: outer $main; padding: 1; } & MarkdownBulletList { margin-left: 1; } } }