/*  This project merges a chat UI and code editor, hence the name of this file  */





/*  Codemirror  */

/* BASICS */

.CodeMirror {
  font-family: inherit;
  height: 300px;
  color: black;
  direction: ltr;
}

/* PADDING */

.CodeMirror-lines {
  padding: 4px 0;
}
.CodeMirror pre.CodeMirror-line,
.CodeMirror pre.CodeMirror-line-like {
  padding: 0 4px;
}

.CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {
  background-color: white; /* The little square between H and V scrollbars */
}

/* GUTTER */

.CodeMirror-gutters {
  border-right: 1px solid #ddd;
  background-color: #f7f7f7;
  white-space: nowrap;
}
.CodeMirror-linenumbers {}
.CodeMirror-linenumber {
  padding: 0 3px 0 5px;
  min-width: 20px;
  text-align: right;
  color: #999;
  white-space: nowrap;
}

.CodeMirror-guttermarker { color: black; }
.CodeMirror-guttermarker-subtle { color: #999; }

/* CURSOR */

.CodeMirror-cursor {
  border-left: 1px solid black;
  border-right: none;
  width: 0;
}
/* Shown when moving in bi-directional text */
.CodeMirror div.CodeMirror-secondarycursor {
  border-left: 1px solid silver;
}
.cm-fat-cursor .CodeMirror-cursor {
  width: auto;
  border: 0 !important;
  background: #7e7;
}
.cm-fat-cursor div.CodeMirror-cursors {
  z-index: 1;
}
.cm-fat-cursor-mark {
  background-color: rgba(20, 255, 20, 0.5);
  -webkit-animation: blink 1.06s steps(1) infinite;
  -moz-animation: blink 1.06s steps(1) infinite;
  animation: blink 1.06s steps(1) infinite;
}
.cm-animate-fat-cursor {
  width: auto;
  border: 0;
  -webkit-animation: blink 1.06s steps(1) infinite;
  -moz-animation: blink 1.06s steps(1) infinite;
  animation: blink 1.06s steps(1) infinite;
  background-color: #7e7;
}
@-moz-keyframes blink {
  0% {}
  50% { background-color: transparent; }
  100% {}
}
@-webkit-keyframes blink {
  0% {}
  50% { background-color: transparent; }
  100% {}
}
@keyframes blink {
  0% {}
  50% { background-color: transparent; }
  100% {}
}

/* Can style cursor different in overwrite (non-insert) mode */
.CodeMirror-overwrite .CodeMirror-cursor {}

.cm-tab { display: inline-block; text-decoration: inherit; }

.CodeMirror-rulers {
  position: absolute;
  left: 0; right: 0; top: -50px; bottom: 0;
  overflow: hidden;
}
.CodeMirror-ruler {
  border-left: 1px solid #ccc;
  top: 0; bottom: 0;
  position: absolute;
}

/* DEFAULT CODEMIRROR THEME */

.cm-s-default .cm-header {color: blue;}
.cm-s-default .cm-quote {color: #090;}
.cm-negative {color: #d44;}
.cm-positive {color: #292;}
.cm-header, .cm-strong {font-weight: bold;}
.cm-em {font-style: italic;}
.cm-link {text-decoration: underline;}
.cm-strikethrough {text-decoration: line-through;}

.cm-s-default .cm-keyword {color: #708;}
.cm-s-default .cm-atom {color: #219;}
.cm-s-default .cm-number {color: #164;}
.cm-s-default .cm-def {color: #00f;}
.cm-s-default .cm-variable,
.cm-s-default .cm-punctuation,
.cm-s-default .cm-property,
.cm-s-default .cm-operator {}
.cm-s-default .cm-variable-2 {color: #05a;}
.cm-s-default .cm-variable-3, .cm-s-default .cm-type {color: #085;}
.cm-s-default .cm-comment {color: #a50;}
.cm-s-default .cm-string {color: #a11;}
.cm-s-default .cm-string-2 {color: #f50;}
.cm-s-default .cm-meta {color: #555;}
.cm-s-default .cm-qualifier {color: #555;}
.cm-s-default .cm-builtin {color: #30a;}
.cm-s-default .cm-bracket {color: #997;}
.cm-s-default .cm-tag {color: #170;}
.cm-s-default .cm-attribute {color: #00c;}
.cm-s-default .cm-hr {color: #999;}
.cm-s-default .cm-link {color: #00c;}

.cm-s-default .cm-error {color: #f00;}
.cm-invalidchar {color: #f00;}

.CodeMirror-composing { border-bottom: 2px solid; }

/* Default styles for common addons */

div.CodeMirror span.CodeMirror-matchingbracket {color: #0b0;}
div.CodeMirror span.CodeMirror-nonmatchingbracket {color: #a22;}
.CodeMirror-matchingtag { background: rgba(255, 150, 0, .3); }
.CodeMirror-activeline-background {background: #e8f2ff;}

/* STOP */

/* The following CodeMirror styles are related to the mechanics of
   the CodeMirror editor. You probably shouldn't touch them. */

.CodeMirror {
  position: relative;
  overflow: hidden;
  background: white;
  height: 100%;
}

.CodeMirror-scroll {
  overflow: scroll !important; /* Things will break if this is overridden */
  /* 30px is the magic margin used to hide the element's real scrollbars */
  /* See overflow: hidden in .CodeMirror */
  margin-bottom: -30px; margin-right: -30px;
  padding-bottom: 30px;
  height: 100%;
  outline: none;
  position: relative;
}
.CodeMirror-sizer {
  position: relative;
  border-right: 30px solid transparent;
}

.CodeMirror-vscrollbar, .CodeMirror-hscrollbar, .CodeMirror-scrollbar-filler, .CodeMirror-gutter-filler {
  position: absolute;
  z-index: 6;
  display: none;
}
.CodeMirror-vscrollbar {
  right: 0; top: 0;
  overflow-x: hidden;
  overflow-y: scroll;
}
.CodeMirror-hscrollbar {
  bottom: 0; left: 0;
  overflow-y: hidden;
  overflow-x: scroll;
}
.CodeMirror-scrollbar-filler {
  right: 0; bottom: 0;
}
.CodeMirror-gutter-filler {
  left: 0; bottom: 0;
}

.CodeMirror-gutters {
  position: absolute; left: 0; top: 0;
  min-height: 100%;
  z-index: 3;
}
.CodeMirror-gutter {
  white-space: normal;
  height: 100%;
  display: inline-block;
  vertical-align: top;
  margin-bottom: -30px;
}
.CodeMirror-gutter-wrapper {
  position: absolute;
  z-index: 4;
  background: none !important;
  border: none !important;
}
.CodeMirror-gutter-background {
  position: absolute;
  top: 0; bottom: 0;
  z-index: 4;
}
.CodeMirror-gutter-elt {
  position: absolute;
  cursor: default;
  z-index: 4;
}
.CodeMirror-gutter-wrapper ::selection { background-color: transparent }
.CodeMirror-gutter-wrapper ::-moz-selection { background-color: transparent }

.CodeMirror-lines {
  cursor: text;
  min-height: 1px; /* prevents collapsing before first draw */
}
.CodeMirror pre.CodeMirror-line,
.CodeMirror pre.CodeMirror-line-like {
  /* Reset some styles that the rest of the page might have set */
  -moz-border-radius: 0; -webkit-border-radius: 0; border-radius: 0;
  border-width: 0;
  background: transparent;
  font-family: inherit;
  font-size: inherit;
  margin: 0;
  white-space: pre;
  word-wrap: normal;
  line-height: inherit;
  color: inherit;
  z-index: 2;
  position: relative;
  overflow: visible;
  -webkit-tap-highlight-color: transparent;
  -webkit-font-variant-ligatures: contextual;
  font-variant-ligatures: contextual;
}
.CodeMirror-wrap pre.CodeMirror-line,
.CodeMirror-wrap pre.CodeMirror-line-like {
  word-wrap: break-word;
  white-space: pre-wrap;
  word-break: normal;
}

.CodeMirror-linebackground {
  position: absolute;
  left: 0; right: 0; top: 0; bottom: 0;
  z-index: 0;
}

.CodeMirror-linewidget {
  position: relative;
  z-index: 2;
  padding: 0.1px; /* Force widget margins to stay inside of the container */
}

.CodeMirror-widget {}

.CodeMirror-rtl pre { direction: rtl; }

.CodeMirror-code {
  outline: none;
}

.CodeMirror-scroll,
.CodeMirror-sizer,
.CodeMirror-gutter,
.CodeMirror-gutters,
.CodeMirror-linenumber {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
}

.CodeMirror-measure {
  position: absolute;
  width: 100%;
  height: 0;
  overflow: hidden;
  visibility: hidden;
}

.CodeMirror-cursor {
  position: absolute;
  pointer-events: none;
}
.CodeMirror-measure pre { position: static; }

div.CodeMirror-cursors {
  visibility: hidden;
  position: relative;
  z-index: 3;
}
div.CodeMirror-dragcursors {
  visibility: visible;
}

.CodeMirror-focused div.CodeMirror-cursors {
  visibility: visible;
}

.CodeMirror-selected { background: #d9d9d9; }
.CodeMirror-focused .CodeMirror-selected { background: #d7d4f0; }
.CodeMirror-crosshair { cursor: crosshair; }
.CodeMirror-line::selection, .CodeMirror-line > span::selection, .CodeMirror-line > span > span::selection { background: #d7d4f0; }
.CodeMirror-line::-moz-selection, .CodeMirror-line > span::-moz-selection, .CodeMirror-line > span > span::-moz-selection { background: #d7d4f0; }

.cm-searching {
  background-color: #ffa;
  background-color: rgba(255, 255, 0, .4);
}

.cm-force-border { padding-right: .1px; }

@media print {
  .CodeMirror div.CodeMirror-cursors {
    visibility: hidden;
  }
}

.cm-tab-wrap-hack:after { content: ''; }

span.CodeMirror-selectedtext { background: none; }


/*  CodeMirror dialog  */

.CodeMirror-dialog {
  position: absolute;
  left: 0; right: 0;
  background: inherit;
  z-index: 15;
  padding: .1em .8em;
  overflow: hidden;
  color: inherit;
}

.CodeMirror-dialog-top {
  border-bottom: 1px solid #eee;
  top: 0;
}

.CodeMirror-dialog-bottom {
  border-top: 1px solid #eee;
  bottom: 0;
}

.CodeMirror-dialog input {
  border: none;
  outline: none;
  background: transparent;
  width: 20em;
  color: inherit;
  font-family: monospace;
}

.CodeMirror-dialog button {
  font-size: 70%;
}






/*   COMBO MAIN  */

h1, h2, h3, h4, h5, h6 {
    font-weight: normal;
}

a {
    text-decoration: none;
}

li {
    list-style-type: none;
}

button::-moz-focus-inner {
    border: 0;
}

img {
    max-width: 100%;
}

body{
	color:var(--text-color);
}


/*  fixes iphone keyboard bug   https://gist.github.com/kiding/72721a0553fa93198ae2bb6eefaa3299?permalink_comment_id=4542404#gistcomment-4542404  */
@keyframes blink_input_opacity_to_prevent_scrolling_when_focus {
  0% { opacity: 0; }
  100% { opacity: 1; }
}

body.ios input:focus{
    animation: blink_input_opacity_to_prevent_scrolling_when_focus 0.01s;
}


details{
	max-width:100%;
}
details > summary {
  list-style: none;
}
details > summary::-webkit-details-marker {
  display: none;
}


button{
	letter-spacing: .4px;
	user-select: none;
}
.always-blue-button{
	background-color:var(--button-blue-bg);
	color:white;
}

.capitalize-first-letter:first-letter,
button:first-letter {
	text-transform: uppercase;
}


#playground-overlay button .spinner{
	margin:0;
}

button,
#playground-overlay button{
	background-color:var(--button-bg);
	color:#ddd;
}
button:hover,
#playground-overlay button:hover{
	background-color:var(--button-hover-bg);
	color:#fff;
}
#playground-overlay button{
	padding:0 10px;
	box-sizing:content-box;
	display:flex;
	justify-content:center;
	align-items:center;
	white-space:nowrap;
	min-height:36px;
}
#playground-overlay .image-context-buttons-container button{
	padding:0 15px;
	height:36px;
}
#playground-overlay .image-context-buttons-container button.download-button{
	padding:0;
	width:36px;
	border-radius:.5rem;
	background-size: 50%;
	transition:all ease .3s;
}
#playground-overlay .image-context-buttons-container button.download-button:hover{
	background-size: 60%;
	transition:all ease .3s;
}

.area{
	background-color:rgba(255,255,255,.2);
	margin:15px 0;
	padding:10px;
	border-radius:5px;
	line-height:140%;
}

.small-vertical-margin{
	margin:8px 0;
}

.vertical-margin{
	margin:15px 0;
}

.inline-block{
	display: inline-block;
}

.flip-horizontal{
	transform: rotateY(180deg);
}

.rotate-45{
	transform: rotate(45deg);
}

.brighten{
	filter: brightness(130%);
}

body.light .invert-if-light,
.invert-colors{
	filter: invert(100%);
}

.padding5{
	padding:5px 10px 5px 5px;
}

.padding25{
	padding:25px;
}

.red-border{
	box-shadow: inset 0 0 2px 2px var(--red-bg);
}

.hide-if-empty:empty{
	display:none!important;
}



body.settings-complexity-advanced .hide-if-advanced,
body:not(.settings-complexity-advanced) .show-if-advanced,
body:not(.developer) .show-if-developer{
	display:none!important;
}

body:not(.mobile) .show-if-mobile{
	display:none;
}

#mobile-warning{
	padding:2rem;
	background-color:var(--weak-semi-transparent-bg);
}

.small-hint-text{
	max-width:200px;
}
.large-hint-text{
	max-width:300px;
}


::selection {
    background-color: #666!important;
    color: var(--strongest-text-color)!important;
	color:black!important;
}
*::selection {
    background-color: #666!important;
    color: var(--strongest-text-color)!important;
	color:black!important;
}
*::-moz-selection {
    background-color: #666!important;
    color: var(--strongest-text-color)!important;
	color:black!important;
}
*::-webkit-selection {
    background-color: #666!important;
    color: var(--strongest-text-color)!important;
	color:black!important;
}


body.light ::selection {
    background-color: #666!important;
	color:black!important;
}

body.light *::selection {
    background-color: #666!important;
	color:black!important;
}

body.light *::-moz-selection {
    background-color: #666!important;
	color:black!important;
}

body.light *::-webkit-selection {
    background-color: #666!important;
	color:black!important;
}


.ͼ2 .cm-selectionBackground{
	background-color: #444;
}

body.light .ͼ2 .cm-selectionBackground{
	background-color: #bbb;
}


body.light #papegai-logo{
	filter: drop-shadow(1px 1px 6px rgba(0,0,0,.15))
}

.h3{
	display: inline-block;
    font-size: 1.17em;
    margin-block-start: 1em;
    margin-block-end: 1em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    font-weight: normal;
    unicode-bidi: isolate;
}
.h3,
h3{
	color:var(--text-color);
	letter-spacing: .3px;
}
.tools-details summary .h3{
	color:var(--button-text-color);
	display:inline-flex;
	align-items:center;
	margin:0;
}
.tools-details summary:hover{
	background-color:var(--button-hover-bg);
}


select{
	cursor:pointer;
}

input{
	caret-color:auto;
}

textarea{
	font-family:inherit;
	resize: vertical;
	caret-color:auto;
}

textarea + form{
	margin-top:10px;
}

.no-pointer-events{
	pointer-events:none;
}
.opacity0{
	transition: opacity 3s;
	opacity:0;
}
.opacity05{
	transition: opacity 3s;
	opacity:0.5;
}
.opacity1{
	transition: opacity 2s;
	opacity:1;
}

.flex{
	display:flex;
}

.flex-wrap{
	display:flex;
	flex-wrap: wrap;
}

.flex-space-between{
	display:flex;
	justify-content:space-between;
}
.flex-space-around{
	display:flex;
	justify-content:space-around;
}
.flex-align-center{
	display:flex;
	align-items:center;
}
.flex-justify-center{
	display:flex;
	justify-content:center;
}
.flex-align-bottom{
	display:flex;
	align-items: baseline;
}
.flex-start{
	display:flex;
	align-items: flex-start;
}
.flex-vertical{
	display:flex;
	flex-direction:column;
}
.centered-space-between{
	display:flex;
	justify-content:space-between;
	align-items:center;
}

.flex-column{
	display:flex;
	flex-direction:column;
}

.x50y50{
	width:50px;
	height:50px;
	min-width:50px;
	min-height:50px;
}

.unicode-icon{
	position:relative;
	display:inline-flex;
	align-items:center;
	justify-content:center;
}

.unicode-icon.large-icon{
	font-size:3rem;
}

.unicode-icon > .unicode-icon-overlay{
	position:absolute;
	transform:scale(0.8);
}


.small-text{
	font-size:80%;
}


.warning-section{
	background:red;
	color:white;
	padding:10px 15px;
	display:none;
	align-items:center;
	justify-content:center;
}

.warning-unicode-icon{
	width:25px;
	height:25px;
	border-radius:50%;
	background-color:white;
	margin-right:5px;
}

.warning-unicode-icon,
.recording-warning{
	display:flex;
	align-items:center;
	justify-content:center;
}

/*  SIDEBARS  */

#sidebars{
	display:flex;
	flex-direction:column;
	width:0;
	max-width:0;
	overflow:hidden;
	transition: width 1s, max-width 1s, opacity 1s;
	transition-timing-function: ease;
	position:fixed;
	top:0;
	left:0;
	z-index:11;
	height:100%;
	z-index:20;
}

/*  tools sidebar has a z-index of 12 */

.sidebar #sidebars{
	display:grid;
	min-width:300px;
	width:300px;
	max-width:300px;
	z-index:20;
	height:100%;
}


body:not(.light).sidebar #sidebars{
	box-shadow: 1px 0 4px 0 rgba(0, 0, 0, .1);
}


#sidebars-header-wrapper{
	position:fixed;
	z-index:2;
	width:300px;
	max-width:300px;
	overflow:hidden;
}
body:not(.sidebar) #sidebars-header-wrapper{
	width:0;
	max-width:0;
	transition: max-width ease .2s;
}

#sidebars-header{
	display:flex;
	height:50px;
	min-height:50px;
	width:300px;
	justify-content:space-between;
	align-items:center;
	background-color:var(--sidebar-header-bg);
}
#sidebar-header-tab-buttons{
	display:flex;
	height:100%;
}
#sidebar-header-tab-buttons > *{
	display:flex;
	justify-content:space-between;
	align-items:center;
	justify-content:center;
	align-items:center;
	font-size:1.4rem;
	padding:0;
	cursor:pointer;
	width:50px;
	height:100%;
	min-width:50px;
}


#sidebar-header-docs-button{
	background-color:var(--chat-bg);
}
#sidebar-header-chat-button{
	border-bottom:1px solid transparent;
}
#sidebar-header-settings-button{
	/*margin-left:5px;*/
	border-bottom:1px solid transparent;
	position:relative;
}

#sidebar-header-settings-button-update-indicator{
    position: absolute;
    bottom: 10px;
    right: 10px;
    z-index: 1;
    font-size: 10px;
    width: 16px;
    height: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #7ee02b;
    border-radius: 50%;
}

body.idle #sidebar-header-settings-button > .sidebar-header-icon{
	filter: brightness(.7);
}

.sidebar-chat #sidebar-header-chat-button{
	background-color:var(--chat-bg);
}
.sidebar-settings #sidebar-header-settings-button{
	background-color:var(--chat-bg);
}
.sidebar-chat #sidebar-header-docs-button,
.sidebar-settings #sidebar-header-docs-button{
	background-color:transparent;
	border-bottom:1px solid transparent;
}

#sidebar-header-tab-buttons > *:hover{
	transition: all ease .2s;
	background-color:var(--button-hover-bg);
}
#sidebar-header-tab-buttons > *:hover img{
	transform: scale(1.2);
	transition: all ease .2s;
}


#sidebar-header-settings-button:hover .sidebar-header-icon{
	filter: brightness(150%);
}

#close-sidebar-button{
    width: 50px;
	padding-bottom:2px;
    height: 100%;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
	background-color:transparent;
}

#close-sidebar-button:hover{
	background-color:var(--button-hover-bg);
	color:var(--button-hover-color);
}

#sidebars-content{
	position:relative;
	margin-top:50px;
	height:calc(100% - 50px);
	flex-grow:1;
	overflow:auto;
	max-height:calc(100% - 50px);
}

#chat-sidebar-container{
	height:100%;
}


/*  SIDEBAR FILTER  */

#sidebar-filter-container{
	display:flex;
	position:absolute;
	top:0px;
	right:1px;
	width:50%;
	min-width:56px;
	align-items:center;
	justify-content:space-between;
	padding-right:15px;
	border-bottom-left-radius:.5rem;
	cursor:pointer;
	background: var(--sidebar-bg);
	transition: width .2s, min-width .3s, opacity .4s;
	z-index:11;
}

#sidebar-filter-container > div{
	width:100%;
}

#sidebar-filter-container input{
	width:100%;
	padding:10px 5px 10px 15px;
}

#sidebar-filter-container input:not(:placeholder-shown){
	background-color:var(--weak-semi-transparent-bg);
}

#sidebar-filter-container input::-webkit-search-cancel-button{
	cursor:pointer;
}
#sidebar-filter-container input::-webkit-search-cancel-button:hover{
	transform:scale(1.3);
	background-color:var(--button-hover-bg);
}
#sidebar-filter-container input::-ms-clear{
	cursor:pointer;
}
#sidebar-filter-container input::-ms-clear:hover{
	transform:scale(1.3);
	background-color:var(--button-hover-bg);
}

.filtered-out{
	opacity:.2;
}

.settings-complexity-advanced .chat .chat-sidebar .contacts ul li.contact-item.filtered-out{
	max-height:0;
	overflow:hidden;
	padding:0;
}


body:not(.sidebar-chat) #sidebar-filter-container,
body.busy-selecting-assistants #sidebar-filter-container,
#sidebar-filter-container input:placeholder-shown{
	display:none;
}

.show-if-busy-selecting-assistants{
	overflow:hidden;
	max-height: 100px;
    padding: 30px 5px 5px 0px;
    transition: max-height linear .3s, padding linear .3s;
    font-style: italic;
    line-height: 100%;
    border-bottom: 1px dashed var(--weak-semi-transparent-bg);
    margin: 0 12px;
}
body:not(.busy-selecting-assistants) .show-if-busy-selecting-assistants{
	max-height:0;
	padding:0;
}


body.show-share-document .hide-if-share-document,
body:not(.show-share-document) .show-if-share-document{
	display:none!important;
}


body:not(.sidebar-chat) #chat-sidebar-container{
	display:none;
}

.sidebar #playground-sidebar{
	width:100%;
}

body:not(.sidebar-settings) #settings-sidebar,
body.sidebar-settings #playground-sidebar,
body.sidebar-chat #playground-sidebar{
	display:none;
}

.sidebar-model-icon-container{
	transition: all ease .3s;
}
.sidebar-model-icon-container:hover{
	transform:scale(1.5);
}

.doing-translation #contact-item-translator .sidebar-model-icon-inner-container,
.busy-doing .sidebar-model-icon-inner-container{
	
	width:40px;
	height:40px;
	flex-shrink:0;
	flex-grow:0;
	padding:5px;
    background-size: 250% 250%;
	background-image: linear-gradient(-90deg,
            rgba(59, 173, 227, .5) 0%,
			rgba(59, 173, 227, .5) 42%,
            rgba(87, 111, 230, .5) 50%,
            rgba(152, 68, 183, .5) 51%,
			rgba(59, 173, 227, .5) 56%,
            rgba(59, 173, 227, .5) 100%);
    animation: bg-sweep-to-right 2s linear infinite;
	border-radius:50%;
	overflow:hidden;
	margin-right: 10px;
	display:flex;
	align-items:center;
	justify-content:center;
	
}


.img-icon{
	border-radius:50%;
	overflow:hidden;
	height:20px;
}
.img-icon + span{
	margin-left:5px;
}


/*  file manager*/
#settings-sidebar,
#playground-sidebar{
	height:100%;
	background-color: var(--sidebar-bg);
}

body:not(.developer) #take-snapshot-button{
	display:none;
}


#file-tabs-container:not(:empty){
	min-height:50px;
	padding-right:49px;
	border-bottom: 1px solid var(--thin-border-color);
}


/*  SIDEBAR - DOCUMENTS VIEW  */

body.busy-restoring-files #playground-sidebar{
	pointer-events:none;
}
body.busy-restoring-files #playground-sidebar > *{
	opacity:.5;
}

#document-functionalities-list{
	transition: opacity ease .3s;
}

body.busy-restoring-files #editors,
body.busy-restoring-files #document-functionalities-list{
	pointer-events:none;
	opacity:.5;
}




#file-manager{
	padding-top:10px;
}

#upload-a-file-hint{
	height:80%;
	min-height: 300px;
	padding:2rem;
	max-height:80%;
	transition:all ease .3s;
}
.doing-research #upload-a-file-hint{
	max-height:0;
}

#upload-a-file-hint-centered{
	text-align:center;
	cursor:pointer;
	transition:all ease .3s;
}
#upload-a-file-hint-centered .unicode-icon.large-icon{
	transition:all ease .3s;
}

#upload-a-file-hint-centered p{
	margin-top:.5rem;
	font-size:90%;
}

#upload-a-file-hint-centered:hover .unicode-icon.large-icon{
	transition:all ease .3s;
	transform:scale(1.2);
}


/*  context menu*/

.context .item{
	padding: 10px 15px;
	cursor: pointer;
	color: inherit;
	font-size: 14px;
}

#folder-select-container{
	background-color: var(--body-even-weaker-bg);
	padding: 1rem 0;
	margin-top: 0;
}

.in-folder #folder-select-container{
	display:block;
}

.folder-item.first-folder-item{
	border-top: 1px solid rgba(0,0,0, 0.03);
	border-bottom: 1px solid rgba(0,0,0, 0.03);;
}
.file-pane li.notepad-file-browser-item{
	display:none;
}


#folder-back-button{
	display:none;
	padding: 7px 12px;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
	background: none;
}



/*  FOLDER TREE  */

.folder-tree-item{
	padding:3px 5px;
	display: flex;
	justify-content: flex-start;
}
.folder-tree-item:not(:last-of-type){
	cursor:pointer;
}
.folder-tree-item.folder-tree-root{
	padding-left:8px;
}
.folder-tree-item:hover{
	background-color:rgba(255,255,255,.05);
}
.folder-tree-item.folder-tree-root:not(:last-of-type):hover .folder-tree-name,
.folder-tree-item:not(:last-of-type):hover .folder-tree-indent1{
	transform:scale(1.2);
	transform-origin:center;
}


.folder-tree-item.folder-tree-root > .folder-tree-name{
	width:36px;
	height:36px;
	border-radius:50%;
	display:flex;
	align-items:center;
	justify-content:center;
	background-color:var(--weak-semi-transparent-bg);
	transition: all ease .2s;
}


.folder-tree-name{
	display:inline-block;
}


.folder-tree .folder-tree-indent{
	display:inline-block;
	min-width:36px;
	position:relative;
}
.folder-tree .folder-tree-indent:first-of-type{
	margin-left:13px;
}
.folder-tree .folder-tree-indent:last-of-type:after{
	content:'📂';
	position:absolute;
}
.folder-tree .folder-tree-indent:last-of-type:before{
	content:'╰';
	margin-right:2px;
	position:relative;
	top:-3px;
	opacity:.5;
}
.folder-tree .folder-tree-indent:not(:last-of-type):after{
	opacity:0;
}
.folder-tree .folder-tree-indent:last-of-type{
	margin-right:5px;
}

.folder-tree-item:not(:last-of-type) .folder-tree-name{
	font-weight: 100;
}



/*  FILES LIST  */

.file-item,
.file-item.loaded.beta .file-name,
.folder-item.unreal .folder-icon-loaded, 
.folder-item.unreal .folder-name{
	color:var(--text-color);
}

.file-pane .current{
	background-color:var(--editor-bg);
}

.file-item.unreal.modified .file-icon-loaded{
	position:relative;
}


.file-item.unreal.modified .file-icon.file-icon-loaded:after{
	content: '💾';
    background-color: #de5c16;
    bottom: -3px;
    right: -3px;
    padding-left: 1px;
    width: 10px;
    height: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 6px;
    position: absolute;
    border-radius: 50%;
    box-sizing: border-box;
}

body:not(.settings-complexity-advanced) .file-item .file-size{
	display:none;
}

.file-pane li:hover{
	background-color:rgba(0,0,0, 0.3);
}
.light .file-pane li:hover{
	background-color:rgba(255, 255, 255, 0.3);
}

.file-name-extension{
	opacity:.5;
	white-space: nowrap;
}

body:not(.settings-complexity-advanced) .file-name-extension{
	opacity:.3;
}

#file-manager-files-list .file-icon,
#file-manager-files-list .folder-icon{
	margin-top:10px;
}

.svg-file-list-image{
	width:1rem;
	max-width:1.5rem;
	height:1rem;
	overflow:hidden;
}
.svg-file-list-image > svg{
	max-width:100%;
	max-height:100%;
}

body:not(.light) .svg-file-list-image-audio{
	filter: invert(1);
}


/* When a file is briefly highlighted in the file browser */
.get-attention{
    background-size: 250% 250%;
	background-image: linear-gradient(-70deg,
            rgba(255,255,255, .1) 0%,
			rgba(255,255,255, 0) 48%,
            rgba(255,255,255, .5) 50%,
            rgba(255,255,255, 0) 52%,
            rgba(255,255,255, .1) 100%);
}
.get-attention{
	transform:scale(1.1);
	transition: all linear .3s;
	animation: bg-sweep-to-right .3s linear normal;
}




body[class^="doing-"] #message-header-container #stop-assistant-button,
body[class*=" doing-"] #message-header-container #stop-assistant-button,
.doing-stt #message-header-container #stop-assistant-button,
.doing-assistant .chat .content .message-header #stop-assistant-button,
.doing-assistant #message-header-container #stop-assistant-button,
.llm_work_selection,
.button-in-progress{
    background-size: 250% 250%;
	background-image: linear-gradient(90deg,
            rgba(59, 173, 227, .5) 0%,
			rgba(59, 173, 227, .5) 42%,
            rgba(87, 111, 230, .5) 50%,
            rgba(152, 68, 183, .5) 51%,
			rgba(59, 173, 227, .5) 56%,
            rgba(59, 173, 227, .5) 100%);
}

body[class^="doing-"] #message-header-container #stop-assistant-button,
body[class*=" doing-"] #message-header-container #stop-assistant-button,
.doing-stt #message-header-container #stop-assistant-button,
.doing-assistant #stop-assistant-button,
.doing-translation .llm_work_selection,
.doing-proofread .llm_work_selection,
.doing-continue .llm_work_selection,
.doing-rewrite .llm_work_selection,
.button-in-progress{
	animation: bg-sweep-to-right 2s linear infinite;
}


.doing-assistant .chat .content .message-header,
.doing-assistant #message-header-container{
	animation: bg-sweep-to-right 8s linear infinite;
}

.llm_work_selection{
	color:black;
}
body.light .llm_work_selection{
	color:white;
}


#save-all-files-button{
    display: inline-block;
    white-space: nowrap;
    display: inline-flex;
}
#save-all-files-button:before{
	content: '💾';
    background-color: #de5c16;
    width: 20px;
    height: 20px;
	min-width:20px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 12px;
    border-radius: 50%;
    box-sizing: border-box;
	margin-right:.5rem;
}



#sidebar-footer{
	display:flex;
	padding:8px 0 8px 8px;
	background-color:var(--sidebar-header-bg);
}
#sidebar-footer .button{
	margin:0.2rem;
	flex-grow:0;
}



#sidebar-footer #new-folder-button,
#sidebar-footer #new-file-button,
#sidebar-footer #start-ocr-button,
#sidebar-footer #toggle-rag-search-button{
    height: 36px;
    width: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
	background-color:var(--button-bg);
}


body:not(.has-camera) #start-ocr-button{
	display:none;
}

#sidebar-footer #start-ocr-button{
	padding:5px;
}
#sidebar-footer #start-ocr-button img{
	transition: all ease .3s;
	opacity:.9;
}
#sidebar-footer #start-ocr-button:hover img{
	opacity:1;
	transform:scale(1.2);
	transition: all ease .3s;
}

#sidebar-footer #new-folder-button:hover,
#sidebar-footer #new-file-button:hover,
#sidebar-footer #start-ocr-button:hover,
#sidebar-footer #toggle-rag-search-button:hover{
	background-color:var(--button-hover-bg);
	color:white;
}

#sidebar-footer #toggle-rag-search-button{
	padding:8px;
}
#sidebar-footer #toggle-rag-search-button img{
	transition: all ease .3s;
}
#sidebar-footer #toggle-rag-search-button:hover img{
	transition: all ease .3s;
	transform:scale(1.2);
}


#sidebar-footer #new-folder-button > span.material-icons,
#sidebar-footer #new-file-button > span.material-icons{
	font-size:20px;
}

#sidebar-footer #new-file-button-container{
	padding:0 1rem;
	align-items:center;
}
#sidebar-footer .file-input-custom{
	left: -20px;
    display: inline-block;
    background: var(--button-bg);
    width: 100px;
    position: relative;
    text-align: center;
	white-space:nowrap;
	color:var(--button-text-color);
}


#sidebar-new-file-and-folder-container{
	display:flex;
	width:100px;
	margin-right:.5rem;
	flex-grow:1;
}
#sidebar-new-file-and-folder-container > button{
	margin-left:.5rem;
}

#sidebar-upload-container{
	display:flex;
	width:70px;
    align-items: center;
    justify-content: center;
}

.file-input-label-container{
	width:50px;
	font-size:0;
	border-radius:.5rem;
	background-color:var(--button-bg);
	overflow:hidden;
	background-image:url('../images/upload.svg');
	background-repeat:no-repeat;
	background-position:center;
	background-size:40%;
	transition: all ease .3s;
}

.file-input-label-container:hover{
	background-color:var(--button-hover-bg);
	background-size:50%;
	transition: all ease .3s;
}

#upload-file-input{
	width:0;
	font-size:0;
	opacity:.01;
}

.add-icon{
	position:relative;
	
}
.add-icon .unicode-icon{
	transition:all ease .3s;
}

.add-icon:after{
	content: '+';
    position: absolute;
    bottom: -2px;
    right: 0px;
    font-size: 17px;
    color: #ccc;
    background: rgba(0,0,0,.4);
    width: 14px;
    height: 14px;
    display: inline-flex;
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    padding-bottom: 3px;
    box-sizing: border-box;
	opacity:.5;
	
}

.add-icon:hover .unicode-icon{
	transform:scale(1.2);
	transition:all ease .3s;
}

.add-icon:hover::after{
	background: var(--button-hover-bg);
	opacity:1;
	color: var(--button-hover-text-color);
}

#sidebar-right-container{
	padding-right:10px;
	width:60px;
}



/*   SETTINGS SIDEBAR SETTINGS   */

#settings-sidebar{
	display:none;
}
.sidebar-settings #settings-sidebar{
	display:flex;
	flex-direction:column;
	max-height:100%;
}

#settings-sidebar-tabs-container{
	height:20%;
	flex-grow:1;
}

#settings-sidebar-tabs{
	width:300px;
}

#settings-sidebar-tabs-tasks{
	height:100%;
	max-height:100%;
	overflow:auto;
}

#settings-sidebar-tabs-buttons-container{
	width:100%;
	padding:15px 15px 0 15px;
	background-color:var(--chat-bg);
	box-sizing:border-box;
	display:flex;
	align-items:center;
	justify-content:space-around;
	flex-shrink:0;
	flex-grow:0;
}
#settings-sidebar-tabs-buttons-container > div{
	padding:.5rem 1rem;
	border-top-left-radius:.5rem;
	border-top-right-radius:.5rem;
	background-color:rgba(0,0,0,.2);
	color:var(--light-text-color);
	display:inline-block;
	cursor:pointer;
}
body.light #settings-sidebar-tabs-buttons-container > div{
	background-color:rgba(0,0,0,.1);
}

#settings-sidebar-tabs-buttons-container > div:hover{
	background-color:var(--button-hover-bg);
	color:white;
}

body.sidebar-settings-show-tasks #settings-sidebar-tabs-settings{
	display:none;
}

#settings-sidebar-tabs-settings{
	height:100%;
	width:300px;
	overflow:auto;
	display:flex;
	flex-direction:column;
	justify-content:space-between;
	padding-top:10px;
}

/*body:not(.settings-complexity-advanced) #settings-sidebar-tabs-tasks,*/
body:not(.sidebar-settings-show-tasks) #settings-sidebar-tabs-tasks{
	display:none;
}

body:not(.sidebar-settings-show-tasks) #settings-sidebar-settings-button,
.sidebar-settings-show-tasks #settings-sidebar-tasks-button{
	background-color:var(--sidebar-bg);
	transform:scale(1.05);
}
body.light:not(.sidebar-settings-show-tasks) #settings-sidebar-settings-button,
body.light.sidebar-settings-show-tasks #settings-sidebar-tasks-button{
	background-color:var(--sidebar-bg);
	color:var(--text-color);
	transform:scale(1.05);
}

#settings-sidebar-tabs-container > div{
	box-sizing:border-box;
}

#settings-sidebar-tabs-settings li{
	padding:10px 15px;
	box-sizing:border-box;
}

body:not(.settings-complexity-advanced) #update-download-version,
body:not(.update-downloading) #settings-update-progress-container,
body.update-available #settings-update-progress-container{
	display:none!important;
}
#settings-update-progress-container,
#settings-update-container{
	background-color:var(--green-bg);
}

#settings-sidebar-tabs-settings ul:first-of-type li{
	border-bottom: 1px solid rgba(0,0,0,.15);
}
#settings-sidebar-tabs-settings ul:last-of-type li{
	border-top: 1px solid rgba(0,0,0,.15);
}


#model-info-container select,
#main-chat .message select,
#settings-sidebar-tabs-settings li select{
    min-width: 120px;
    position: relative;
    padding: 8px 20px 8px 10px;
	background-color:var(--dropdown-bg);
	color:var(--button-text-color);
    border-radius: 5px;
	font-size:inherit;
}

#model-info-container select{
	width:120px;
}

#model-info-container select#model-info-prefered_voice_gender-input{
	min-width:80px;
	width:80px;
}

.small-dropdown-wrapper{
    display: inline-flex;
    align-items: center;
}
.small-dropdown-wrapper,
li.settings-select-item{
	position:relative;
}

.small-dropdown-wrapper:after,
li.settings-select-item:after{
	content: '⛛';
    position: absolute;
    right:0;
    opacity: .2;
    pointer-events: none;
    z-index: 2;
    height: 15px;
    width: 17px;
    display: inline-block;
	font-size: 80%;
}

li.settings-select-item:after{
	right: 1rem;
}

.small-dropdown-wrapper:hover:after,
li.settings-select-item:hover:after{
	font-size: 90%;
	opacity:.8;
}
li.settings-select-item:hover select{
	background-color: rgba(0,0,0,.2);
}


#settings-sidebar-tabs-settings li{
	width:300px;
}

#settings-sidebar-tabs-settings li select#interrupt-speaking-select{
	min-width:70px;
	width:70px;
}

.gigabytes-span{
	margin-left:.1rem;
}


.scary-button,
#scary-settings li button{
	background-color:#911;
}
#scary-settings li button#clear-site-cache-button{
	background-color:var(--green-bg);
}

.scary-button:hover,
#scary-settings li button:hover{
	background-color:#b00;
}



/*  RUNNING TASKS  */

#running-tasks-list-container{
	margin-top:5px;
}
#running-tasks-list-container:not(:empty){
	margin-bottom:2rem;
	border:1px solid black;
	background-color:var(--weak-semi-transparent-bg);
	padding:10px;
}
#running-tasks-list-container:not(:empty):before{
	content:"🚀 RUNNING TASKS";
}

.running-tasks-item{
	background-color:var(--weak-semi-transparent-bg);
	padding:10px;
	margin:5px 0;
}


/*  TASKS  */

#settings-used-memory-container{
	padding:15px;
	border-bottom:1px solid var(--thin-border-color);
}

#assistant-ollama1 #settings-used-memory-container{
	display:none;
}

#total-memory-wrapper{
	font-size:70%;
	opacity:.6;
}
#total-memory-wrapper > span{
	margin-left:2px;
}


.simple-task-item-parent{
	border-bottom-left-radius:0;
}
.simple-task-item.simple-task-item-parent details summary,
.simple-task-item.simple-task-item-parent details[open] summary{
	border-bottom-left-radius:0;
	border-bottom:2px solid purple;
}

.simple-task-item-child{
	margin-left:15px;
}

.simple-task-item.simple-task-item-child details,
.simple-task-item.simple-task-item-child details[open],
.simple-task-item.simple-task-item-child details[open] summary + div,
.simple-task-item-child{
	border-top-left-radius:0;
	border-bottom-left-radius:1rem;
}

.simple-task-item-child-indicator{
	margin-right:3px;
}

.mini-play-audio-button{
	display:inline-block;
	padding:3px;
	border-radius:.5rem;
	
}
.mini-play-audio-button:hover{
	background-color:orange;
	cursor:pointer;
}

.simple-task-item-state-assistant-icon{
	width:15px;
	height:15px;
	border-radius:50%;
	display:inline-block;
	margin-right:10px;
	vertical-align: middle;
	cursor:pointer;
	transition:all ease .3s;
}
.simple-task-item-state-assistant-icon:hover{
	transform:scale(2);
	transition:all ease .3s;
}
.simple-task-item-state-assistant-emoji-icon{
	font-size:60%;
	width:20px;
	height:20px;
	border-radius:50%;
	margin-right:5px;
}

.simple-task-item details{
	margin:2px 15px;
	border-radius:5px;
	overflow:hidden;
}
.simple-task-item details[open]{
	margin:2px 5px;
	border-radius:8px;
}

.simple-task-item summary{
	display:flex;
	justify-content:space-between;
	align-items:center;
	background-color:rgba(255,255,255,.2);

	padding:.5rem 10px .5rem 15px;
	
	cursor:pointer;
}

.simple-task-item details[open] summary{
	border-bottom-left-radius:0;
	border-bottom-right-radius:0;
	border-top-left-radius:10px;
	border-top-right-radius:10px;
}
.simple-task-item details[open] summary + div{
	border-bottom-left-radius:10px;
	border-bottom-right-radius:10px;
	background-color:rgba(255,255,255,.15);
	padding:7px 15px;
}

.simple-task-item-type-chat summary .simple-task-type-name:before{
	content:'💬';
	margin-right:3px;
}
.simple-task-item-type-speak summary .simple-task-type-name:before{
	content:'👄';
	margin-right:3px;
}
.simple-task-item-type-insert_into_document summary .simple-task-type-name:before{
	content:'➜📄';
	margin-right:3px;
}
.simple-task-item-type-stt_to_document summary .simple-task-type-name:before{
	content:'👄➜📄';
	margin-right:3px;
}
.simple-task-item-type-voice_command summary .simple-task-type-name:before{
	content:'🗣️';
	margin-right:3px;
}
.simple-task-item summary .simple-task-type:before{
	display:inline-block;
	margin-right:5px;
}

.simple-task-details-prompt,
.simple-task-details-sentence{
	font-style:italic;
	max-height:7.5rem;
	overflow:auto;
	white-space: pre-wrap;
}

.simple-task-children-container{
	padding-left:15px;
	background-color:red;
}

.simple-task-children-container:empty{
	display:none;
}


.kill-task-icon{
	padding:0 5px;
	border-radius:3px;
	position:relative;
	left:8px;
}

.kill-task-icon:hover{
	background-color:var(--weak-semi-transparent-bg);
	transform:scale(1.3);
}
.simple-task-results-interrupting{
	background-color:orange;
	opacity:.2;
}
.simple-task-results-progress{
	font-weight:bold;
	margin-right:5px;
}
.simple-task-item-state-failed .kill-task-icon,
.simple-task-item-state-interrupted .kill-task-icon,
.simple-task-item-state-completed .kill-task-icon{
	display:none;
}


#simple-task-list-play-button-container{
	position:absolute;
	bottom:0;
	right:0;
	width:50px;
	height:50px;
	border-top-left-radius:10px;
	background-color:var(--files-bg);
	display:flex;
	align-items:center;
	justify-content:center;
	cursor:pointer;
}
body:not(.simple-task-list-paused) #simple-task-list-play-button-container{
	display:none;
}
body:not(.sidebar-settings-show-tasks) #simple-task-list-play-button-container{
	display:none;
}


body.simple-task-list-paused #simple-task-list-play-button-container:hover{
	background-color:var(--button-hover-bg);
}


.simple-task-state{
	display: inline-flex;
	align-items: center;
	flex-shrink:0;
	padding:0 5px;
}

.simple-task-state-name{
	padding:15px;
	box-sizing:border-box;
}

#simple-tasks-list-container{
	/*max-height:100%;*/
	box-sizing:border-box;
	padding-bottom:2rem;
	margin-bottom:2rem;
}

#simple-tasks-list-container:empty:after{
	content:'🦜';
	font-size:4rem;
	display:block;
	text-align:center;
	
}
#simple-tasks-list-container:empty:before{
	content:' 💤';
	font-size:2rem;
	display:block;
	text-align:center;
	padding-top:2rem;
}

#simple-tasks-list-container:empty + #clear-tasks-button-container{
	display:none;
}



/* thanks to: https://codepen.io/collinbrewer/pen/abzvLX*/

body.blueprint #editor,
#received-document-dialog.for-blueprint #received-document-textarea,
#simple-tasks-list-container .simple-task-item-origin-blueprint {
  background-color: rgba(16,75,119,0.3);
  background-image:
    linear-gradient(rgba(255,255,255,.05) 2px, transparent 2px),
    linear-gradient(90deg, rgba(255,255,255,.05) 2px, transparent 2px),
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size: 100px 100px, 100px 100px, 20px 20px, 20px 20px;
  background-position: -2px -2px, -2px -2px, -1px -1px, -1px -1px;
}


#clear-tasks-button-container{
	margin-bottom:2rem;
}



/*  CHAT VIEW  */

#message-header-container{
	margin-top:0;

	background-color:var(--chat-header-bg);
	transition: all ease .3s;
	
	width:100%;
}

#chat-header-emoji-icon-container:not(:empty){
	width:44px;
	border-radius:50%;
	overflow:hidden;
}
body.chat-shrink #chat-header-emoji-icon-container:not(:empty){
	width:30px;
	padding-right:0;
}

.emoji-icon-container{
	width:36px;
	height:36px;
	border-radius:50%;
	overflow:hidden;
	font-size:130%;
}

body:not(.custom-ai) #chat-header-emoji-icon-container{
	display:none;
}
body.custom-ai #chat-header-emoji-icon-container:not(:empty) + img{
	display:none;
}

#chat-header-icon-container{
	height:50px;
	width:50px;
	min-width:50px;
	max-width:50px;
	overflow:visible;
	cursor:pointer;
}

#chat-header-icon-container .emoji-icon-container{
	width:30px;
	height:30px;
}

#chat-header-actions{
	display:flex;
}
body.chat-shrink #chat-header-actions{
	flex-direction:column;
}

#chat-header-actions > div{
	min-width:50px;
	height:50px;
	cursor:pointer;
}
#chat-header-actions .unicode-icon{
	transition:all ease .3s;
}
#chat-header-actions > div:hover .unicode-icon{
	transform:scale(1.3);
	transition:all ease .3s;
}

body#assistant-translator #stop-assistant-button-translator-icon-container,
body:not(.doing-translation) #stop-assistant-button-translator-icon-container{
	display:none;
}

#clear-assistant-button{
	display:none;
	transition:all ease .3s;
}

body.idle #stop-assistant-button{
	display:none;
	transition:all ease .3s;
}

.hamburger-icon{
	font-size:1.5rem;
	line-height:0;
	opacity:.8;
	height:100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.hamburger-icon:hover{
	opacity:1;
}


/*  STOP BUTTON, INTERRUPT ASSISTANT BUTTON  */

#stop-assistant-button{
	display:none;
	justify-content:flex-end;
	width:50px;
	max-width:50px;
	overflow:hidden;
	transition: all ease .3s;
	text-align:right;
}

body[class^="doing-"] #message-header-container #stop-assistant-button,
body[class*=" doing-"] #message-header-container #stop-assistant-button,
.doing-assistant #stop-assistant-button,
.doing-stt #stop-assistant-button{
	display:flex;
}


body.other-ai-running #stop-assistant-button:hover{
	width:100px;
	max-width:100px;
	transition: all ease .3s;
}

#stop-assistant-button-slide-wrapper{
	width:150px;
	height:50px;
	display:flex;
}
body.chat-shrink #stop-assistant-button-slide-wrapper{
	width:50px;
	height:100px;
	flex-direction:column-reverse;
}
#stop-assistant-button-slide-wrapper > div{
	width:50px;
	height:50px;
	min-width:50px;
	min-height:50px;
}

#stop-assistant-interrupt-button > span{
	pointer-events:none;
	transform:scale(1.3);
}

#stop-assistant-button:hover #stop-assistant-interrupt-button > span{
	transform: scale(1.5);
}

#stop-assistant-button-assistant-icon-container{
	width:50px;
	height:50px;
	min-width:50px;
	min-height:50px;
}



#main-chat{
	background-color:var(--chat-section-bg);
	height:100%;
	max-height:100%;
}


body.coder #main-view{
	flex-basis:50%;
}

body.notepad #main-view{
	display:none!important;
}

body:not(#assistant-translator):not(#assistant-image_to_text):not(#assistant-image_to_text_ocr).show-rewrite.show-document #message-content-container{
	display:none;
}

body:not(.doc-is-long) #submit-question-button{
	height:0;
	width:0;
	min-height:0;
	max-height:0;
	max-width:0;
	min-width:0;
	padding:0!important;
	margin-left:0;
}

body.viewing-image #submit-question-button{
	display:none;
}

#submit-question-button,
body:not(.developer) #submit-question-button{
	display:none;
}


#chat-content{
	position:relative;
	height:100%;
}

.busy-speaking #speaker-icon{
	transform:scale(1.5);
	border:3px solid blue;
}


#message-form-resize-handle{
	display:flex;
	height:20px;
	min-height:20px;
	max-height:20px;
	flex-shrink:0;
	flex-grow:0;
}
#message-form-resize-handle-inner{
	height:20px;
	width:100%;
	cursor: n-resize;
    background-color: var(--chat-footer-bg);
	box-sizing:border-box;
	display:flex;
	justify-content:center;
	align-items:center;
	
}
body:not(#assistant-translator) #message-form-resize-handle-inner{
	border-top-left-radius:10px;
	border-top-right-radius:10px;
}


.chat-message-form-maximum-height #message-form-resize-handle-inner{
	cursor: s-resize;
	border-top-left-radius:0;
	border-top-right-radius:0;
}

#assistant-developer #message-form-resize-handle,
body.chat-shrink #microphone-meta-hint,
body.show-rewrite.show-document #message-form-resize-handle{
	display:none;
}


body.chat-shrink #message-form-container{
	height:auto!important;
}
body.show-rewrite.show-document #message-form-container{
	min-height:0;
	height:0;
	max-height:0;
	overflow:visible;
}




#message-form-resize-handle-indicator{
	background-color:rgba(255,255,255,.4);
	height:6px;
	width:30px;
	border-radius:5px;
}
#message-form-resize-handle-indicator:hover{
	background-color:var(--button-hover-bg);
}



.chat-message-form-more-height #message-form-prompt-container{
	flex-direction:column;
}

#prompt-inputs-container{
	display:flex;
	flex-direction:column;
	height: 100%;
	flex-grow: 1;
	max-height: 100%;
	margin-left:3px;
	max-width:calc(100% - 68px);
}
.chat-message-form-more-height #prompt-inputs-container{
	height:10%;
	margin:0 5px;
	max-width:calc(100% - 10px);
}
#negative-prompt{
	display:none;
	height:0;
	max-height:0;
	margin-top:2px;
	background-color:#3f2020;
	resize: none;
}
#negative-prompt:focus{
	background-color:#2d0b0b;
}

body#assistant-imager.chat-message-form-more-height.settings-complexity-advanced #negative-prompt{
	display:block;
	max-height:80%;
	height:20%;
	min-height:30px;
	transition: height .2s, max-height .2s;
	transition-timing-function: ease;
}

body#assistant-imager.chat-message-form-more-height #negative-prompt:not(:empty){
	height:60%;
}

body#assistant-imager.chat-message-form-more-height.chat-message-form-maximum-height #negative-prompt:not(:empty){
	height:80%;
}


#message-form-audio-buttons-wrapper{
	display:flex;
	flex-direction:column;
	z-index:2;
	border-radius:5px;
}


body:not(.chat-shrink).chat-message-form-more-height #message-form-audio-buttons-wrapper{
	padding: 5px;
	flex-direction:row;
}

body:not(.chat-message-form-more-height) #message-form-prompt-buttons{
	padding-right:8px;
	margin-left:auto;
}
body.chat-message-form-more-height #message-form-prompt-buttons{
	margin-left:90px;
}

@media only screen and (max-width: 640px){
	body:not(.chat-shrink):not(.show-document).show-camera #message-form-audio-buttons-wrapper,
	body:not(.chat-shrink):not(.show-document)#assistant-image_to_text_ocr #message-form-audio-buttons-wrapper,
	body:not(.chat-shrink):not(.show-document):not(#assistant-image_to_text_ocr).chat-message-form-more-height #message-form-audio-buttons-wrapper{
		flex-direction:row;
		align-items:center;
	}
	body:not(.chat-shrink):not(.show-document).show-camera #message-form-audio-buttons-wrapper #speaker-icon,
	body:not(.chat-shrink):not(.show-document)#assistant-image_to_text_ocr #message-form-audio-buttons-wrapper #speaker-icon,
	body:not(.chat-shrink):not(.show-document).chat-message-form-more-height #message-form-audio-buttons-wrapper #speaker-icon{
		margin-left:8px;
		margin-top:0;
	}
	
	body:not(.chat-shrink):not(.show-document).chat-message-form-more-height#assistant-image_to_text #message-form-audio-buttons-wrapper{
		flex-direction:row;
	}
	body:not(.chat-shrink).show-document.chat-message-form-more-height#assistant-image_to_text #message-form-audio-buttons-wrapper #speaker-icon{
		margin-top:10px;
	}
	
}
@media only screen and (min-width: 641px){
	body:not(.chat-shrink):not(.show-rewrite):not(#assistant-image_to_text):not(#assistant-image_to_text_ocr).show-camera #message-form-audio-buttons-wrapper,
	body:not(.chat-shrink):not(.show-rewrite):not(#assistant-image_to_text):not(#assistant-image_to_text_ocr).chat-message-form-more-height #message-form-audio-buttons-wrapper{
		flex-direction:row;
		align-items:center;
	}
	
	/*body:not(#assistant-image_to_text):not(.show-rewrite):not(.chat-shrink).show-camera #message-form-audio-buttons-wrapper #speaker-icon,*/
	body:not(.chat-shrink)#assistant-image_to_text_ocr #message-form-audio-buttons-wrapper #speaker-icon,
	body:not(.chat-shrink).chat-message-form-more-height #message-form-audio-buttons-wrapper #speaker-icon{
		margin-left:8px;
		margin-top:0;
	}
}

body.chat-message-form-more-height .submit-prompt-button{
	margin-left:10px;
	padding:5px;
}

body.chat-message-form-more-height .submit-prompt-button,
body.chat-message-form-more-height .submit-prompt-button > img{
	height:40px;
	max-height:100%;
}






/*  QUESTION  */

#document-search-button,
#document-question-button{
	width:36px;
	max-width:36px;
	padding:2px 0 0 0;	
}

#document-search-button img,
#document-question-button img{
	transition:all ease .3s;
}
#document-search-button:hover img,
#document-question-button:hover img{
	transform:scale(1.2);
	transition:all ease .3s;
}


body.document-fits-in-context #document-search-button,
body:not(.document-fits-in-context) #document-question-button,
body:not(.doc-is-long) #document-search-button,
body:not(.doc-is-long) #document-question-button{
	display:none;
}


#question-prompt-settings-container{
	position:relative;
}
/*
.chat-message-form-maximum-height #question-prompt-settings-container{
	min-height:100px;
}
*/

#question-prompt-document-icon-container{
	position:absolute;
	left: 10px;
	top: 3px;
	transition: all ease .3s;
}
.chat-message-form-more-height #question-prompt-document-icon-container{
	top: 8px;
}

#question-prompt-document-icon-container span{
	font-size:14px;
	transition: all ease .3s;
}

.chat-message-form-more-height #question-prompt-document-icon-container span{
	font-size:25px;
}


#question-prompt-clear-button{
	position:absolute;
	right: 0;
	top:0;
	cursor:pointer;
	padding:8px 5px 10px 8px;
}
.chat-message-form-more-height #question-prompt-clear-button{
	padding:10px 10px 10px 8px;
}
#question-prompt-clear-button:hover{
	transform:scale(1.2);
}

#question-prompt-textarea{
	margin-bottom:2px;
	background-color:var(--weak-semi-transparent-bg);
	padding-left:42px;
	padding-right:30px;
	font-size:50%;
	resize: none;
	border-bottom: 4px solid var(--chat-footer-bg);
}
#question-prompt-textarea:focus{
	background-color:var(--input-bg);
	font-size:100%;
}
.chat-message-form-maximum-height #question-prompt-textarea:focus{
	height:100%;
	min-height:150px;
}

#question-prompt-document-title{
	margin-bottom: 2px;
	background-color: var(--weak-semi-transparent-bg);
	padding-left: 30px;
	padding-right: 30px;
	height:25px;
	min-height:25px;
	max-width:100%;
	overflow:hidden;
	display:flex;
	align-items:center;	
}
.chat-message-form-more-height #question-prompt-document-title{
	padding-left: 42px;
	padding-right: 36px;
	height:46px;
	min-height:46px;
}


.question-prompt-document-title-inner{
	max-height:25px;
	overflow:hidden;
	font-size:80%;
	white-space: nowrap
}
.chat-message-form-more-height .question-prompt-document-title-inner{
	max-height:46px;
	overflow-wrap: break-word;
	word-break: break-all;
	overflow:auto;
}

.mobile .drag-files-here-hint{
	display:none;
}



.question-prompt-document-title-inner:hover{
	background-color:var(--button-hover-bg);
	color:var(--button-hover-text-color);
}


#question-prompt-document-title:empty,
#question-prompt-document-title:not(:empty) + #question-prompt-textarea{
	display:none;
}

#question-prompt-document-title:not(:empty) ~ #question-prompt-clear-button{
	height:25px;
}

.chat-message-form-more-height #question-prompt-document-title:not(:empty) ~ #question-prompt-clear-button{
	height:46px;
}




#question-prompt-textarea:placeholder-shown,
#question-prompt-textarea:placeholder-shown ~ .question-prompt-icon{
	display:none;
}

.chat-bubble-question-text-container{
	width:100%;
	padding:5px;
	background-color:var(--weak-semi-transparent-bg);
	border-radius:5px;
}

.chat-bubble-question-textarea{
	padding: .1rem .5rem;
	font-size:50%;
	width:100%;
	max-height:15rem;
	resize: vertical;
	overflow:hidden;
}
.chat-bubble-question-textarea:focus{
	font-size:100%;
	height:300px;
	overflow:auto;
}

.chat-bubble-question-text-icon{
	cursor:pointer;
}
.chat-bubble-question-text-icon > *{
	transition:all ease .3s;
}
.chat-bubble-question-text-icon:hover > *{
	transform:scale(1.3);
	transition:all ease .3s;
}




/*  MAIN CHAT PROMPT INPUT AREA  */

#message-form-prompt-container{
	display:flex;
	max-width:100%;
}

body:not(.chat-message-form-more-height) #message-form-prompt-container{
	margin-left:0;
	margin-right:0;
}

#chat-prompt-textareas-wrapper{
	height:100%;
	display:flex;
	flex-direction:column;
	position:relative;
}

body..chat-message-form-more-height #chat-prompt-textareas-wrapper > *{
	margin-left:2px;
	margin-right:2px;
}

#chat-prompt-textarea-eraser{
	position:absolute;
	top:3px;
	right:5px;
	cursor:pointer;
	transition:all ease .1s;
	opacity:0;
	max-height:100px;
	max-width:300px;
	overflow:hidden;
}

#chat-prompt-textarea-wrapper{
	height:100%;
}

#chat-prompt-textarea-wrapper:hover #chat-prompt-textarea-eraser:not(.eraser-erasing){
	opacity:.5;
}
#chat-prompt-textarea-wrapper #chat-prompt-textarea-eraser:not(.eraser-erasing):hover{
	top:8px;
	right:8px;
	opacity:1;
	transition:all ease .3s;
	transform:scale(2);
}
#prompt:placeholder-shown + #chat-prompt-textarea-eraser:not(.eraser-erasing){
	display:none;
	max-height:0;
	max-width:0;
}
	

.eraser-erasing{
    animation: animated_eraser 1s 1;
	animation-iteration-count: 1;
	animation-timing-function: ease-in-out;
	pointer-events:none;
}
@keyframes animated_eraser{
0% {transform: rotate(0deg) scale(2);right:8px; opacity:1;}
5% {transform: rotate(-20deg) scale(4);top:20px;right:20px;}
50% {transform: rotate(-30deg) scale(4);top:30px;right:200px;}
55% {transform: rotate(-20deg) scale(4);right:200px;}
90% {transform: rotate(0deg) scale(2);right:8px;}
100% {transform: rotate(0deg) scale(0);right:2px; top:2px; opacity:0;}
}



#prompt{
	height: 100%;
	flex-grow:1;
	max-height:100%;
	line-height:140%;
	resize: none;
}

#do-prompt{
	text-align:right;
	padding: 0 5px;
	display:flex;
	flex-direction:column;
}
#do-prompt > button{
	margin-bottom:2px;
	max-width:75px;
}


.chat-message-form-more-height #message-form-prompt-buttons > button{
	margin-bottom:0;
}


/*   MARKDOWN  / PROMPT ADJUSTMENT  */


#prompt-adjustment-toggles{
	display:flex;
	align-items:center;
}
#prompt-adjustment-toggles img{
	max-width:20px;
	max-height:20px;
	cursor:pointer;
}

body:not(.settings-complexity-advanced) #brevity-toggle-buttons,
body:not(.settings-complexity-advanced) #markdown-toggle-buttons,
body:not(.brevity-supported) #brevity-toggle-buttons,
body:not(.markdown-supported) #markdown-toggle-buttons{
	display:none;
}
body.markdown-enabled #prompt-markdown-enable-button,
body:not(.markdown-enabled) #prompt-markdown-disable-button{
	display:none;
}
body.brevity-enabled #prompt-brevity-enable-button,
body:not(.brevity-enabled) #prompt-brevity-disable-button{
	display:none;
}

.prompt-adjustment-toggles{
	padding:0;
	border-radius:50%;
	background-color:rgba(255,255,255,.1);
	margin-right:10px;
	width: 36px;
	height: 36px;
	overflow:hidden;
	cursor:pointer;
}

body:not(.chat-message-form-more-height) .prompt-adjustment-toggles{
	display:none;
}

.prompt-adjustment-toggles:hover{
	background-color:var(--button-hover-bg);
}

.prompt-adjustment-toggle > .unicode-icon{
	width: 36px;
	height: 36px;
}

.toggle-button-enabled{
	background-color:var(--button-bg);
}

.prompt-adjustment-toggles > *{
	display:flex;
	align-items:center;
	justify-content:center;
    width: 36px;
    height: 36px;
}

#prompt-adjustments{
	margin-top:2px;
	resize: none;
}

body:not(.chat-message-form-more-height) #prompt-adjustments,
#prompt-adjustments:placeholder-shown{
	display:none;
}


body:not(.show-document) #submit-question-button,
body#assistant-imager  #submit-prompt-at-line-button,
body:not(.settings-complexity-advanced) #submit-prompt-at-line-button,
body:not(.chat-message-form-more-height) #submit-prompt-at-line-button{
	display:none;
}


#submit-prompt-at-line-button{
	display:none!important;
}


#prompt-at-line-dialog-hint{
	margin-bottom:10px;
}

#prompt-at-line-submit-button{
	padding:5px 10px;
}

body:not(.chat-message-form-more-height) #do-prompt-buttons{
	max-width:65px;
	margin-left:8px;
    display: flex;
    flex-direction: column;
}

.chat-message-form-more-height #message-form-prompt-buttons{
	padding: 5px 2px;
	margin-top:5px;
	margin-left:40px;
	
}
.chat-message-form-more-height #do-prompt-buttons{
	display:flex;
	flex-direction:row;
	justify-content:flex-end;
	margin-right:3px;
}

#message-form-audio-buttons-container{
	margin-top:auto;
}

body#assistant-image_to_text_ocr #message-form-audio-buttons-container,
body#assistant-image_to_text_ocr #message-form-audio-buttons-container #message-form-audio-buttons-wrapper{
	flex-direction:row;
}

.chat-message-form-more-height:not(.chat-shrink):not(#assistant-image_to_text_ocr) #message-form-audio-buttons-container{
	justify-content: flex-end;
	width:0;
	padding:0;
	margin:0;
	z-index:2;
}


.chat-message-form-more-height #microphone-icon-container{
	margin-bottom:0;
}


.chat-message-form-more-height .chat .content .message-form{
	padding-bottom:5px;
	padding-top:0;
	border-top:none;
}



/*   DIFFUSION IMAGE GENERATION   */


.generated-image-container{
	position:relative;
}
.generated-image-buttons-container{
	position:absolute;
	bottom:15px;
	right:15px;
	display:flex;
}
.generated-image-buttons-container .generated-image-button{
	width:25px;
	height:25px;
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:50%;
	background-color:var(--button-bg);
	cursor:pointer;
	margin-left:15px;
}

.generated-image-buttons-container .generated-image-button:hover{
	background-color:var(--button-hover-bg);
}

#diffusion-progress-imager{
	margin-top:10px;
}




/*   DOCUMENT VIEW  */


#main-view{
	display:none;
	position:fixed;
	z-index:1;
	top:0;
	left:0;
	width:100%;
	flex-grow:2;
	flex-basis:30%;
	background-color:var(--body-weaker-bg);
}


body.show-document #main-view{
	display:flex;
	min-width:300px;
}

body.document-active .playground{
	background-color:var(--main-bg-color);
}
body.light.document-active .playground{
	background-color:var(--main-bg-color);
}


body.document-active #prompt{
	color:var(--median-bg);
}

body.light.document-active #prompt{
	box-shadow:inset 0 0 1px 100vw rgba(0,0,0,0.03);
}


#submit-prompt-button{
	max-height:300px;
	max-width:300px;
	transition:all ease .2s;
	flex-grow:1;
	margin-top:auto;
	z-index:1;
}

body#assistant-image_to_text.show-camera #submit-prompt-button,
body#assistant-image_to_text_ocr.show-camera #submit-prompt-button{
	margin-top:5px;
}


.submit-prompt-button,
#submit-prompt-button{
	overflow:hidden;
	min-width:50px;
	flex-shrink:1;
	max-height:86px;
	transition:all ease .1s;
}
.submit-prompt-button img{
	max-height:100%;
}
.chat-message-form-more-height #submit-prompt-button{
	height:36px;
	max-height:36px;
}

#submit-prompt-button-image{
	position:relative;
	left:0rem;
	bottom:0rem;
	height:100%;
	max-height:100%;
	transition:all ease .3s;
}

.fly-the-plane > #submit-prompt-button-image{
	transition: all 0.5s ease-in-out;
	position:relative;
	left:3rem;
	bottom:1rem;
	opacity:0;
}

button:not(.fly-the-plane) > #submit-prompt-button-image{
	transition: opacity 0.5s ease-in-out;
	opacity:1;
}
	



/* Shrink the chat section */
.show-camera #shrink-assistant-button,
.show-rewrite #shrink-assistant-button{
	display:none;
}

#shrink-assistant-button{
	transition:all ease .3s;
}
body:not(.light) img.toggle-secion-chevron{
	filter: invert(1);
	opacity:.7;
}

#shrink-assistant-button:hover{
	background-color:var(--button-hover-bg);
	opacity:1;
}

#close-sidebar-button:hover img,
#shrink-assistant-button:hover img{
	transform:scale(1.3);
	transition:all ease .3s;
	filter: invert(1);
}


/*  CHAT SHRINK  */

body:not(.sidebar) #user-info-wrapper{
	padding-left:50px;
}

body:not(.chat-shrink) #user-info-wrapper{
	max-height:50px;
	overflow:hidden;
	flex-grow:1;
}


body:not(.chat-shrink) #main-chat{
	flex-grow:1;
	flex-basis: 30%;
	min-width:300px;
	height:100%;
	flex-shrink:20;
}

body:not(.chat-shrink) .user{
	max-height:50px;
	overflow:hidden;
}



@media only screen and (max-width: 640px){
	
	body.chat-shrink:not(.show-rewrite):not(.show-camera):not(.show-document) #main-chat{
		width:50px;
		max-width:50px;
	}
	body.chat-shrink:not(.show-rewrite):not(.show-camera):not(.show-document) #chat-content{
		opacity:.7;
	}
	body.chat-shrink:not(.show-rewrite):not(.show-camera):not(.show-document) #chat-content:hover{
		opacity:1;
	}
	
	body.chat-shrink:not(.show-rewrite):not(.show-camera):not(.show-document):not(.sidebar)	.chat .content .message-header .user-info img{
		margin-right:0;
		margin-top:0;
	}
	
	body.chat-shrink:not(.show-rewrite):not(.show-camera):not(.show-document) .chat .content .message-header{
		flex-direction:column;
	}
	
	body.chat-shrink:not(.show-rewrite):not(.show-camera):not(.show-document):not(.sidebar) #back-button-container,
	body.chat-shrink:not(.show-rewrite):not(.show-camera):not(.show-document) .user-info .user,
	.chat-shrink #shrink-assistant-button,
	.chat-shrink #clear-assistant-button,
	.chat-shrink #mobile-back-to-document-button,
	.chat-shrink:not(.show-rewrite):not(.show-camera):not(.show-document) #clear-assistant-button,
	.chat-shrink:not(.show-rewrite):not(.show-camera):not(.show-document) #message-form-resize-handle,
	.chat-shrink:not(.show-rewrite):not(.show-camera):not(.show-document) #message-downloads-container span,
	.chat-shrink:not(.show-rewrite):not(.show-camera):not(.show-document) #message-downloads-container .to-go-postfix,
	.chat-shrink:not(.show-rewrite):not(.show-camera):not(.show-document) #message-form-prompt-container,
	.chat-shrink:not(.show-rewrite):not(.show-camera):not(.show-document) .hide-if-chat-shrink,
	.chat-shrink:not(.show-rewrite):not(.show-camera):not(.show-document) #tools-rewrite-container,
	.chat-shrink:not(.show-rewrite):not(.show-camera):not(.show-document) #model-info-container{
		display:none;
	}
	.chat-shrink:not(.show-rewrite):not(.show-camera):not(.show-document) #message-downloads-container .message:not(.download-complete-chat-message){
		max-height:200px;
	}
	.chat-shrink:not(.show-rewrite):not(.show-camera):not(.show-document) #message-downloads-container progress{
		width:40px;
		margin-left:-10px;
	}

	.chat-shrink:not(.show-rewrite):not(.show-camera):not(.show-document) #main-chat{
		width: 50px;
		max-width: 50px;
		min-width: 50px;
		overflow: hidden;
		cursor:pointer;
	}

	.chat-shrink:not(.show-rewrite):not(.show-camera):not(.show-document):not(.sidebar) #message-header-container{
		margin-top:50px;
		transition:all ease .3s;
		transition-delay:.3s;
		width:50px;
		max-width:50px;
	}

	.chat-shrink:not(.show-rewrite):not(.show-camera):not(.show-document) #message-content-container{
		opacity:0;
		pointer-events:none;
	}

	.chat-shrink:not(.show-rewrite):not(.show-camera):not(.show-document) #message-form-resize-handle-inner{
		display:none;
	}

	.chat-shrink:not(.show-rewrite):not(.show-camera):not(.show-document) #message-form-container{
		background-color:var(--chat-bg);
		padding-top:10px;
	}

	body.chat-shrink:not(.show-rewrite):not(.show-camera):not(.show-document) #message-form-audio-buttons-wrapper{
		flex-direction:column;
		align-items: baseline;
	}

	body.chat-shrink:not(.show-rewrite):not(.show-camera):not(.show-document).chat-message-form-more-height #message-form-audio-buttons-wrapper #speaker-icon{
		margin-top: 10px;
		margin-bottom:4px;
	}
	body.chat-shrink:not(.show-rewrite):not(.show-camera):not(.show-document) #chat-prompt-textareas-wrapper{
		display:none;
	}

	.chat-shrink:not(.show-rewrite):not(.show-camera):not(.show-document).sidebar .chat .content .message-header .user-info{
		transition:all ease .3s;
	}
	.chat-shrink:not(.show-rewrite):not(.show-camera):not(.show-document):not(.sidebar) .chat .content .message-header .user-info{
		width:50px;
		max-width:50px;
		padding-left: 0;
		margin-left:0;
		transition:all ease .3s;
		transition-delay:.3s;
	}

	.chat-shrink:not(.show-rewrite):not(.show-camera):not(.show-document) .chat .content .message-form > div > div{
		margin:0;
	}
	
	.chat-shrink:not(.show-rewrite):not(.show-document):not(.show-camera) #tutorial{
		display:block;
	}
	
	body.chat-shrink:not(.show-document) #user-info-wrapper{
		max-width:50px;
		padding-left:0;
	}
	
	#no-web-gpu-warning > div{
		flex-direction:column;
	}
	
}

@media only screen and (min-width: 641px){

	body.chat-shrink:not(.show-rewrite):not(.show-camera) #main-chat{
		width:50px;
		max-width:50px;
	}
	
	body.chat-shrink:not(.show-rewrite):not(.show-camera) #chat-content{
		opacity:.9;
	}
	body.chat-shrink:not(.show-rewrite):not(.show-camera) #chat-content:hover{
		opacity:1;
	}
	
	body.chat-shrink:not(.show-rewrite):not(.show-camera):not(.sidebar)	.chat .content .message-header .user-info img{
		margin-right:0;
		margin-top:0px;
	}
	
	body.chat-shrink:not(.show-rewrite):not(.show-camera) .chat .content .message-header{
		flex-direction:column;
	}
	
	body.chat-shrink:not(.show-rewrite):not(.show-camera):not(.sidebar) #back-button-container,
	body.chat-shrink:not(.show-rewrite):not(.show-camera) .user-info .user,
	.chat-shrink #shrink-assistant-button,
	.chat-shrink #clear-assistant-button,
	.chat-shrink #mobile-back-to-document-button,
	.chat-shrink:not(.show-rewrite):not(.show-camera) #clear-assistant-button,
	.chat-shrink:not(.show-rewrite):not(.show-camera) #message-form-resize-handle,
	.chat-shrink:not(.show-rewrite):not(.show-camera) #message-downloads-container span,
	.chat-shrink:not(.show-rewrite):not(.show-camera) #message-downloads-container .to-go-postfix,
	.chat-shrink:not(.show-rewrite):not(.show-camera) #message-form-prompt-container,
	.chat-shrink:not(.show-rewrite):not(.show-camera) .hide-if-chat-shrink,
	.chat-shrink:not(.show-rewrite):not(.show-camera) #tools-rewrite-container,
	.chat-shrink:not(.show-rewrite):not(.show-camera) #model-info-container{
		display:none;
	}
	.chat-shrink:not(.show-rewrite):not(.show-camera) #message-downloads-container .message:not(.download-complete-chat-message){
		max-height:200px;
	}
	.chat-shrink:not(.show-rewrite):not(.show-camera) #message-downloads-container progress{
		width:40px;
		margin-left:-10px;
	}

	.chat-shrink:not(.show-rewrite):not(.show-camera) #main-chat{
		width: 50px;
		max-width: 50px;
		min-width: 50px;
		overflow: hidden;
		cursor:pointer;
	}

	.chat-shrink:not(.show-rewrite):not(.show-camera):not(.sidebar) #message-header-container{
		margin-top:50px;
		transition:all ease .3s;
		transition-delay:.3s;
	}

	.chat-shrink:not(.show-rewrite):not(.show-camera) #message-content-container{
		opacity:0;
		pointer-events:none;
	}

	.chat-shrink:not(.show-rewrite):not(.show-camera) #message-form-resize-handle-inner{
		display:none;
	}

	.chat-shrink:not(.show-rewrite):not(.show-camera) #message-form-container{
		background-color:var(--chat-bg);
	}

	body.chat-shrink:not(.show-rewrite):not(.show-camera) #message-form-audio-buttons-wrapper{
		flex-direction:column;
		align-items: center; /*  baseline */
		padding:0;
	}

	body.chat-shrink:not(.show-rewrite):not(.show-camera).chat-message-form-more-height #message-form-audio-buttons-wrapper #speaker-icon{
		margin-left: 2px;
		margin-top: 10px;
		margin-bottom:4px;
	}
	body.chat-shrink:not(.show-rewrite):not(.show-camera) #chat-prompt-textareas-wrapper{
		display:none;
	}

	.chat-shrink:not(.show-rewrite):not(.show-camera).sidebar .chat .content .message-header .user-info{
		transition:all ease .3s;
	}
	.chat-shrink:not(.show-rewrite):not(.show-camera):not(.sidebar) .chat .content .message-header .user-info{
		width:50px;
		padding-left: 0;
		margin-left:0;
		transition:all ease .3s;
	}
	.chat-shrink:not(.show-rewrite):not(.show-camera) .chat .content .message-form{
		padding:10px 5px 8px 5px;
	}
	.chat-shrink:not(.show-rewrite):not(.show-camera) .chat .content .message-form > div > div{
		margin:0;
	}
	
	.chat-shrink:not(.show-rewrite):not(.show-document):not(.show-camera) #tutorial{
		display:block;
	}
	
	body.chat-shrink #user-info-wrapper{
		max-width:50px;
		padding-left:0;
	}
	.chat-shrink .chat .content .message-header{
		max-width:50px;
		height: auto;
	}
}


#assistant-translator.chat-shrink:not(.show-rewrite):not(.show-document):not(.show-camera) #rewrite-dialog{
	display:none;
}


body.show-document #mobile-back-to-document-button,
body:not(.has-file):not(.has-recent-documents) #mobile-back-to-document-button{
	display:none;
}





/*  DOCUMENT SECTION  */


#header{
	min-height:50px;
	background-color:var(--editor-header-bg);
}

#header-layer2{
	display:flex;
	align-items:center;
	justify-content:space-between;
	height:100%;
	min-height:49px;
}

#file-path{
	background-color:transparent;
	flex-grow:1;
	justify-content: center;
}




#file-path > #current-file-name{
	padding-right:40px;
}


body.light #close-document-view:not(:hover) .close-button-cross{
	filter: invert(100%);
}
#close-document-view:hover .close-button-cross{
	transform:scale(1.2);
}


.corner-close-button,
#close-tools-button,
#stop-camera-button,
#close-document-view{
	position: absolute;
    top: 0;
    right: 0;
    font-size: 1.5rem;
    height: 50px;
	width: 50px;
    opacity: 1;
	color:var(--button-text-color);
}

.close-button-cross{
	background-image:url(../images/cross.svg);
	background-position:center;
	background-repeat:no-repeat;
	background-size:80%;
	min-width:16px;
	min-height:16px;
	transition:all ease .2s;
}

div:hover > .close-button-cross{
	transform:scale(1.3);
}

#close-document-view > .close-button-cross{
	width:25px;
	height:25px;
}


.corner-close-button:hover,
#close-tools-button:hover,
#stop-camera-button:hover > div,
#close-document-view:hover{
	opacity: 1;
	background-color:var(--button-hover-bg);
	color:var(--button-hover-color);
}

#close-document-view{
	background-color:var(--editor-header-bg);
	color:var(--text-color);
	border-radius:0;
}
#close-document-view:hover{
	background-color:var(--button-hover-bg);
	color:white;
}

#rewrite-dialog-header .corner-close-button{
	background-color:var(--tools-bg);
}
#close-tools-button,
#stop-camera-button{
	z-index:13;
	transition:all ease .3s;
}
#close-tools-button:hover > div,
#stop-camera-button:hover > div{
	transform:scale(1.2);
}


body:not(.show-camera) #stop-camera-button{
	display:none;
}
body.show-camera #close-tools-button{
	display:none;
}


.cm-editor{
	height:100%;
}

.playground{
	background-color:var(--editor-bg);
}
#editor.code-editor{
	padding-top:0;
	max-width:100%;
}
#editor.code-editor .cm-editor{
	max-width:100%;
	outline:none;
}


body:not(.coder) #editor.code-editor div[spellcheck]{
	white-space: pre-wrap;
	width:calc(100% - 3rem);
	max-width:47rem;
	padding-right:1rem;
}

body:not(.coder) .ͼ1.cm-scroller{
	font-family:inherit;
}


.ͼ1 .cm-gutter{
	overflow:visible;
}

.coder .ͼ1 .cm-lineNumbers .cm-gutterElement{
	min-width:33px;
}

.cm-gutters{
	margin-left:auto;
	border-left:5px solid transparent;
}


.cm-gutter.cm-lineNumbers .cm-gutterElement.cm-activeLineGutter{
	position: relative;
	overflow: visible;
	background-color:transparent;
}

.coder .cm-gutter.cm-lineNumbers .cm-gutterElement.cm-activeLineGutter{
    box-shadow: inset 0px 0px 0px 600px rgb(0, 0, 0, .2);
}
.light.coder .cm-gutter.cm-lineNumbers .cm-gutterElement.cm-activeLineGutter{
    box-shadow: inset 0px 0px 0px 600px rgb(255,255,255, .3);
}


.cm-gutter.cm-lineNumbers .cm-gutterElement.cm-activeLineGutter:after{
	content: '+';
    width: 22px;
    height: 22px;
    border-radius: .75rem;
    border-bottom-right-radius: 0;
    background-color: var(--button-bg);
    transition: all .2s ease-in-out;
    display: flex;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    position: absolute;
    bottom: 0;
    color: white;
    font-size: 15px;
    z-index: 20;
}
.coder .cm-gutter.cm-lineNumbers .cm-gutterElement.cm-activeLineGutter:after{
	left:-22px;
}

.cm-gutter.cm-lineNumbers .cm-gutterElement.cm-activeLineGutter:before{	
	content:'';
    position: absolute;
    bottom: 0;
	right:0;
	transition: all .2s ease-in-out;
	width:0;
	max-width:0;
	opacity:0;
}


body .ͼ4 .cm-line, 
.cm-line{
	color:var(--text-color);
	border-left:1px solid transparent;
	line-height:170%;
}
body.document-active .ͼ4 .cm-line, 
body.document-active .cm-line{
	color:var(--strongest-text-color);
}

body .ͼ4 .cm-line.cm-activeLine,
.ͼ2 .cm-activeLine{
	border-left:1px solid rgba(255,255,255,.2);
}
body.light .ͼ4 .cm-line.cm-activeLine,
body.light .ͼ2 .cm-activeLine{
	border-left:1px solid rgba(0,0,0,.2);
}

body:not(.coder) .cm-line{
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
}


body .ͼ5{
	color:inherit;
	opacity:.5;
}
body:not(.document-active) .ͼ5:not(ͼ1):not(ͼ2):not(ͼ3):not(ͼ4):not(ͼ5):not(ͼ6):not(ͼ7):not(ͼ8){
	color:var(--strongest-text-color);
	opacity:1;
}

body .ͼ7{
	text-decoration:none;
}


/* markdown link */
.cm-line > span.ͼ6.ͼ5 + span.ͼ6 + span.ͼ6.ͼ5 + span.ͼ6.ͼ5 + span.ͼ6.ͼc{
	cursor:pointer;
}
.cm-line > span.ͼ6.ͼ5 + span.ͼ6 + span.ͼ6.ͼ5 + span.ͼ6.ͼ5 + span.ͼ6.ͼc:hover{
	background-color:var(--button-hover-bg);
	color:var(--button-hover-text-color);
}


/*  hide markdown marks when document does not have focus  */

span.ͼ7.ͼ5{
	display:inline-block;
	transition:all ease .5s;
	max-width:1000px;
	height:auto;
}

body:not(.document-active) span.ͼ7.ͼ5,
body:not(.document-active) span.ͼ8.ͼ5,
body:not(.document-active) span.ͼ9.ͼ5{
	display:inline-block;
	height:0;
	max-height:0;
	width:0;
	max-width:0;
    overflow: hidden;
	transition: all ease .5s;
	opacity:0;
}

span.ͼ7:last-of-type{
	margin-left:0;
	transition: margin ease .5s;
}

body:not(.document-active) .cm-line > span.ͼ7.ͼ5 + span.ͼ7:last-of-type{
	margin-left:-7px;
	transition: margin ease .5s;
}

span.ͼ6{
	text-decoration:none;
}




body:not(.document-active):not(.cleopatra).microphone-enabled #message-content-container:after,
body:not(#assistant-scribe).document-active.microphone-enabled .cm-gutter.cm-lineNumbers .cm-gutterElement.cm-activeLineGutter:before{
	content: ' ';
    width: 1.5rem;
	min-width: 1.5rem;
	max-width: 1.5rem;
    height: 1.5rem;
	max-height:1.5rem;
    border-radius: .75rem;
    border-top-right-radius: 0;
    background-color: var(--button-warning-bg);
	background-image: url(../images/microphone_icon.svg);
	background-position: 55% 50%;
	background-repeat: no-repeat;
	background-size: 60%;
    transition: all .2s ease-in-out;
    display: flex;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    position: absolute;
    bottom: -1.5rem;
	right:-0.2rem;
    color: white;
    font-size: 15px;
    z-index: 5;
	opacity:1;
	border:none;
	pointer-events:none;
}




body#assistant-scribe.microphone-enabled .cm-gutter.cm-lineNumbers .cm-gutterElement:last-of-type:before{
	content: ' ';
    width: 1.5rem;
	min-width: 1.5rem;
	max-width: 1.5rem;
    height: 1.5rem;
	max-height:1.5rem;
    border-radius: .75rem;
    border-top-right-radius: 0;
    background-color: var(--button-warning-bg);
	background-image: url(../images/microphone_icon.svg);
	background-position: 55% 50%;
	background-repeat: no-repeat;
	background-size: 60%;
    transition: all .2s ease-in-out;
    display: flex;
    cursor: pointer;
    align-items: center;
    justify-content: center;
    position: absolute;
    bottom: -1.5rem;
	right:-0.2rem;
    color: white;
    font-size: 15px;
    z-index: 20;
	opacity:1;
	border:none;
	pointer-events:none;
}


body#assistant-scribe.doing-stt .cm-gutter.cm-lineNumbers .cm-gutterElement:last-of-type:before,
body.document-active.microphone-enabled.doing-stt #main-view .cm-gutter.cm-lineNumbers .cm-gutterElement.cm-activeLineGutter:before{
    background-size: 250% 250%;
	background-image: linear-gradient(-90deg,
            rgba(59, 173, 227, .5) 0%,
			rgba(59, 173, 227, .5) 42%,
            rgba(87, 111, 230, .5) 50%,
            rgba(152, 68, 183, .5) 51%,
			rgba(59, 173, 227, .5) 56%,
            rgba(59, 173, 227, .5) 100%);
    animation: bg-sweep-to-right .5s linear infinite;
	
}



/*  LOADING FILES   */

#message-downloads-container:not(:empty){
	min-height:75px;
}

#message-downloads-container:not(:empty) ~ #message-form-resize-handle{
	border-radius:0!important;
}

.file-loading-warning-container,
#message-downloads-container > div.message{
    background-size: 250% 250%;
	background-image: linear-gradient(180deg,
            rgba(99, 59, 188, 1) 0%,
			rgba(99, 59, 188, 1) 42%,
			rgba(87, 111, 230, 1) 51%,
			rgba(99, 59, 188, 1) 52%,
            rgba(99, 59, 188, 1) 100%);
    animation: bg-sweep-to-bottom 2s linear infinite;
}
.file-loading-warning-container{
	color:white;
}

.file-loading-warning-container,
.files-loading-warning-container{
	min-height:50px;
}
body.busy-restoring-files #upload-a-file-hint,
body.first-run .files-loading-warning-container,
body:not(.busy-restoring-files) .files-loading-warning-container{
	display:none;
}

body.loading-file #editors{
	opacity:.3;
	pointer-events:none;
}


body:not(.document-active):not(.cleopatra).microphone-enabled #message-content-container:after{
	bottom: 5px;
	right: 5px;
	border-top-right-radius: .75rem;
	/*border-bottom-right-radius: 0;*/
	border-top-left-radius: 0;
}

body#assistant-scribe.microphone-enabled #message-content-container:after,
body:not(.document-active).microphone-enabled.doing-stt #message-content-container:after{
	display:none!important;
}

.cm-gutter.cm-lineNumbers .cm-gutterElement.cm-activeLineGutter:hover:after{
	background-color:var(--button-hover-bg);
}
.cm-gutter.cm-lineNumbers .cm-gutterElement.cm-activeLineGutter:hover:before{
	opacity:.3;
}

.cm-gutter.cm-lineNumbers{
	min-width:28px;
}
.cm-gutterElement.cm-activeLineGutter{
	width:1px;
}


body:not(.coder) .cm-foldGutter .cm-activeLineGutter{
	background-color:transparent;
}


body:not(.coder) .cm-gutter.cm-lineNumbers .cm-gutterElement{
	font-size:0;
}

#prompt-at-line-input{
	width:250px;
	min-height:5rem;
}



#editor.code-editor .ͼ1 .cm-scroller{
	padding:2rem 0;
	width:100%;
	max-width:100%;
	outline:none;
	flex-basis:300px;
	flex-grow:1;
}

.coder #editor.code-editor .ͼ1 .cm-scroller{
	padding:2rem 0 2rem 22px;
}

.cm-gutters,
#editor.code-editor .ͼ2 .cm-gutters{
	background-color:transparent!important;
	border-right:none!important;
}


body:not(.coder):not(.show-rag-result):not(.showing-text-search) #editors #output,
body:not(.coder):not(.show-rag-result):not(.showing-text-search) #editors #resizer{
	display:none;
}


.cm-cursor{
	box-shadow: 0px 0px 0px 1px #fff;
}


#document-form-container{
	max-height:200px;
	background-color: var(--sidebar-header-bg);
	padding-right:5px;
	padding-left:5px;
}

body.show-document.doc-has-text #document-form-container,
body.show-document:not(.showing-media).can-undo #document-form-container,
body.show-document:not(.showing-media).can-redo #document-form-container,
body.show-document:not(.showing-media):not(.doc-empty).current-modified #document-form-container{
	padding-top:5px;
	padding-bottom:5px;
}

body.viewing-media #document-form-container,
body.viewing-media #document-form-container{
	display:none;
}

body.doc-empty:not(.modified):not(.can-undo):not(.can-redo):not(.coder) #document-form-container{
	padding-top:0;
	padding-bottom:0;
	padding-right:0;
}

#document-question-button,
#document-search-button{
	flex-grow:0;
}

#document-proofread-button,
#document-rewrite-button,
#document-translate-button,
#document-summarize-button,
#document-continue-button{
	/*flex-basis:10%;*/
	flex-grow:1;
	white-space:nowrap;
}

#rewrite-document-buttons-container > button > span:not(.icon){
	display:none;
}
#rewrite-document-buttons-container > *{
	height:36px;
	font-size:90%;
	white-space:nowrap;
}

#rewrite-document-buttons-container .icon{
	width:20px;
	height:20px;
}
#document-translate-button .icon{
	width:24px;
}

#document-summarize-button .icon,
#document-continue-button .icon,
#document-proofread-button .icon{
	transition:all ease .3s;
}

#document-summarize-button:hover .icon,
#document-continue-button:hover .icon,
#document-proofread-button:hover .icon{
	transform:scale(1.2);
}


body:not(.fairytale) #document-summarize-button:not(:hover) .icon,
body:not(.fairytale) #document-continue-button:not(:hover) .icon,
body:not(.fairytale) #document-translate-button:not(:hover) .icon{
	-webkit-filter: grayscale(90%);
	-moz-filter: grayscale(90%);
	-ms-filter: grayscale(90%);
	-o-filter: grayscale(90%);
	filter: gray;
}



#document-form-limiter{
	width:100%;
	max-width:45rem;
	margin:0 auto;
	display:flex;
	justify-content:space-between;
}

#document-form-limiter > *{
	margin:0;
}

#doc-selection-hint{
	position:fixed;
	right:-10000px;
	bottom:-1000px;
	border-radius:.5rem;
	background-color:#aaa;
	z-index:3;
	padding:2.5px 0;
    width: auto;
    max-width: 300px;
	max-height:800px;
    display: flex;
    flex-direction: column;
	transition:all ease .3s;
	overflow:hidden;
}

#doc-selection-hint,
#doc-selection-hint-buttons > *{
	flex-grow:1;
	transition:all ease .3s;
    max-width: 300px;
	max-height:800px;
}

#doc-selection-hint-buttons{
    display: flex;
    flex-direction: row;
	flex-wrap: wrap;
}

body:not(.doc-has-selection) #doc-selection-hint > *,
body.show-rag-result #doc-selection-hint,
body:not(.doc-has-selection) #doc-selection-hint{
	max-width:0;
	max-height:0;
}


.doc-selection-hint-text{
	margin-left:5px;
}

body:not(.doc-has-summary-selection) .doc-selection-hint-text{
	display:none;
}

/* turns into vertical list */
body.doc-has-summary-selection #doc-selection-hint-buttons{
	flex-direction:column;
}

#doc-selection-hint-buttons > button{
	margin:.2rem;
}

body.doc-has-summary-selection #doc-selection-hint-buttons .doc-selection-hint-icon{
	display:inline-block;
	min-width:30px;
}
body.doc-has-summary-selection #doc-selection-hint-buttons .doc-selection-hint-button{
	justify-content:flex-start;
}

.selection-quick-action-item{
	display:flex;
	align-items:center;
	justify-content: flex-end;
	padding:5px;
	color:var(--inverted-text-color);
	text-align:right;
	cursor:pointer;
	overflow:hidden;
	position:relative;
	padding-right:30px;
	white-space: nowrap;
	border-radius: 5px;
	margin: 5px;
	background-color: var(--weak-semi-transparent-bg);
}

.selection-quick-action-item:after{
	content:'🍀';
	margin-left:5px;
	position:absolute;
	right:5px;
}

.selection-quick-action-item:hover{
	background-color:var(--button-hover-bg);
	color:var(--button-hover-color);
}


#audio-play-document-button .doc-selection-hint-icon,
#save-document-button .doc-selection-hint-icon{
	transition:all ease .3s;
}

body:not(.fairytale) #beautify-button:not(:hover) > *,
body:not(.fairytale) #audio-play-document-button:not(:hover) .doc-selection-hint-icon,
body:not(.fairytale) #save-document-button:not(:hover) .doc-selection-hint-icon{
	-webkit-filter: grayscale(90%);
	-moz-filter:    grayscale(90%);
	-ms-filter:     grayscale(90%);
	-o-filter:      grayscale(90%);
	filter: gray; 
}
#audio-play-document-button:not(:hover) .doc-selection-hint-icon,
#save-document-button:hover .doc-selection-hint-icon{
	transform:scale(1.2);
}


#doc-selection-hint-buttons > button:hover{
	background-color:var(--button-hover-bg);
}

#doc-selection-hint-buttons > button:hover img.doc-selection-hint-icon,
#doc-selection-hint-buttons > button:hover .doc-selection-hint-icon > *{
	transform:scale(1.5);
	transition: all linear .2s;
	right:8px;
}

#doc-selection-hint-buttons button{
	background-color:var(--button-bg);
}



.doc-selection-hint-button{
	transition-delay:1s;
	transition: all linear .2s;
	max-width:10rem;
	max-height:4rem;
	overflow:hidden;
}

body.show-rewrite #rewrite-selection-button,
body:not(.doc-has-summary-selection) #summarize-selection-button,
body:not(.doc-has-rewrite-selection) #rewrite-selection-button{
	width:0!important;
	height:0!important;
	max-height:0!important;
	max-width:0!important;
    padding: 0!important;
    margin: 0!important;
}


body:not(.model-loaded) .requires-model-loaded{
	opacity:.7;
}




/*   CODE MIRROR SEARCH   */

.ͼ2 .cm-panels-bottom{
	border-top:none;
}

.ͼ2 .cm-button{
	border: 0.1px solid var(--sidebar-header-bg);
	border-radius:5px;
	background:var(--button-bg);
	color:#ddd;
	font-size: inherit;
}

.ͼ2 .cm-button:hover{
	background:var(--button-hover-bg);
	color:#fff;
}


#search-input1,
.ͼ1 .cm-panel.cm-search input{
	background-color:rgba(255,255,255,.1);
	border:1px solid transparent;
	border-bottom:2px dashed var(--button-bg);
	margin-bottom:4px;
    color: var(--text-color);
    font-size: inherit;
}

.ͼ1 .cm-panel.cm-search input, 
.ͼ1 .cm-panel.cm-search button, 
.ͼ1 .cm-panel.cm-search label{
	margin:0;
	font-family:inherit;
}

.ͼ1 .cm-panel.cm-search label{
	cursor:pointer;
}
.ͼ1 .cm-panel.cm-search label:hover{
	background:var(--button-hover-bg);
	color:#fff;
}

.ͼ1 .cm-panel.cm-search label > input[type=checkbox]{
	transform:scale(1.2);
	margin-right:7px;
}

.ͼ1 .cm-panel.cm-search{
	padding:0;
	background-color: var(--sidebar-header-bg);
	border:none;
	padding: 7px 5px 6px 5px;
}


.ͼ1 .cm-panel.cm-search input[name="search"],
#search-input1,
.ͼ1 .cm-panel.cm-search input[name="replace"]{
	width: calc(100% - 32.5px);
	min-height: 40px;
	margin-left: 2px!important;
	margin-bottom:2px;
}
.ͼ1 .cm-panel.cm-search input[name="replace"]{
	margin-top:10px;
}

button.cm-button[name="next"],
button.cm-button[name="prev"],
button.cm-button[name="select"],
#search-both-button{
	width:calc(25% - 8px);
}

#search-both-button{
	margin-left:2px;
}

button.cm-button[name="search"]{
	margin-left:10px;
}


.ͼ1 .cm-panel.cm-search label{
	margin:0;
	text-align:center;
}
.ͼ1 .cm-panel.cm-search label:first-of-type{
	margin-left:2px;
}

button.cm-button[name="select"] + label{
	margin-left:2px!important;
}
button.cm-button[name="select"] + label,
button.cm-button[name="select"] + label + label,
button.cm-button[name="select"] + label + label + label{
	background-color:rgba(255,255,255,.6);
	width: calc(50% - 16px);
	display:inline-block;
	padding-left:10px;
	border-radius:5px;
}

button.cm-button[name="select"] + label,
button.cm-button[name="select"] + label + label{
	border-right:1px solid var(--sidebar-header-bg);
}





body:not(.settings-complexity-advanced) .file-item [data-text='Save'],
body:not(.settings-complexity-advanced) .file-item [data-text='Save as...'],
body:not(.settings-complexity-advanced) button.cm-button[name="select"] + label + label{
	display:none;
}


body.settings-complexity-advanced button.cm-button[name="select"] + label,
body.settings-complexity-advanced button.cm-button[name="select"] + label + label,
body.settings-complexity-advanced button.cm-button[name="select"] + label + label + label{
	width: calc(33.33333% - 10.8px);
}


.ͼ1 .cm-panel.cm-search button[name="replace"]{
	margin-left:2px;
}


.ͼ1 .cm-panel.cm-search button[name="replace"],
.ͼ1 .cm-panel.cm-search button[name="replaceAll"]{
	width:calc(50% - 16px);
}



.ͼ1 .cm-panel.cm-search [name=close]{
	width:20px;
	height:20px;
	border-radius:10px;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size: 1.5rem;
	padding-top: 1px;
	top:10px;
	right:6px;
}
.ͼ1 .cm-panel.cm-search [name=close]:hover{
	background:var(--button-hover-bg);
}








/*  PLAYGROUND  */

.overlay-image-description-container{
	display:flex;
    height: 10%;
    flex-grow: 1;
}

.overlay-image-description:not(:empty){
	margin:2rem 0 2rem 2rem;
	opacity:.7;
	max-width:30rem;
	line-height:150%;
	background-color:var(--weak-semi-transparent-bg);
	padding:10px;
	border-radius:.5rem;
	/*max-height:80vh;*/
	overflow:auto;
	white-space: pre-wrap;
	min-height:100px;
}


.overlay-description-chunk{
	cursor:pointer;
	transition:all ease .2s;
	padding:5px;
	margin:5px 0;
	border-left:1px solid transparent;
}
.overlay-description-chunk:hover{
	background-color:var(--weak-semi-transparent-bg);
}

.highlighted-description-chunk{
	background-color:var(--weak-semi-transparent-bg);
	border-left:1px solid white;
}

.overlay-description-chunk-seconds{
	min-width:75px;
}
.overlay-description-chunk-text{
	color:var(--strongest-text-color);
	font-size:120%;
}

.overlay-description-context-buttons-container{
	margin:2rem 1rem 2rem 0;
	display:flex;
	flex-direction:column;
	justify-content:flex-end;
	position:relative;
	left:-8px;
}
.overlay-description-context-buttons-container > *,
.overlay-description-context-buttons-container .bubble-doc-button{
	transition:all ease .3s;
	opacity:.7;
}
.overlay-description-context-buttons-container > .bubble-doc-button{
	margin-bottom:15px
}

.overlay-description-context-buttons-container > *:hover{
	opacity:1;
}

.overlay-description-context-button{
	cursor:pointer;
}


.overlay-image-description:empty + .overlay-description-context-buttons-container{
	display:none;
}


/*  FULL SCREEN FULLSCREEN PLAYGROUND IMAGE VIEWER  */

#full-playground-header{
	height:50px;
	max-height:50px;
	width: 100vw;
	overflow:hidden;
	transition: all ease .3s;
	z-index:1000;
}

body:not(.viewing-image) #full-playground-header,
body:not(.full-playground-overlay) #full-playground-header{
	display:none;
	height:0;
	max-height:0;
	transition: all ease .3s;
}

body.viewing-image.full-playground-overlay #playground{
	flex-direction:column;
}

#close-full-playground{
	border-radius:0;
	font-size:1.5rem;
	padding:14px;
}
#close-full-playground img{
	opacity:.8;
}
#close-full-playground:hover img{
	opacity:1;
}


.viewing-image.full-playground-overlay #playground{
    position: fixed;
	/*
    top: 50%;
    left: 50%;
	transform: translateY(-50%) translateX(-50%);
	*/
	top:0;
	left:0;
	bottom:0;
	height:100%;
	/*
	height:-webkit-fill-available;
	*/
	width: 100vw;
	/*
	height:fill-available;
	*/
    z-index: 300;
    
	transition: all ease .01s;
	/*
	width: calc(100% - 6rem);
	max-width: calc(100% - 6rem);
	*/
}

.viewing-image.full-playground-overlay.sidebar #sidebars{
	border-right: 1px solid var(--thin-border-color);
}

.viewing-image.full-playground-overlay .FIE_topbar{
	padding: 5px 66px;
	height:50px;
}



/*   IMAGE EDITOR   */

#playground-overlay{
	padding:0;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	position: absolute;
	left:0;
}

body.fairytale #playground-overlay{
	transition:all ease 1s;
}

.image-context-buttons-container{
	margin-top:10px;
	margin-bottom:10px;
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	column-gap: 10px;
}

.FIE_topbar{
	background-color:var(--sidebar-header-bg);
	gap: 1px!important;
	border-radius:0!important;
	border-bottom:1px solid var(--thin-border-color)!important;
	flex-wrap:nowrap!important;
	align-items:center;
}

.FIE_topbar-center-options{
	height:auto!important;
}
.FIE_topbar-buttons-wrapper{
	flex-grow:0;
}
#playground-overlay .FIE_topbar-history-buttons{
	display:flex;
	flex-grow:1;
	justify-content:center;
	column-gap: 1px;
}

.eSPdgw{background-color:transparent}

.FIE_main-container{
	background-color:black;
	border: none;
}

#playground-overlay button.FIE_topbar-close-button{
	display:none;
}

#playground-overlay .FIE_tools-bar-wrapper{
	max-height:none;
	flex-shrink:0;
	justify-content:center;
	margin-top:5px;
}
#playground-overlay .FIE_tools-bar-wrapper .FIE_tools-bar{
	margin-top:5px;
}
#playground-overlay .FIE_tools-bar-wrapper .FIE_tools-bar > *{
	flex-grow:1;
}

#playground-overlay .FIE_tools-bar{
	flex-wrap:wrap;
}

.FIE_tools-items{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
}

.FIE_root{
	border-radius:0!important;
	background-color:transparent!important;
}

#SfxPopper .SfxMenuItem-wrapper,
#SfxPopper .SfxMenuItem-root,
#SfxPopper .FIE_root .SfxPopper-root .SfxMenu-root, 
#SfxPopper .SfxPopper-root .SfxMenu-root,
#SfxPopper .SfxPopper-root,
#SfxPopper .SfxMenuItem-wrapper{
	background-color:#111!important;
	color:#ddd!important;
}

#SfxPopper .SfxAccordionHeader-label,
#SfxPopper .SfxLabel-text{
	color:#ddd!important;
}


.FIE_save-file-name-input.SfxInput-root input{
	caret-color:black;
}

.bjWZoF{
	max-height:none!important;
}

.FIE_crop-tool{
	background-color:var(--button-bg)!important;
}
[data-phone="true"] .sc-dwg14p-1{
	background-color:var(--sidebar-header-bg)!important;
}

[data-phone="true"] .sc-qhd6ow-0{
	justify-content:center;
	background-color:#292929;
	margin-top:5px;
}

#playground-overlay .sc-etsyb6-0,
#playground-overlay .FIE_tabs_toggle_btn.SfxButton-root.SfxIconButton-root{
	display:none;
}

#playground-overlay .FIE_main-container{
	background-color:var(--sidebar-header-bg);
	display:flex;
	flex-direction:column;
}

#playground-overlay .FIE_canvas-container{
	height:100px;
}

#playground-overlay .SfxDrawer-body,
#playground-overlay .FIE_main-container > .FIE_tabs{
	display:flex;
	flex-direction:row;
	justify-content:space-around;
	height:auto!important;
	min-height:50px;
	box-shadow:none!important;
	background-color:transparent;
}

.SfxDrawer-temporary{
	background-color:var(--sidebar-header-bg);
}
.SfxDrawer-temporary,
.eVSTaX {
    position: initial!important;
    inset: auto!important;
    z-index: 1200;
    visibility:visible!important;
}

.SfxDrawer-header > .SfxButton-root,
.SfxDrawer-header{
	display:none!important;
}

#playground-overlay .SfxDrawer-list{
	display:flex;
	flex-direction:row;
	padding:0!important;
	margin:0!important;
}

.iIpprl:hover{
	background:transparent!important;
}

#playground-overlay .FIE_tabs-drawer.SfxDrawer-root{
	visibility:visible!important;
	display:flex;
	flex-direction:row;
	width:100%!important;
	transform: none!important;
	padding:0!important;
	box-shadow:none!important;
	background:transparent;
}

#playground-overlay .yGSXZ,
#playground-overlay .FIE_main-container > .FIE_editor-content{
	height: auto;
	width:100%;
}

#playground-overlay div[class$="-tool-button"]{
	background-color:var(--button-bg);
	color:#ddd;
}
#playground-overlay div[class$="-tool-button"]:hover{
	background-color:var(--button-hover-bg);
	color:#fff;
}


#playground-overlay .SfxLabel-text,
#playground-overlay div[class$="-tool-button"] .SfxLabel-text{
	color:var(--button-text-color);
}


#playground-overlay .FIE_tab > .FIE_tab-label > .SfxLabel-text{
	color:var(--button-text-color);
}

#playground-overlay div.FIE_topbar-center-options .SfxLabel-root > .SfxLabel-text{
	color:var(--text-color);
}


#playground-overlay .FIE_root :not(button) > svg:not([color]), 
#SfxPopper :not(button) > svg:not([color]){
	color:white;
	stroke:white;
}

#playground-overlay .FIE_tab{
	background-color:var(--button-bg);
	color:var(--text-color);
}
#playground-overlay .FIE_tab:hover{
	background-color:var(--button-hover-bg);
	color:var(--button-hover-color);
}

/*  ZIP FILE  */


.playground-overlay-title{
	margin-top:15px;
}

.zip-footer{
	padding:0 5px;
	display:flex;
	flex-grow:1;
}
.zip-footer > *{
	margin:10px 5px;
}

#playground-overlay .zip-footer button{
	padding: 10px 15px;
	flex-grow: 1;
	height: 36px;
	box-sizing: border-box;
}


.viewing-image #document-form-container,
.image-editor #document-form-container,
.zip-file #document-form-container,
#assistant-speaker .participant-speaker .bubble-doc-button,
#assistant-developer #message-content-container .bubble-doc-button,
#assistant-imager .participant-imager .bubble-doc-button{
	display:none;
}



/*   PLAYGROUND OVERLAY AUDIO / VIDEO PLAYER  */

.playground-overlay-media-container{
	width:100%;
	padding:15px;
	max-height:60%;
	display:flex;
	flex-direction:column;
}

.playground-overlay-media-container button{
	margin:4px;
}


/*  DOCUMENT FOOTER  */

#stop-play-document-button{
	min-width:36px;
	width:36px;
	max-width:36px;
	padding:0;
}

body:not(.playing-document):not(.doing-blueprint) #stop-play-document-button{
	display:none;
	max-width:0;
	max-height:0;
	padding:0;
	margin:0;
	overflow:hidden;
}

#camera-ocr-scan-button,
#camera-image_to_text-describe-button{
	display:flex;
	align-items:center;
}
#camera-image_to_text-describe-button .img-icon{
	border-radius:50%;
	overflow:hidden;
}


body.doing-translation #live-translation-output,
body.doing-image-to-text #live-image_to_text-output,
body.doing-image-to-text #camera-image_to_text-describe-button,
body.doing-image-to-text #camera-image_to_text-scan-progress,
body.doing-ocr-scan #camera-ocr-scan-button,
body.doing-ocr-scan #live-ocr-output,
body.speaking-out-loud.playing-document #speak-selection-button,
body.speaking-out-loud.playing-document #stop-play-document-button,
body.doing-blueprint #stop-play-document-button{
    background-size: 200% 200%;
	background-image:none;
	background-image: linear-gradient(-90deg,
            rgba(59, 173, 227, .5) 0%,
            rgba(87, 111, 230, 1) 50%,
            rgba(152, 68, 183, .5) 51%,
            rgba(59, 173, 227, 1) 100%);
    animation: bg-sweep-to-right 1s ease infinite;
	/*transform:scale(1);*/
}



#download-all-files-button{
	padding: 5px 10px 5px 7px;
}
#download-all-files-button:hover{
	color:var(--button-text-color);
}
.file-manager-button{
	font-size:90%;
	color:var(--light-text-color);
}


#download-document-button{
    background-image: url(../images/download.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 50%;
    transition: all ease .3s;
	width:36px;
	position:relative;
}
#download-document-button:hover{
	background-size: 70%;
	transition: all ease .3s;
}

#download-document-button .context{
	max-width:100px!important;
	left:auto!important;
	right: 36px!important;
	min-width: 100px;
	position:absolute;
}

#download-document-button .context{
	padding:0;
	border:none;
}

#download-document-button .context .item{
	border-bottom: 1px solid #555;
}
#download-document-button .context .item:last-of-type{
	background-color:red;
}

#download-document-button .context .item .label{
	display:flex;
	align-items:center;
	justify-content:center;
}
#download-document-button .context .item .label img{
	margin-right:5px;
}

#download-document-button .context .separator{
	border-top: 1px solid #666;
	display:none;
}




#import-settings-backup-button,
#download-document-button,
body.playing-document #stop-play-document-button,
body.blueprint:not(.doing-blueprint):not(.playing-document) #play-document-button,
body.javascript-document #play-document-button,
body.subtitle-document-has-origin-file #play-document-button,
body:not(.playing-document):not(.blueprint):not(.doing-blueprint):not(.javascript-document):not(.unknown-language):not(.doc-empty).speaking-out-loud #audio-play-document-button,
body:not(.playing-document):not(.blueprint):not(.doing-blueprint):not(.javascript-document):not(.unknown-language):not(.doc-empty).settings-complexity-advanced #audio-play-document-button,
body.settings-complexity-advanced #save-document-button{
	transition: max-width ease .3s;
	max-height:280px;
	min-height:36px;
	width:36px;
	max-width:36px;
	padding:0;
	margin:5px;
}
#import-settings-backup-button{
	width:77px;
	max-width:159px;
}

.download-button{
    width: 36px;
	min-height:36px;
    font-size: 0;
    border-radius: 5px;
    background-color: var(--button-bg);
    overflow: hidden;
    background-image: url(../images/download.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 40%;
    transition: all ease .3s;
}
.download-button:hover{
	background-size: 50%;
	transition: all ease .3s;
}


.document-footer-buttons-wrapper{
	display:flex;
	flex-wrap:wrap;
}

body:not(.coder) #code-tools-buttons-container{
	display:none;
}

#code-tools-buttons-container > *{
	max-width:50px;
}
#beautify-button{
	width:36px;
	max-width:36px;
}
body:not(.javascript-document):not(.json-document):not(.coder):not(.php-document):not(.python-document) #beautify-button{
	display:none;
}


#undo-redo-buttons-container{
	margin-left:5px;
}


.document-footer-buttons-wrapper > button,
.document-footer-buttons-wrapper > *{
	margin:5px;
	/*padding:10px;*/
	flex-grow:1;
	max-width:1000px;
	max-height:200px;
	transition: max-width ease .2s, max-height ease .5s;
}

.document-footer-buttons-wrapper > *:hover > .unicode-icon,
.document-footer-buttons-wrapper > *:hover > .svg-icon{
	transition: all ease .3s;
}

.document-footer-buttons-wrapper > *:hover > .unicode-icon,
.document-footer-buttons-wrapper > *:hover > .svg-icon{
	transform:scale(1.25);
	transition: all ease .3s;
}

#audio-play-document-button,
#quick-diff-button{
	max-width:36px;
}

body:not(.developer) #quick-diff-button{
	display:none;
}


#audio-play-document-button{
	padding:0;
}

#audio-play-document-button, /* body:not(.doc-has-text)  */
#play-document-button{
	max-width:0;
	max-height:0;
	margin:0;
	padding:0;
	transition: max-width ease .2s, max-height ease .5s;
	overflow:hidden;
}


.coder #rewrite-dialog-content-toggles-and-tags-container,
.coder #audio-play-document-button,
.coder #summarize-details,
.coder #translation-details,
.coder #proofread-document-button,
.coder #proofread-selection-button,
.coder #translate-selection-button,
.coder #summarize-selection-button,
.coder #speak-selection-button,
.coder #document-summarize-button,
.coder #document-translate-button,
.coder:not(.javascript-document) #play-document-button{
	display:none!important;
}

.coder #rewrite-prompt{
	height:10rem;
}


#line-bookmark-button{
	/*width:50px;
	padding:.5rem 0;*/
	overflow:hidden;
	text-align:center;
}

.viewing-image #submit-prompt-at-line-button,
.viewing-image #document-form-container{
	display:none;
}



.undo-redo-button{
	font-size:1.5rem;
	padding: 0 0.5rem;
	max-width:5rem;
	transition: max-width ease .2s;
	display:flex;
	align-items:center;
	justify-content:center;
}

#redo-document-button{
	transform:scaleX(-1);
}

body:not(.multiple-tabs) #line-bookmark-button,
body:not(.viewing-settings-file) #import-settings-backup-button,
body.show-document:not(.doc-has-text) #download-document-button,
/*body.unknown-language #document-summarize-button,
body.unknown-language #document-continue-button,
body.unknown-language #document-translate-button,*/
body.coder #document-summarize-button,
body.coder #document-translate-button,
body:not(.coder):not(.blueprint).unknown-language #play-document-button,
body:not(.blueprint):not(.javascript-document):not(.subtitle-document):not(.subtitle-document-has-origin-file) #play-document-button,
body:not(.can-undo):not(.can-redo) #undo-redo-buttons-container,
body.show-document:not(.doc-is-long) #document-summarize-button,
body.show-document:not(.doc-has-text) #document-proofread-button,
body.show-document:not(.doc-has-text) #document-continue-button,
body.show-document:not(.doc-has-text) #document-translate-button,
body.show-document:not(.doc-has-text) #play-document-button,
body.playing-document #play-document-button,
body:not(.playing-document):not(.doing-blueprint):not(.javascript-document) #stop-play-document-button,
body:not(.current-modified) #save-document-button{
	transition: max-width ease .2s, max-height ease .2s;
	min-height:0!important;
	min-width:0!important;
	width:0!important;
	height:0!important;
	max-width:0!important;
	max-height:0!important;
    padding:0!important;
	margin:0!important;
    overflow: hidden;
}

body:not(.blueprint):not(.javascript-document).subtitle-document-has-origin-file #play-document-button{
	width:82px;
	min-width:82px;
}

body:not(.blueprint):not(.javascript-document).subtitle-document-has-origin-file.current-modified #play-document-button{
	background-color: var(--green-bg);
}










/*  RIGHT BAR  */

#right-bar{
	margin-top:50px;
	height:calc(100vh - 50px);
	display:none;
}

body:not(.coder) #right-bar{
	display:none;
}

#right-bar button{
	padding:2px;
}



/*  DIALOG  */

dialog {
	margin:auto;
	background-color:var(--sidebar-bg);
	border-radius:.5rem;
	border: none !important;
	max-width: 90vw;
}
dialog::backdrop {
  background: repeating-linear-gradient(
    45deg,
    rgba(0, 0, 0, 0.2),
    rgba(0, 0, 0, 0.2) 1px,
    rgba(0, 0, 0, 0.3) 1px,
    rgba(0, 0, 0, 0.3) 20px
  );
  backdrop-filter: blur(3px);
}

dialog > .prevent-propagation{
	padding: 2rem;
	position:relative;
}


dialog > h3{
	margin-bottom:2rem;
}

#ask-for-url-dialog button:not(:first-of-type){
	margin-left:10px;
}

#ask-for-url-dialog-input{
	min-height:100px;
}
#download-preview-container{
	width:100%;
}
#ask-for-url-dialog-iframe{
	height:200px;
	width:100%;
	max-height:200px;
	max-width:100%;
	border-radius:5px;
	border:1px solid black;
	background-color:transparent;
}

#ask-for-url-dialog-action-button-container:not(:empty){
	padding-left:10px;
}


dialog form{
	margin-top:1rem;
	padding-top:.5rem;
	border-top:1px solid var(--thin-border-color);
}





/*  TOOLS  */

#tools{
	background-color:var(--chat-footer-bg);
	z-index:12;
	flex-grow:1;
}

body.show-rewrite #tools{
	flex-grow: 1000;
	max-height:calc(100% - 50px);
}

body.show-rewrite #image-to-text-prompt-settings-container-wrapper{
	display:none;
}

body:not(.show-document) #tools-rewrite-container{
	display:none;
}

#yet-another-tools-wrapper{
    height: 100%;
    min-height: 100%;
    max-height: 100%;
    overflow: auto;
}

body.show-camera #yet-another-tools-wrapper{
    height: 100%;
    min-height: 100%;
    max-height: 100%;
    overflow: auto;
}

body:not(.chat-shrink)#assistant-translator #yet-another-tools-wrapper{
	height:auto;
	max-height:10000px;
	min-height:auto;
}
body:not(.chat-shrink).show-rewrite#assistant-translator #yet-another-tools-wrapper{
	padding-bottom:10rem;
}
body#assistant-translator:not(.show-rewrite) #tools{
	flex-grow:0;
}


#tools-content{
    width: 100%;
    display: flex;
    flex-direction: column;
}

#tools-content > div{
	position:relative;
}

#tools-header{
	position:relative;
	z-index:1;
}



#close-tools-button{
	border-radius:0;
	background-color:var(--weak-semi-transparent-bg);
	background-color:transparent;
	top:0;
	right:0;
	width:50px;
	height:50px;
	margin-bottom:15px;
	flex-shrink:0;
	font-size: 1.5rem;
}
.grey-button{
	background-color:var(--weak-semi-transparent-bg);
}
.grey-button:hover,
.grey-button:hover > span,
#close-tools-button:hover{
	background-color:var(--button-hover-bg);
	color:var(--button-hover-color);
}
.grey-button img{
	transition:all ease .3s;
}
.grey-button:hover img{
	transform:scale(1.2);
	transition:all ease .3s;
}

#close-tools-button > span{
	color:var(--text-color);
}
#close-tools-button:hover > span{
	color:var(--button-hover-color);
}


body:not(#assistant-translator) #rewrite-dialog{
	padding-bottom:100px;
}


#rewrite-sidebar-title{
	text-align:center;
}


#dialog-rewrite-submit-prompt-button{
	display:flex;
}


#dialog-rewrite-submit-prompt-lucky-button{
	display:flex;
	flex-direction: column;
	align-items:center;
}
#dialog-rewrite-submit-prompt-lucky-button span{
	font-size:90%;
	color:var(--button-text-color);
	display:inline-block;
	margin-bottom:5px;
}

.tools-details{
    background-color: rgba(0,0,0,.1);
	border-radius:5px;
	margin: 5px 13px;
}


.tools-details summary{
	background-color: var(--button-bg);
	border-radius: 5px;
	padding:10px 15px;
	cursor:pointer;
	text-align:left;
}

.tools-details summary .unicode-icon,
.tools-details summary .svg-icon{
	margin-right:5px;
}

.tools-details[open] > summary{
	position:relative;
}

.tools-details[open] > summary:hover{
	background-color: var(--button-hover-bg);
	
}
.tools-details[open] > summary:hover:after{
	transform:scale(1.2);
	opacity:1;
}


.tools-details[open]{
	background-color:var(--weak-semi-transparent-bg);
	padding-bottom: 10px;
}

.details-content{
	padding:10px;
}


#proofread-details,
#summarize-details{
	margin-bottom:10px;
}



/*  PROOFREAD   */

#proofread-prompt:focus{
	height:9rem;
}


.proofread-item{
	padding:10px;
	margin:5px 0;
}

.proofread-sentences-duo{
	cursor:pointer;
}

.proofread-sentence-before .proofread-item-chunk:not(.proofread-item-chunk-mid){
	opacity:.6;
}

.proofread-item-chunk-mid{
	/*text-decoration:underline;*/
	font-weight:bold;
}

.proofread-sentence-before .proofread-item-chunk-mid:not(.proofread-space){
	color:red;
}
.proofread-sentence-before .proofread-item-chunk-mid.proofread-space{
	background-color:red;
}
.proofread-sentence-after .proofread-item-chunk-mid:not(.proofread-space){
    color: #6bfd6b;
    /* background-color: rgba(0, 64, 0, 1); */
    /* display: inline-block; */
    padding: 0 .5px;
}
.proofread-sentence-after .proofread-item-chunk-mid.proofread-space{
	background-color:#6bfd6b;
}

 .proofread-item-chunk-mid.proofread-space:not(:empty){
 	display:inline-block;
 	min-width:5px;
 }
 
.proofread-item-button-container{
	min-width:50px;
	min-height:50px;
	border-radius:.5rem;
	cursor:pointer;
	margin-left:10px;
	background-color:var(--weak-semi-transparent-bg);
}

.proofread-accept-all-button-container{
	display:flex;
	align-items:center;
	padding:10px 15px;
	margin:10px 5px;
	border-radius:.5rem;
	background-color:var(--weak-semi-transparent-bg);
	margin-right:10px;
	cursor:pointer;
}

.proofread-accept-all-button-container:hover,
.proofread-item-button-container:hover{
	background-color:var(--button-hover-bg);
}

.proofread-item-accept-button-icon{
	margin-left:5px;
}

.item-reject-button{
	-webkit-filter: grayscale(100%);
    -moz-filter:    grayscale(100%);
    -ms-filter:     grayscale(100%);
    -o-filter:      grayscale(100%);
    filter: gray; 
}

body:not(.developer) .rewrite-result-details-proofread .rewrite-result-container,
body:not(.developer) .rewrite-result-details-proofread .rewrite-result-select-button{
	display:none;
}

#proofread-auto-detected-language:not(:empty):before{
	content:' (';
}
#proofread-auto-detected-language:not(:empty):after{
	content:')';
}




#proofread-details:not([open]) + #summarize-details:not([open]) + #rewrite-details:not([open]) + div + #translation-details:not([open]) + #tools-submit-form-container{
	display:none;
}


#summarize-details:not([open]) + #rewrite-details:not([open]) ~ #tools-submit-form-container #dialog-rewrite-4x-submit-prompt-button,
#summarize-details:not([open]) + #rewrite-details:not([open]) ~ #tools-submit-form-container #dialog-rewrite-2x-submit-prompt-button{
	display:none;
}

#summarize-details:not([open]) + #rewrite-details:not([open]) ~ #tools-submit-form-container #dialog-rewrite-submit-prompt-button{
	min-width:93px;
}

#proofread-details:not([open]) + #summarize-details:not([open]) + #rewrite-details:not([open]) ~ #translation-details:not([open]) ~ #tools-submit-form-container {
	display:none;
}

#proofread-details[open] ~ #rewrite-details[open] ~ #tools-submit-form-container #submit-multi-commands-buttons-wrapper,
#proofread-details[open] ~ #summarize-details[open] ~ #tools-submit-form-container #submit-multi-commands-buttons-wrapper,
#proofread-details[open] ~ #translation-details[open] ~ #tools-submit-form-container #submit-multi-commands-buttons-wrapper{
	display:none;
}


#proofread-details[open] ~ #rewrite-details[open] summary .h3:before,
body:not(.prepare-summarize-document) #proofread-details[open] ~ #summarize-details[open] summary .h3:before,
#proofread-details[open] ~ #translation-details[open] summary .h3:before,
.doing-ocr #translation-details[open] summary .h3:before,
#summarize-details[open] + #rewrite-details[open] summary .h3:before,
#summarize-details[open] ~ #translation-details[open] summary .h3:before,
#rewrite-details[open] ~ #translation-details[open] summary .h3:before,
body#assistant-translator.show-camera #translation-details[open] summary .h3:before{
	content:'+';
	margin-right:15px;
}

#summarize-prompt,
#rewrite-prompt{
	margin: .5rem 0;
}
#rewrite-prompt,
#summarize-prompt{
	height:6.5rem;
}

#rewrite-details:not([open]) + #rewrite-dialog-content-container > #rewrite-prompt{
	display:none;
}

#tools-rewrite-container{
	overflow:hidden;
}

body:not(#assistant-translator):not(.show-rewrite):not(.show-camera) #tools,
body:not(#assistant-translator):not(.show-rewrite):not(.show-rewrite-results) #tools-rewrite-container{
	display:none!important;
}

body:not(#assistant-translator).show-rewrite #doc-selection-hint,
body:not(#assistant-translator):not(.show-rewrite) #rewrite-dialog{
	display:none;
}



body#assistant-translator #rewrite-dialog{
	background-color: var(--chat-footer-bg);
	/*border-bottom:1px solid var(--thin-border-color);*/
	border-top-left-radius:5px;
	border-top-right-radius:5px;
}


body#assistant-translator #message-form-resize-handle{
	border-radius:0;
}

body:not(.show-rewrite)#assistant-translator #tools-header,
body:not(.show-rewrite)#assistant-translator #close-tools-button,
body:not(.show-rewrite)#assistant-translator #proofread-details,
body:not(.show-rewrite)#assistant-translator #summarize-details,
body:not(.show-rewrite)#assistant-translator #rewrite-dialog-selected-text-container,
body:not(.show-rewrite)#assistant-translator:not(.show-camera) #translation-details summary,
body:not(.show-rewrite)#assistant-translator #rewrite-details,
body:not(.show-rewrite)#assistant-translator #tools-submit-form-container{
	display:none;
}

body:not(.show-rewrite)#assistant-translator #translation-details{
	margin-top:10px;
	padding-bottom:0;
}




body#assistant-translator.show-camera #tools{
	display: grid;
	height: calc(100% - 50px);
	position: relative;
	max-height: calc(100% - 50px);
}

body:not(.chat-chrink)#assistant-translator #tools-rewrite-container{
	display:flex;
	flex-direction:column-reverse;
}

body#assistant-translator #tools-rewrite-container #rewrite-dialog{
	pointer-events:auto;
}

#rewrite-dialog-header-wrapper{
	display:none;
	width:0;
	overflow:visible;
	margin:0 auto;
}

#rewrite-dialog-header{
	color:white;
	min-height:50px;
	padding:5px;
	width:100%;
	display:flex;
	align-items:center;
	justify-content:center;
	border-bottom: 1px solid var(--thin-border-color);
}

#rewrite-dialog-content-container{
	display:flex;
	flex-direction:column;
}

#rewrite-dialog-content-container #rewrite-prompt{
	min-height:5rem;
	margin-top:10px;
}

#rewrite-dialog-content-container textarea{
	width:100%; /*!important*/
	min-height:4rem;
}


#rewrite-dialog-selected-text-container{
	position:relative;
	height:auto;
	overflow:hidden;
	margin:0 13px;
	width:calc(100% - 26px);
	border-radius:5px;
}
body.show-rewrite:not(.show-camera) #rewrite-dialog-selected-text-container{
	min-height:50px;
	
}

#rewrite-dialog-selected-text{
    opacity: .9;
    background-image: linear-gradient(to bottom, #3d78a740 50%, #03a9f414 50%);
    background-size: 100% 30px;
	height:auto;
    font-family: inherit;
    line-height: inherit;
    padding: 1rem;
	white-space: pre-wrap;
	font-style:italic;
	line-height:140%;
	margin-top:10px;
	margin-bottom:15px;
	overflow:auto;
	max-height:10rem;
	font-size:90%;
	-webkit-mask-image: linear-gradient(180deg, white, rgba(0, 0, 0, 0));
}
#rewrite-dialog-selected-text:empty{
	display:none;
}

#rewrite-dialog-selected-text-overlay{
	position:absolute;
	bottom:15px;
	height:50%;
	width:100%;
	pointer-events:none;
	-webkit-mask-image: linear-gradient(
	    180deg,
	    white,
	    rgba(0, 0, 0, 0)
	);
}


/*  REWRITE RESULT DETAILS ELEMENT  */

.rewrite-result-details{
	margin:2px 15px;
	width:calc(100% - 30px);
}

.rewrite-result-details-summarize,
.rag-progress-container,
.rewrite-result-details.in-progress:not(.completed) summary{
    background-size: 250% 250%;
	background-image: linear-gradient(-90deg,
            rgba(59, 173, 227, .5) 0%,
			rgba(59, 173, 227, .5) 42%,
            rgba(87, 111, 230, .5) 50%,
            rgba(152, 68, 183, .5) 51%,
			rgba(59, 173, 227, .5) 56%,
            rgba(59, 173, 227, .5) 100%);
    animation: bg-sweep-to-right 2s linear infinite;
}
.rewrite-result-details-summarize{
	animation: bg-sweep-to-right 4s linear infinite;
}

.rewrite-result-details-summarize .rewrite-result-textarea-container{
	display:none;
}



.rewrite-result-details.rewrite-result-complete summary .rewrite-results-count-wrapper,
.rewrite-result-details.completed summary .rewrite-results-count-wrapper{
	display:none;
}

.rewrite-result-details.rewrite-result-complete summary .rewrite-result-summary-faux-button:after,
.rewrite-result-details.completed summary .rewrite-result-summary-faux-button:after{
	content:'✓'; // ✅
	display:inline-block;
    height: 100%;
    display: flex;
    align-items: center;
}

.rewrite-result-details.rewrite-result-failed summary .rewrite-result-summary-faux-button:after{
	content:'💥';
	display:inline-block;
    height: 100%;
    display: flex;
    align-items: center;
}



.rewrite-result-summary{
	position:relative;
}

.rewrite-result-details:not([open]) .rewrite-result-summary{
	background-color:rgba(255,255,255,.2);
	border-radius:5px;
	overflow:hidden;
	cursor:pointer;
}
details.rewrite-result-details.rewrite-result-complete:not([open]) .rewrite-result-summary:hover .rewrite-result-summary-faux-button{
	background-color:var(--button-hover-bg);
}
.rewrite-result-summary-faux-button:hover{
	background-color:var(--button-hover-bg);
}


.rewrite-result-details .rewrite-result-summary > *:not(:empty){
	padding:5px 10px;
}

.rewrite-result-details[open]{
	margin:2px 2px 15px 2px;
	width:calc(100% - 4px);
	background-color:rgba(255,255,255,.1);
}

.rewrite-result-output-snippet{
	text-align:right;
	overflow: hidden;
	white-space: nowrap;
}
.rewrite-result-output-snippet > div{
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;	
	direction: rtl;
}


body:not(.developer) .rewrite-result-details[open] .rewrite-result-text-snippet,
body:not(.developer) .rewrite-result-details:not(.rewrite-result-details-proofread)[open] .rewrite-result-output-snippet,
body:not(.developer) .rewrite-result-details.rewrite-result-details-proofread.completed[open] .rewrite-result-output-snippet{
	display:none;
}

.rewrite-result-summary-faux-button{
	background-color:rgba(255,255,255,.2);
	border-radius:5px;
	overflow:hidden;
	padding:5px;
	cursor:pointer;
}

details.rewrite-result-complete .rewrite-result-summary-faux-button:hover{
	background-color:var(--button-hover-bg);
	color:var(--button-hover-color);
}

details.rewrite-result-complete .rewrite-result-summary-faux-button{
	background-color:var(--button-bg);
	color:var(--button-text-color);
}

.rewrite-result-text:focus{
	background-color:var(--body-weaker-bg);
}

.rewrite-result-text-snippet{
	font-style:italic;
	opacity:.6;
	
}

.rewrite-result-delete-button{
	display:flex;
	align-items:center;
	justify-content:center;
	border-radius:.5rem;
	padding:8px;
	
	cursor:pointer;
	margin:8px 10px;
	background-color:var(--weak-semi-transparent-bg);
}
.rewrite-result-delete-button:hover{
	background-color:var(--button-hover-bg);
}

.rewrite-result-delete-button:hover > span{
	transform:scale(1.2);
}

.ellipsis{
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;	
}
.rtl{
	direction: rtl;
}

.rewrite-result-details.rewrite-result-complete .rewrite-result-summary-faux-button{
	padding:10px;
}


.rewrite-result-differences-button{
	display:none;
}

.rewrite-result-details textarea:focus{
	min-height:10rem;
}


.rewrite-result-delete-container{
	display:flex;
	justify-content:space-between;
	align-items:center;
	border-top: 1px solid var(--weak-semi-transparent-bg);
}



/*  SUMMARIZE DETAILS  */

/*.prepare-summarize-document #rewrite-dialog-selected-text-container,*/
.prepare-summarize-document #proofread-details,
.prepare-summarize-document #rewrite-details,
.prepare-summarize-document #translation-details,
.prepare-summarize-document #tools-submit-form-container{
	display:none;
}

.prepare-summarize-document #summarize-details{
	margin-top:15px;
}



/*  TRANSLATION  TRANSLATE   */

#translation-dialog-title img,
#translate-document-dialog-title img,
#translate-selection-button img{
	vertical-align: middle;
	height: 20px;
}

#translation-flip-languages-button-container{
	width:0;
	max-width:0;
	overflow:hidden;
	display:flex;
	justify-content:center;
	align-items: flex-end;
}

#translation-flip-languages-button{
	width:36px;
	height:36px;
	background-color:var(--weak-semi-transparent-bg);
	background-image:url('../images/flip_arrows.svg');
	background-position:center;
	background-repeat:no-repeat;
	background-size:60%;
	border-radius:5px;
	margin:0 10px 2px 10px;
	cursor:pointer;
	transition: all ease .3s;
}
#translation-flip-languages-button:hover{
	background-color:var(--button-hover-bg);
	background-size:80%;
}


body.reversable-languages #translation-flip-languages-button-container{
	width:56px;
	max-width:56px;
}

#pane-content-scribe-status .message-status1{
	display:none;
}

#translation-details .flex-vertical{
	width: calc(50% - 10px);
}

#translation-details .small-dropdown{
	width:100%;
	max-width:100%;
}

.small-dropdown-label{
	margin:5px 5px 5px 0;
	display:inline-block;
	font-size: 13px;
    line-height: 16px;
    opacity: .7;
    transition: all ease .3s;
    font-weight: 400;
    letter-spacing: .3px;
}


.small-dropdown{
	background-color:var(--dropdown-bg);
	border-radius:5px;
	padding:10px;
	padding-right:30px;
	/*font-weight:bold;*/
	max-width:6rem;
}
.light .small-dropdown{
	color:var(--button-text-color);
}


#translation-auto-detect-language-container{
	margin-top:5px;
}

.checkbox-setting-container{
	padding:3px;
}
.checkbox-setting-container input{
	margin-right:0.5rem;
	transform:scale(1.3);
}



/*  DOCUMENT TRANSLATION - NEW FILE NAME  */

#summarize-new-file-container,
#translation-new-file-container{
	display:none;
	position:relative;
	margin:15px 0;
	padding:15px;
	border-radius:5px;
	background-color:rgba(255,255,255,.1);
}

.prepare-summarize-document #summarize-new-file-container,
.prepare-translate-document #translation-new-file-container{
	display:block;
}

.small-corner-close-button{
	position: absolute;
    top: 0;
    right: 0;
    height: 25px;
	width: 25px;
	display:flex;
	align-items:center;
	justify-content:center;
	cursor:pointer;
}
.small-corner-close-button:hover{
	background-color:var(--button-hover-bg);
	color:var(--button-hover-color);
}

.circular-corner-close-button{
	width:50px;
	height:50px;
	display:flex;
	align-items:center;
	justify-content:center;
	background-color:transparent;
	cursor:pointer;
}
.circular-corner-close-button > div{
	width:30px;
	min-width:30px;
	height:30px;
	min-height:30px;
	border-radius:50%;
	background-color:var(--button-bg);
	color:var(--button-color);
}

.circular-corner-close-button:hover > div{
	background-color:var(--button-hover-bg);
	color:var(--button-hover-color);
	
}

.circular-corner-close-button > div > span{
	display: inline-block;
	height:3px;
	line-height:0;
}


#summarize-document-dialog-title,
#translate-document-dialog-title{
	display:none;
}
body.prepare-summarize-document #summarize-document-dialog-title,
body.prepare-translate-document #translate-document-dialog-title{
	display:block;
}
body.prepare-translate-document #proofread-details,
body.prepare-summarize-document #summarize-dialog-title,
body.prepare-translate-document #summarize-details,
body.prepare-translate-document #translation-dialog-title{
	display:none;
}

#summarize-new-file-name-container,
#translation-new-file-name-container{
	flex-grow:1;
}

.simple-text-input{
	width:100%;
	padding:.5rem;
	border-radius:5px;
	background-color: var(--input-bg);
	font-family: inherit;
}
.simple-text-input:focus{
	background-color: var(--input-focus-bg);
}

#summarize-save-as-new-file-button,
#translation-save-as-new-file-button{
	max-height:40px;
	margin-left:5px;
	padding:5px;
}

#summarize-save-as-new-file-button > img,
#translation-save-as-new-file-button > img{
	max-height:100%;
	height:30px;
}

#undo-document-button,
#redo-document-button{
	max-width:50px;
}

#undo-document-button > span,
#redo-document-button > span{
	line-height:0;
	transform:scale(1.3);
}
#undo-document-button:hover > span,
#redo-document-button:hover > span{
	transform:scale(1.5);
}

body:not(.can-undo) #undo-document-button,
body:not(.can-redo) #redo-document-button{
	opacity:.3;
	pointer-events:none;
}
body.can-undo #undo-document-button,
body.can-redo #redo-document-button,
body.can-undo:not(.can-redo) #redo-document-button,
body.can-redo:not(.can-undo) #undo-document-button{
	min-height:36px;
}

.prepare-translate-document #tools-submit-form-container,
.prepare-translate-document #rewrite-details{
	display:none;
}

/*  SUBMIT REWRITE  */

.submit-multi-commands-buttons-wrapper{
	display:flex;
	align-items:center;
	justify-content:flex-end;
}

.submit-multi-commands-buttons-wrapper > div{
	background-color:var(--button-bg);
	height:75px;
	padding:5px 10px;
	border-radius:5px;
	display:flex;
	align-items:center;
	justify-content:center;
	cursor:pointer;
}
.submit-multi-commands-buttons-wrapper > div:hover{
	background-color:var(--button-hover-bg);
}
.submit-multi-commands-buttons-wrapper > div:hover img{
	transform:scale(1.1);
	transition:all ease .3s;
}
.submit-multi-commands-buttons-wrapper > div img{
	transition:all ease .3s;
	max-width:40px;
}


#tools-submit-form-container{
	padding:10px 15px;
}


.multi-submit-button,
#dialog-rewrite-2x-submit-prompt-button,
#dialog-rewrite-4x-submit-prompt-button{
	display:flex;
	flex-direction:column;
	margin-right:10px;
}

.multi-submit-button img,
#dialog-rewrite-2x-submit-prompt-button img,
#dialog-rewrite-4x-submit-prompt-button img{
	width:25px;
	height:25px;
}

.multi-submit-button > div,
#dialog-rewrite-x4-submit-prompt-button > div{
	height:25px;
}


.simple-input-label{
	display:inline-block;
	margin:5px 0;
	font-size: .9rem;
}



.fixed-hint{
	z-index:1000;
	background-color:var(--median-bg);
}



.hint-area{
	display:none;
	background-color:rgba(255,255,255,.2);
	margin:15px;
	padding:10px;
	border-radius:5px;
	padding-left:35px;
	position:relative;
	white-space:pre-wrap;
	line-height:140%;
}


.hint-area:before{
	content:'ℹ️';
	position:absolute;
	top:10px;
	left:10px;
}


.details-content .hint-area{
	display:block;
	width:calc(100% - 25px);
	margin:15px 0;
	font-size:85%;
}



/*   REWRITE RESULTS PICKER   */

#rewrite-results-dialog{
	width:100%;
	max-width:100vw;
	padding:0;
}


#rewrite-results-dialog-content-container:not(:empty){
	border-top:1px solid var(--thin-border-color);
	padding-top:15px;
	padding-bottom:10rem;
}


body:not(.show-rewrite) #rewrite-results-dialog{
	display:none;
}


.rewrite-result-textarea-container{
	width:100%;
	flex-grow:1;
	position:relative;
	overflow:auto;
}
#rewrite-results-dialog textarea{
	width:100%;
	background-color:rgba(0,0,0,.1);
	padding:1rem;
	padding-right:50px;
	border-radius:.5rem;
	border:none;
	line-height:150%;
	white-space:pre-wrap;
	height:10rem;
}

#rewrite-results-dialog #rewrite-results-dialog-original-text-container,
.rewrite-results-dialog-content-container{
	width:100%;
}


#rewrite-results-dialog #rewrite-results-dialog-original-text-container textarea{
	background-color:rgba(0,0,0,.2);
}

.rewrite-result-textarea-overlay{
	position:absolute;
	top:0;
	width:100%;
	height:100%;
	white-space:pre-wrap;
	padding:1rem;
	line-height:150%;
	pointer-events:none;
}



.rewrite-results-dialog-content-container:not(:empty){
	display:flex;
	flex-direction:column;
	height:100%;
}
.rewrite-results-dialog-content-container > div{
	padding:2rem 5px;
	flex-grow:1;
	box-sizing:border-box;
}


#rewrite-results-dialog #rewrite-results-dialog-original-text-container{
	width:30vw;
	min-width:300px;
	padding:3rem 2rem;
	flex-grow:1;
	border-right:1px solid var(--median-bg);
	display:flex;
	flex-direction:column;
	background-color: #777;
}


#rewrite-results-dialog-creations-container{
	display:flex;
	overflow-x:auto;
	height:100%;
}
#rewrite-results-dialog-creations-container > div{
	min-width:300px;
	height:100%;
	box-sizing:border-box;
	padding:1rem 2rem;
	width:30vw;
}
#rewrite-results-dialog-creations-container > div:not(:first-of-type){
	border-left:1px solid var(--median-bg);
}

.rewrite-result-header-original,
.rewrite-result-header{
	display:none;
}

.rewrite-result-header-of{
	font-size:80%;
	opacity:.3;
	margin-left:3px;
}

.rewrite-result-container{
	display:flex;
	flex-direction:column;
	position:relative;
}

.rewrite-result-footer{
	text-align:right;
	position:absolute;
	right:10px;
	top:10px;
	
}
.rewrite-result-footer > button{
	opacity:.6;
}
.rewrite-result-footer > button:hover{
	opacity:1;
}

#rewrite-results-dialog-original-text-footer{
	padding:.5rem 0;
}


#rewrite-status-progress:not([value]) {
	display:none;
}

.rewrite-result-select-button{
	
}

.rewrite-results-dialog-original-text-container{
	display:none;
}


#rewrite-results-ready-container{
	width:50px;
	height:48px;
	display:none;
	align-items:center;
	justify-content:center;
	position:absolute;
}
#rewrite-results-ready-hint{
	position:relative;
	width: 16px;
    height: 16px;
    left: 5px;
    bottom: -10px;
    border-radius: 18px;
    background-color: rgba(64, 255, 64, .5);
	cursor:pointer;
}

#rewrite-results-ready-hint:hover{
	background-color:var(--button-hover-bg);
}

#rewrite-results-ready-counter{
	position:absolute;
	right:0;
	top:0;
	width:16px;
	height:16px;
	border-radius:8px;
	display:flex;
	align-items:center;
	justify-content:center;
	background-color:rgba(128,255,128,.2);
	font-size:80%;
}
#rewrite-results-ready-counter:empty{
	display:none;
}

.show-rewrite-results:not(.show-rewrite) #rewrite-results-ready-container{
	display:flex;
}




/*  BUTTONS TO INSERT CHAT BUBBLES INTO A (NEW) DOCUMENT  */

.bubble-buttons-container{
	/*display:none;*/
	display:flex;
	flex-direction:column;
	position:absolute;
	bottom:15px;
	right:-7px;
	z-index:1;
}
.pane-image_to_text_ocr .bubble-buttons-container{
	right:-15px;
}

.image-to-text-response .bubble-buttons-container{
	right:-22px;
}

.bubble-doc-button{
	position:relative;
	width:15px;
	height:15px;
	border-radius:50%;
	cursor:pointer;
	white-space: nowrap;
	transition:opacity .3s;
	margin-top:10px;
}
body.mobile .bubble-doc-button{
	margin-top:15px;
}


.message-content .message:hover .bubble-doc-button{
	display:inline-flex;
}

.bubble-new-doc-button:after{
	content: '+';
    position: absolute;
    bottom: -3px;
    right: -15px;
    font-size: 17px;
    color: #ccc;
    background: var(--button-hover-bg);
    width: 14px;
    height: 14px;
    display: inline-flex;
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    padding-bottom: 3px;
    box-sizing: border-box;
	transition:opacity .3s;
    opacity: .5;
}
.bubble-new-doc-button:hover:after{
	opacity: 1;
}

.show-document .bubble-insert-into-doc-button::after{
	color:var(--text-color);
	content:'➞';
	opacity:.5;
}
.show-document .bubble-insert-into-doc-button:hover:after{
	opacity:1;
}

/*
.show-document .bubble-new-doc-button,
*/
#assistant-developer #message-content-container .bubble-new-doc-button,
.short-chat-message .bubble-insert-into-doc-button,
.short-chat-message .bubble-new-doc-button,
body.viewing-image .bubble-insert-into-doc-button,
body.viewing-media .bubble-insert-into-doc-button,
body:not(.show-document) .bubble-insert-into-doc-button{
	display:none!important;
}





/*   MUSICGEN  MUSICIAN   */

#assistant-musicgen #submit-prompt-at-line-button,
#assistant-musicgen #rewrite-selection-button,
#assistant-musicgen #translate-selection-button,
#assistant-musicgen #tools-rewrite-container,
#assistant-musicgen #document-translate-button{
	display:none;
}

.prompt-setting-container{
	background-color:rgba(255,255,255,.15);
	border-radius:5px;
	padding:10px 15px;
	margin-bottom:10px;
	position:relative;
}
.prompt-setting-container-unicode-icon{
	margin-right:.2rem;
}

.tiny-range-label{
	font-size:70%;
	margin:0 5px;
	color:var(--median-bg);
}


#assistant-musicgen.chat-message-form-maximum-height .prompt-setting-slider-container,
#assistant-musicgen.chat-message-form-maximum-height #musicgen-prompt-settings-container{
	display:flex;
	align-items:center;
	flex-grow:1;
}

#musicgen-duration-slider{
	flex-grow:1;
}

#musicgen-prompt-duration-output-wrapper{
	margin-left:1.5rem;
	display:flex;
}
#musicgen-duration-output{
	margin-right:.2rem;
	min-width: 1.5rem;
	text-align: right;
}

#musicgen-duration-output + span{
	/*font-weight:100;*/
	opacity:.5;
}

.generated-audio-buttons-container{
	width:100%;
	text-align:right;
	margin-top:10px;
	margin-bottom:5px;
	display:flex;
	justify-content:flex-end;
}

.generated-audio-buttons-container .save-generated-image-button{
	padding:5px;
	border-radius:50%;
	width:36px;
	height:36px;
	display:flex;
	align-items:center;
	justify-content:center;
	cursor:pointer;
	transition: all ease .3s;
	background-color:var(--weak-semi-transparent-bg);
}
.generated-audio-buttons-container .save-generated-image-button:hover{
	transform:scale(1.2);
}










#open-sidebar-button{ /*  Note: this one is rotated 180 degrees */
	display:none;
	position:fixed;
	top:0;
	left:0;
	width:50px;
	height:50px;
	border-radius: 0;
	align-items: center;
	justify-content: center;
	z-index:99999;
}
body:not(.sidebar):not(.intro) #open-sidebar-button{
	display:flex;
}

.toggle-secion-chevron{
    width: 22px;
    height: 22px;
	min-height: 22px;
    min-width: 22px;
}

#shrink-assistant-button:hover .toggle-section-chevron{
	transform: scale(1.3);
	transition: all ease .3s;
}


body:not(.sidebar) #open-sidebar-button .toggle-secion-chevron{
	transform: rotate(180deg);
	filter: invert(1);
}
body#open-sidebar-button:hover .toggle-secion-chevron{
	transform: rotate(180deg) scale(1.3);
}


#back-button{
	opacity:0;
}

body:not(.sidebar) #back-button-container{
	/*display:flex;*/
	display:none;
}


#flash-message{
	right:0;
	width:100%;
	height:50px;
}






/*   SPEAKER VOICE ICONS   */

#speaker-voice-buttons-container{
	display:none;
	width:100%;
    position:relative;
    height:2.3rem;
	margin-top:5px;
	margin-bottom:10px;
	padding: 0;
	background-color: transparent;
	border-left:2px solid transparent;
	border-right:2px solid transparent;
}

body:not(#assistant-speaker) #speaker-voice-buttons-container{
	display:none;
}

.chat-message-form-maximum-height #speaker-voice-buttons-container{
	display:block;
}

#speaker-voice-buttons-container *{
	 box-sizing:border-box;
}

#speaker-voice-buttons-container > div{
	width:100%;
}

#speaker-voice-buttons-container #speaker-voice-buttons-background{
    position:absolute;
    top:0;
    left:36px;
    display: flex;
    overflow: visible;
    transition: opacity .2s linear;
	width: calc(100% - 36px);
}


#speaker-voice-buttons-background-ball-container{
    width:0;
    overflow:hidden;
    text-align:right;
    background-color:yellow;
}

#speaker-voice-buttons-background-ball-pusher{
    display:inline-block;
    height:2.3rem;
    width:0;
    transition: all 0.5s cubic-bezier(.18,1.14,.5,1.18);
	background-color:transparent;
	position:relative;
	left:-36px;
}


#speaker-voice-buttons-background-ball{
    display:inline-block;
    background-color:rgba(255,255,255,.4);
	width:36px;
	height:36px;
	position:absolute;
	right:-36px;
    border-radius:50%;
}

#speaker-voice-buttons{
    display:flex; 
    position:relative;
    justify-content:space-between;
    align-items:center;
    flex-wrap:wrap;
    height:2.3rem;
	width:calc(100% + 36px);
}



#speaker-voice-buttons > span{
    display:inline-block;
    padding:.4rem;
    border-radius:50%;
    background-color:rgba(255,255,255,.1);
    box-sizing:border-box;
    cursor:pointer;
    margin-right:0;
    /*width:2.3rem;
    height:2.3rem;*/
	width:36px;
	height:36px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:1.5rem;
}

#speaker-voice-buttons > span:hover,
#speaker-voice-buttons > span.selected{
    background-color:rgba(2255,255,255,.4);
    color:black;
}


.speaker-voice-icon-us:after{
	content:'🇺🇸';
	position:absolute;
	font-size:1rem;
}

.speaker-voice-icon-canadian:after{
	content:'🇨🇦';
	position:absolute;
	font-size:1rem;
}

.speaker-voice-icon-scottish:after{
	content:'🏴󠁧󠁢󠁳󠁣󠁴󠁿';
	position:absolute;
	font-size:1rem;
}

.speaker-voice-icon-indian:after{
	content:'🇮🇳';
	position:absolute;
	font-size:1rem;
}












/*  CAMERA   */

body.show-camera #tools{
	flex-grow:1;
	position:relative;
	max-height:100%;
}


#video-sources-select{
	margin:0 50px;
	padding:5px;
}

#camera-container{
	display:none;
	flex-direction:column;
	max-width:100vw;
	background-color:var(--chat-footer-bg);
	overflow:auto;
}
body:not(#assistant-image_to_text):not(#assistant-image_to_text_ocr):not(.show-rewrite) #camera-container{
	padding-bottom:100px;
}

body.show-camera #camera-container{
	display:flex;
}


body.show-rewrite #message-form-prompt-container,
body.show-camera:not(#assistant-image_to_text):not(#assistant-image_to_text_ocr) #message-form-prompt-container,
body.show-camera #message-content-container,
body.show-camera #message-form-resize-handle{
	display:none;
}

body.show-camera:not(#assistant-image_to_text) #message-form-audio-buttons-container{
	flex-direction:row;
}

#camera-container details[open]{
	background-color:rgba(255,255,255,.1);
	border-radius:10px;
	overflow:hidden;
}

#camera-video-wrapper{
	width:100%;
	max-width:100%;
	height:25%;
	max-height:calc(50vh - 100px);
	flex-grow:1;
	position:relative;
	background:black;
	overflow:hidden;
	text-align:center;
}

#camera-video{
	max-width:100%;
	max-height:100%;
}

body:not(.doing-ocr) #camera-overlay-scan-hint-container{
	display:none;
}
#camera-overlay-scan-hint-container,
#camera-overlay-svg-container,
#camera-overlay-canvas-container,
#camera-video-flasher{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}
#camera-overlay-scan-hint-container{
	top:-2px;
}

#camera-overlay-canvas{
	width:1920px;
	height:1080px;
	max-width:100%;
	max-height:100%;
}

#camera-overlay-scan-hint-container > svg,
#camera-overlay-svg-container > svg{
	max-width:100%;
	max-height:100%;
}



#camera-video-flasher{
	background-color:rgba(255,255,255,.7);
	display:none;
	pointer-events:none;
}

.show-flasher #camera-video-flasher{
	display:block;
}




#video-canvas{
	position:absolute;
	pointer-events:none;
	left:-4000px;
}

#video-buttons{
	position: relative;
    top: -2rem;
	display:flex;
	align-items:center;
	justify-content:center;
}
#video-buttons > *{
	margin:5px;
}


#camera-take-picture-button{
	
}

#camera-take-picture-button .unicode-icon{
	transform:scale(1.3);
}


#live-ocr-output-container{
	width:calc(100% - 25px);
	position:relative;
}


#camera-do-ocr-details[open]{
	min-height:100px;
	display:flex;
	flex-direction:column;
}

#camera-do-ocr-details > div{
	height:100%;
}


body:not(.camera-sleeping) .camera-sleeping-hint{
	display:none;
}

#camera-do-ocr-details #live-ocr-scans-container{
	width:100%;
	transition:all ease .2s;
	transition-delay:0.1s;
	height:auto;
	max-height:50vh;
	padding:5px;
	border:2px dashed var(--median-bg);
	margin-bottom:10px;
}
#camera-do-ocr-details #live-ocr-scans-container:empty{
	border:none;
	padding:0;
}

#camera-do-ocr-details #live-ocr-scans-container textarea{
	background-color:rgba(255,255,255,.1);
	border-radius:5px;
	margin:5px;
	/*transition:all ease .3s;*/
	min-height:1rem;
}
#camera-do-ocr-details #live-ocr-scans-container textarea:focus{
	width:100%;
	min-height:8rem;
	flex-basis:100%;
}


#live-translation-output-container{
	position:relative;
}
#live-translation-output-container,
#camera-image-to-text-details .details-content{
	width: calc(100% - 25px);
}


#live-image_to_text-thumbnail-container{
	max-width:100px;
	max-height:100px;
	margin-right:5px;
    display: flex;
    align-items: top;
    justify-content: center;
}
#live-image_to_text-thumbnail-container:empty{
	display:none;
}

#live-image_to_text-output-container{
	position:relative;
	flex-wrap:wrap;
}

#live-image_to_text-prompt{
	width:calc(100% - 110px);
	flex-grow:1;
}


#live-translation-output,
#live-image_to_text-output{
	background-color:var(--weak-semi-transparent-bg);
	min-height:5rem;
	height:10rem;
	margin-top:5px;
}

#live-translation-output:placeholder-shown,
#live-image_to_text-output:placeholder-shown{
	display:none;
}

#camera-do-ocr-details #live-ocr-scans-container:empty,
#live-translation-output:placeholder-shown,
#camera-ocr-scan-progress{
	width:calc(100% - 25px);
	transition:all ease .3s;
	height:0;
	max-height:0;
	padding:0;
	margin-bottom:0;
	pointer-events:none;
	overflow:hidden;
}




body.doing-ocr-scan #camera-ocr-scan-progress{
	height:15px;
	padding:0;
	max-height:20px;
}


#live-ocr-output{
	width:100%;
	flex-grow:1;
	background-color:var(--median-bg);
	border-radius:10px;
	padding:10px;
	min-height:8rem;
}


#live-translation-output:not(:placeholder-shown){
	height:6rem;
	max-height:50vh;
	width:100%;
}

#live-translation-output:placeholder-shown + .bubble-buttons-container,
#live-ocr-output:placeholder-shown + .bubble-buttons-container,
#live-image_to_text-output:placeholder-shown + .bubble-buttons-container{
	display:none;
}



#camera-ocr-buttons-container{
	margin:10px;
	background-color:rgba(255,255,255,.1);
	border-radius:10px;
	padding:5px 0;
	display:flex;
	flex-direction:column;
	justify-content:space-around;
	align-items:center;
}

#camera-ocr-buttons-container > *{
	margin:5px 10px;
}

#camera-ocr-improve-button{
	transition:all ease .3s;
	max-height:100px;
	overflow:hidden;
	transform-origin: top left;
}

#camera-container:not(.ocr-scan-complete) #camera-ocr-footer-buttons-container,
#camera-container:not(.ocr-scan-complete) #camera-ocr-improve-button{
	max-height:0;
	padding:0;
	margin:0;
	font-size:0;
	pointer-events:none;
}


#camera-ocr-scan-intensity-container{
	display:flex;
	align-items:center;
	justify-content:flex-start;
	margin:3px 0;
	width:calc(100% - 25px);
	padding:2px;
}
#camera-ocr-scan-intensity-container input{
	margin-left:15px;
	flex-grow:1;
}



/*  TUTORIAL SECTION  */

body#assistant-developer.intro #main-view,
body.show-document:not(.notepad) #tutorial{
	display:none;
}

#tutorial{
	flex-grow:2;
	max-height: 100%;
	overflow: auto;
	flex-basis:30%;
	background-color:var(--sidebar-bg);
}

#tutorial-header{
	pointer-events:none;
	align-items:center;
	display:none;
}

#tutorial-menu-links{
	height:50px;
	max-height:50px;
}
#tutorial-menu-links > span{
	display:inline-block;
	margin-right:20px;
	cursor:pointer;
}
#tutorial-menu-links > span:hover{
	text-decoration:underline;
}

#tutorial-logo{
	width:50px;
	height:50px;
	opacity:0;
}

#tutorial-content > *{
	padding:10px;
}

/*  Welcome message*/

body.has-recent-documents #intro-tutorial-welcome-message{
	display:none;
}

#intro-tutorial-welcome-ankeilers{
	justify-content:center;
}

#intro-text-privacy-learn-more-explanation,
#intro-tutorial-welcome-ankeilers > p{
	flex-basis:50%;
	min-width:300px;
	max-width:320px;
	padding:1rem;
	line-height:150%;
}

#intro-tutorial-welcome-message{
	margin-top:8px;
	padding:0 2rem 2rem 2rem;
}

#intro-text-privacy-learn-more-explanation ul,
#intro-text-privacy-learn-more-explanation ul li{
	list-style-type: circle;
	list-style-position: outside;
}
#intro-text-privacy-learn-more-explanation ul li{
	margin:8px 0;
}

#intro-text-privacy-learn-more-button,
#intro-text-privacy-learn-more-explanation ul a{
	display:inline-block;
	border-bottom:1px solid var(--button-blue-bg);
	cursor:pointer;
}
#intro-text-privacy-learn-more-button:hover,
#intro-text-privacy-learn-more-explanation ul a:hover{
	background-color:var(--button-hover-bg);
	color:var(--button-hover-color);
}


/*  Recently opened files list  */

#recently-opened-documents-list-container{
	padding:2rem 15px;
	background-color: var(--body-even-weaker-bg);
	border-bottom:1px solid var(--thin-border-color);
}


#recently-opened-documents-list-inner{
	/*max-width:870px;*/
	max-width:410px;
	margin:auto;
}

#recently-opened-documents-list-container .unicode-icon{
	margin-right:5px;
}

#recently-opened-documents-list-container .h3{
	margin-bottom:10px;
}

body:not(.has-recent-documents) #recently-opened-documents-list-container{
	display:none;
}


#recently-opened-documents-list:empty + div{
	display:none;
}

/* small button is very similar to grey button now */
.small-button{
	padding:5px 10px;
	font-size:90%;
	background-color:var(--weak-semi-transparent-bg);
}
.small-button:hover{
	background-color:var(--button-hover-bg);
	color:var(--button-hover-color);
}



.recent-documents-item{
	padding:5px 10px;
	background-color: rgba(255, 255, 255, 0.1);
	border-radius:5px;
	margin-bottom:8px;
	cursor:pointer;
}

.recent-documents-item img{
	width:20px;
	height:20px;
}

.recent-documents-icon-container{
	width:25px;
	min-width:25px;
	margin-right:3px;
	margin-top:8px;
	flex-shrink:0;
}
.recent-documents-info-container{
	width:100%;
	display: flex;
	flex-direction: column;
	line-height:130%;
	padding-top:5px;
}


.recent-documents-item:hover{
	background-color: rgba(255, 255, 255, 0.3);
}

.recent-documents-item-folder{
	opacity:.5;
	margin-bottom:3px;
	font-size: .9rem;
	text-align:right;
}
body:not(.settings-complexity-advanced) .recent-documents-item-folder{
	display:none;
}

.tutorial-sub-title{
	
}




.functionalities-lists,
#examples-lists{
	margin-top:2rem;
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
}

.functionalities-lists-wrapper{
	display:flex;
	justify-content:center;
	width:100%;
	max-width:450px;
}

.functionalities-lists-wrapper button{
	padding-top:12px;
	padding-bottom:12px;
}

.tutorial-sub-title{
	padding-left:5px;
	display:flex;
	align-items:center;
	margin-bottom:5px;
	min-height:26px;
}

.tutorial-header-icon{
	margin-right:2px;
}

.functionalities-lists-wrapper button img{
	width:150px;
}

.functionalities-lists-wrapper{
	margin-bottom:2rem;
}

.functionalities-lists-wrapper > *:not(:empty){
    flex-basis: calc(50% - 20px);
	margin: 10px;
}

.functionalities-list{
	display:flex;
	flex-direction:column;
	
}
.functionalities-list > button{
	margin:5px;
}
#functionalities-lists .functionalities-list > button{
	line-height:135%;
}
#functionalities-lists .functionalities-list > button img{
	margin-bottom:5px;
}


body:not(.has-camera) #camera-functionalities-list{
	opacity:.5;
	pointer-events:none;
}





/*  Characters list  */

#tutorial .icon-container{
	width:36px;
	height:36px;
	border-radius:50%;
	overflow:hidden;
	flex-shrink:0;
	margin-right:10px;
}
#tutorial .icon-container > div{
	width:36px;
	height:36px;
	font-size:140%;
}

#tutorial-characters-lists-container .functionalities-list button:not(:first-of-type){
	padding-left:8px;
}

#tutorial .contact{
	text-align:left;
	min-height:36px;
	justify-content:center;
}

#tutorial .contact .name{
    /*color: var(--button-text-color);*/
    font-size: 15px;
    font-weight: 500;
    margin-bottom: 0;
    letter-spacing: .3px;  
}
#tutorial .contact:hover .name{
	color: var(--button-hover-text-color);
}

.dialog-big-buttons-text{
	padding:10px;
	text-align:center;
}






/*  BLUEPRINTS LIST  */

#tutorial .functionalities-lists-wrapper .icon-container{
	transform:scale(0.8);
	transition: all ease .3s;
}
#tutorial #personal-blueprints-list .icon-container,
#tutorial #business-blueprints-list .icon-container{
	border-radius:0;
	border:1px solid var(--median-bg);
	/*outline: 2px solid #9AD9E3;
	transform:scale(0.8);
	transition: all ease .3s;*/
}



#tutorial .functionalities-lists-wrapper .icon-container,
#tutorial .functionalities-lists-wrapper img{
	transition: all ease .3s;
}

#tutorial .functionalities-lists-wrapper button:hover .icon-container,
#tutorial .functionalities-lists-wrapper button:hover img{
	transform:scale(1.1);
}

#tutorial #personal-blueprints-list button:hover .icon-container,
#tutorial #business-blueprints-list button:hover .icon-container{
	transform:scale(1);
}



/*  BLUEPRINT FIELDS  */


.blueprint-fields-item{
	padding:10px 0;
	border-top: 1px solid var(--thin-border-color);
	margin: 15px 0;
}

.blueprint-field-label{
	min-width:100px;
}

.blueprint-field-dropdown{
	min-width: calc(150px);
	max-width:60%;
    position: relative;
    padding: 8px 20px 8px 10px;
    background-color: var(--dropdown-bg);
    color: var(--button-text-color);
    border-radius: 5px;
    font-size: inherit;
}



/*  MORE CHARACTERS DIALOG */

.dialog-big-buttons-container{
	display:flex;
	margin:15px 0;
}

.dialog-big-buttons-container img{
	transition: all ease .3s;
}
.dialog-big-buttons-container > *{
	min-width:100px;
	width:250px;
	min-height:250px;
	background-color:var(--weak-semi-transparent-bg);
	border-radius:.5rem;
	padding:10px;
	display:flex;
	flex-direction:column;
	align-items:center;
	cursor:pointer;
	flex-shrink:1;
	flex-grow:1;
}
#more-characters-dialog-new-button,
#more-blueprints-dialog-new-button{
	margin-right:15px;
}

.dialog-big-buttons-container > *:hover{
	background-color:var(--button-hover-bg);
	color:var(--button-hover-color);
}
.dialog-big-buttons-container > *:hover img{
	transform:scale(1.05);
}


#more-characters-dialog-content-container{
	display:flex;
	flex-wrap:wrap;
	gap: 10px;
	grid-auto-columns: 150px;
}
#more-characters-dialog-content-container > *{
	min-width:150px;
	width:200px;
	flex-grow:1;
	align-items:center;
	justify-content:flex-start;
	text-align:left;
}


/*  FILENAME DIALOG  */

#ask-for-name-dialog-input{
	margin:1rem 0;
}

#ask-for-name-dialog-buttons-container button:not(:first-of-type){
	margin-left:10px;
}



/*  QUICK DOCUMENT UPLOAD BUTTON FOR DOCUMENT SEARCH/RAG  */

body:not(.show-document-chat-upload-button) #document-chat-upload-button-container{
	display:none;
}

#document-chat-upload-button{
	height:36px;
	margin-bottom:0;
	background-image:url('../images/paperclip.svg');
}

body:not(.chat-message-form-more-height) #document-chat-upload-button{
	margin-bottom:10px;
	width:36px;
	height:36px;
	border-radius:50%;
	background-size:50%;
	transition: all ease .3s;
}
body:not(.chat-message-form-more-height) #document-chat-upload-button:hover{
	background-size:60%;
	transition: all ease .3s;
}

#assistant-image_to_text #document-chat-upload-button,
#assistant-image_to_text_ocr #document-chat-upload-button{
	display:none;
}


/*   RAG DOCUMENTS SEARCH  */


#sidebar-rag-header{
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding: 5px 0 5px 10px;
	
}

#sidebar-rag-select-all-button{
	cursor:pointer;
	display:inline-block;
	padding:5px 10px;
	border-radius:5px;
	transition:all ease .3s;
	background-color:var(--weak-semi-transparent-bg);
	color:var(--button-text-color);
}
body:not(.many-files) #sidebar-rag-select-all-button{
	display:none;
}

#sidebar-rag-select-all-button:hover{
	background-color:var(--button-hover-bg);
	color:var(--button-hover-color);
}

#sidebar-rag-close-button{
	padding:10px;
	width:46px;
	height:40px;
	cursor:pointer;
}
#sidebar-rag-close-button:hover > *{
	background-color:var(--button-hover-bg);
	color:var(--button-hover-color);
}


.round-button{
    background-color: var(--button-bg);
	color: var(--button-text-color);
	width:24px;
	height:24px;
    border-radius: 50%;
	display:flex;
    align-items: center;
    justify-content: center;
    font-size: .8rem;
	transition:all ease .3s;
}
.round-button > span{
	font-size:1.2rem;
    line-height: 0;
    display: inline-block;
    height: 0;
    display: flex;
    align-items: center;
    justify-content: center;
	margin-bottom: 2px;
}
.round-button:hover{
	transform:scale(1.2);
	transition:all ease .3s;
}

body.show-documents-search:not(.settings-complexity-advanced) #download-all-files-button,
body:not(.show-documents-search) #selective-files-management-buttons,
.no-files-in-folder #start-rag-search-button,
#rag-info-container:empty{
	display:none;
}


#sidebar-rag-search-container{
	background-color: var(--body-even-weaker-bg);
}

#rag-info-container{
	padding:10px;
}
.rag-progress-container{
	border-radius:8px;
	padding:10px;
}

.search-input-container{
	display:flex;
	width:100%;
	padding:0px 8px 10px 10px;
}


.start-search-button-container{
	height:36px;
	max-height:36px;
	width:50px;
    background-color: var(--button-bg);
    color: #ddd;
	border-radius:.5rem;
	overflow:hidden;
	cursor:pointer;
}
.start-search-button-container:hover{
	 background-color: var(--button-hover-bg);
	 color: var(--button-hover-color);
}


#start-rag-search-button{
	transition: all ease .3s;
	position:relative;
	top:0;
	left:0;
}

#start-rag-search-button img{
	transition:all ease .3s;
	height:25px;
	max-height:70%;
}
#start-rag-search-button:hover img{
	transform:scale(1.2);
	transition:all ease .3s;
}

#start-rag-search-inner-button{
	padding:0;
	background-color:transparent;
	border-radius:0;
	transition:all ease .3s;
	max-height:36px;
}

body.show-documents-search #start-rag-search-inner-button{
	padding:5px 8px;
	background-color:var(--button-bg);
	transition:all ease .3s;
	border-radius:.3rem;
	max-height:40px;
}
body.show-documents-search #start-rag-search-inner-button img{
	height:17px;
}


body.show-documents-search #start-rag-search-button{
	position:relative;
	transform:scale(1.7);
	top:-2px;
	left:-8px;
	background-color:var(--body-even-weaker-bg);
	border-radius:0;
}


body:not(.show-documents-search) #start-rag-search-button .submit-prompt-button-image{
	-webkit-filter: grayscale(90%);
	-moz-filter: grayscale(90%);
	-ms-filter: grayscale(90%);
	-o-filter: grayscale(90%);
	filter: gray;
}


#rag-search-prompt{
	height:100%;
	min-height:6rem;
}

.rag-search-document-checkbox-container{
	width: 40px;
	height: 30px;
	display: flex;
	align-items: center;
	justify-content:center;
	margin-left:10px;
}

body:not(.show-documents-search) #sidebar-rag-header,
body:not(.show-documents-search) .rag-search-document-checkbox-container,
body:not(.show-documents-search) #sidebar-rag-search-container{
	display:none;
}

body.show-documents-search .file-pane li{
	padding-right:8px;
}

body.show-documents-search .file-item .file-size,
body.show-documents-search #take-snapshot-button,
body.show-documents-search #restore-snapshot-button{
	display:none!important;
}

.cannot-rag{
	background-color:orange;
}

.rag-error{
	background-color:red;
}

#delete-selected-files-button{
	padding-right:13px;
}

#delete-selected-files-button img{
	margin-right:3px;
}
#save-all-files-button:hover,
#delete-selected-files-button:hover{
	color:var(--button-text-color);
}


.code-output-item{
	margin-bottom:10px;
	padding:10px;
	font-size:.8rem;
	transition:all ease .3s;
}

.code-output-item:hover{
	background-color:var(--highlight-bg);
	cursor:pointer;
}

.code-output-item-match{
	font-size:1rem;
	padding:15px 0 5px 0;
	margin-bottom:5px;
}

.code-output-item-file{
	font-style:italic;
	padding:0 0 5px 0;
	border-bottom:1px solid var(--text-color);
	margin-bottom:5px;
}
.code-output-item-file:before{
	content:'📄';
	margin-right:5px;
}


.code-output-item-match-number{
	font-weight:bold;
}


/*  RAG RESULT CHAT MESSAGE  */


.rag-result-details{
	width:100%;
}

.rag-result-summary{
	width:100%;
	background-color:rgba(255,255,255,.1);
	border-radius:5px;
	padding:5px 10px;
	margin:10px 0 0 0;
	cursor:pointer;
}

.rag-result-details[open] .rag-result-summary{
	font-style:italic;
	background-color:transparent;
	padding-left:0;
}

.rag-sources-item{
	display:flex;
	cursor:pointer;
	margin-top:5px;
}
.rag-sources-item:hover{
	background-color:rgba(255,255,255,.1);
}
.chat .message-content .bubble ul > li.rag-sources-item{
	
}


.rag-sources-item-stats{
	display:flex;
	
	flex-direction:column;
}

.rag-sources-item-score{
	margin-right:10px;
	font-weight:bold;
}

.rag-sources-item-filename{
	flex-grow:1;
	display: block;
	width:100%;
	overflow-wrap: break-word;
	word-break: break-all;
}

.model-info-download-url-explanation,
.recent-documents-item-filename{
	overflow-wrap: break-word;
	word-break: break-all;
}


.rag-sources-item-count{
	font-weight: 100;
}
.rag-sources-item-count:before{
	content:'(';
}
.rag-sources-item-count:after{
	content:'x)';
}

.rag-result-answer-question{
	opacity:.5;
	font-style:italic;
}






/*  SHARE PROMPT LINK  */

#share-prompt-assistant-name-container{
	margin-top:1rem;
}

#received-prompt-assistant-name-wrapper,
#share-prompt-assistant-name-wrapper{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	position:relative;
	top:5px;
}


#share-prompt-assistant-icon-container,
#received-prompt-assistant-icon-container{
	width:36px;
	max-width:36px;
	overflow:hidden;
}

#share-prompt-assistant-emoji,
#share-prompt-assistant-name-icon,
#received-prompt-assistant-emoji,
#received-prompt-assistant-icon-container > img{
	width:36px;
	height:36px;
	border-radius:50%;
	overflow:hidden;
}

#received-prompt-assistant-emoji:empty,
#share-prompt-assistant-emoji:empty{
	display:none;
}

#received-prompt-assistant-emoji:not(:empty) + #received-prompt-assistant-name-icon,
#share-prompt-assistant-emoji:not(:empty) + #share-prompt-assistant-name-icon{
	display:none;
}

#received-prompt-assistant-name,
#share-prompt-assistant-custom_name{
	padding: .2rem .4rem;
}

#share-prompt-custom-parts-container{
	margin-bottom:.5rem;
}

body:not(.developer) #share-prompt-show-more-options-button,
body.show-more-share-options #share-prompt-show-more-options-button{
	display:none;
}
body.show-more-share-options.settings-complexity-advanced #share-prompt-custom-parts-container,
body.show-more-share-options #share-prompt-custom-prompts-container{
	display:block;
}



#blueprint-fields-cancel-button,
#add-custom-ai-cancel-button{
	background-color:var(--weak-semi-transparent-bg);
}
#blueprint-fields-cancel-button:hover,
#add-custom-ai-cancel-button:hover{
	background-color:var(--button-hover-bg);
	color:var(--button-hover-color);
}

#new-custom-ai-model-emoji_bg{
	width:0;
	height:0;
}


/*  SWITCH BETWEEN EDIT AI AND SHARE AI DISPLAYS  */

body.busy-editing-assistant .hide-if-creating-new-ai,
body:not(.busy-editing-assistant) .show-if-creating-new-ai,
body:not(.busy-editing-received-ai) .show-if-editing-received-ai{
	display:none!important;
}

.busy-editing-assistant #share-prompt-link-container,
.busy-editing-assistant .sharing-buttons-container,
.busy-editing-assistant #share-prompt-input,
.busy-editing-assistant #share-prompt-dialog-hint,
body:not(.busy-editing-assistant) #share-prompt-dialog-edit-ai-details-hint{
	display:none;
}

#share-prompt-model-system-prompt-examples{
	margin: 5px 5px 15px;
}
#share-prompt-model-system_prompt{
	min-height:9rem;
	margin-bottom:10px;
}
#share-prompt-model-system_prompt:not(:focus) + #share-prompt-model-system-prompt-examples{
	display:none;
}

#share-prompt-model-system_prompt:not(:empty){
	height:15rem;
}



#share-prompt-dialog.runner-web_llm #share-prompt-custom-parts-container{
	display:none!important;
}



#share-prompt-model-role_name{
	min-height:2.5rem!important;
	height:2.5rem;
	max-height:2.5rem;
	margin-top:10px;
}

#share-prompt-input{
	min-height:6rem;
}

.bubble-share-prompt-button{
	background-color:white;
	font-size: 70%;
    display: flex;
    align-items: center;
    justify-content: center;
	position:absolute;
	right:0;
	bottom:-4px;
	z-index:1;
	width:0;
	height:0;
	max-width:0;
	max-height:0;
	overflow:hidden;
	transition: all ease .1s;
	transition-delay:.3s;
}

.participant-user .chat-bubble-wrap:hover .bubble-share-prompt-button{
	transition: all ease .1s;
	overflow:visible;
	width:20px;
	height:20px;
	max-width:30px;
	max-height:30px;
}
.participant-user .chat-bubble-wrap:hover .bubble-share-prompt-button:hover{
	background-color:var(--button-hover-bg);
	transition: all ease .3s;
	transform:scale(1.5);
}

.participant-user .chat-bubble-wrap:hover .bubble-share-prompt-button:hover > *{
	
}

.share-prompt{
	min-height:2.5rem;
}
.share-prompt:placeholder-shown{
	opacity:.7;
}

.bubble-share-prompt-button > *{
	width:0;
	height:0;
	max-width:0;
	max-height:0;
	overflow:hidden;
	transition: all ease 0.3s;
}

.participant-user .chat-bubble-wrap:hover .bubble-share-prompt-button > *{
	transition: all ease .3s;
	transform-origin: center;
	transform:scale(0.9);
	width:20px;
	height:20px;
	max-width:100px;
	max-height:100px;
}


.bubble-share-prompt-button:hover > *{
	transform:scale(1);
}

.chat-bubble-wrap:hover > .bubble-share-prompt-button{

}

.prompt-example-button{
	padding:5px;
	margin-left:8px;
	transition: all ease .3s;
}
.prompt-example-button > span{
	transition: all ease .3s;
	pointer-events:none;
	display:inline-block;
}
.prompt-example-button:hover > span{
	transform:scale(1.3);
}
.prompt-example-button:hover{
	transform:scale(1.1);
}

#share-prompt-dialog-hint .unicode-icon{
	margin-right: 5px;
}

.share-prompt-link-container,
#share-prompt-link-container{
	display:flex;
	align-items:center;
	background-color:rgba(255,255,255,.15);
	padding:10px 15px;
	margin:10px 0 1rem 0;
	border-radius:5px;
}

.share-prompt-link,
#share-prompt-link{
	width:10%;
	flex-grow:1;
	overflow-wrap: break-word;
	word-break: break-all;
	max-height:5rem;
	overflow:auto;
}
#model-info-share-clone-link-text{
	color:var(--inverted-text-color);
}

.share-prompt-copy-to-clipboard-button,
#share-prompt-copy-to-clipboard-button{
	margin-left:15px;
	background-color:var(--button-hover-bg);
	height:50px;
	width:50px;
	border-radius:50%;
	display:flex;
	flex-shrink: 0;
	align-items:center;
	justify-content:center;
	font-size: 150%;
	cursor:pointer;
	transition:all ease .3s;
}
.share-prompt-copy-to-clipboard-button:hover,
#share-prompt-copy-to-clipboard-button:hover{
	background-color:var(--button-hover-bg);
}


.share-prompt-copy-to-clipboard-button img,
#share-prompt-copy-to-clipboard-button img{
	transition:all ease .3s;
}
.share-prompt-copy-to-clipboard-button:hover img,
#share-prompt-copy-to-clipboard-button:hover img{
	transform:scale(1.3);
}
	



/*    RECEIVED AI  /  RECEIVED PROMPT   */

.prevent-propagation{
	position:relative;
}

#new-custom-ai-dialog{
	max-width:30rem;
}


#received-ai-dialog-warning{
	display:flex;
	border:2px solid var(--orange);
	background-color: var(--weak-semi-transparent-bg);
	padding:15px;
	margin:15px 0;
}

.no-received-ai #received-ai-dialog-warning{
	display:none;
}

#received-ai-dialog-warning:not(:empty):before{
	content:'⚠️';
	margin-right:8px;
	margin-top:3px;
	display:block;
}


#received-prompt-textarea-container{
	margin-top:2rem;
}
#received-prompt-textarea{
	min-height:6rem;
}

.dialog-papegai-logo{
	position:absolute;
	top:2rem;
	right:2rem;
	opacity:.3;
}
body.light .dialog-papegai-logo{
	filter: brightness(20%);
}

#new-custom-ai-dialog-hint,
.received-dialog-hint{
	padding:2rem 0 1rem 0;
}

dialog p{
	line-height:150%;
}

#run-the-received-prompt-button{
	background-color:var(--button-hover-bg);
	color:var(--button-hover-color);
}



/*  RECEIVED DOCUMENT  */

#received-document-dialog.for-blueprint .hide-if-for-blueprint,
#received-document-dialog:not(.for-blueprint) .show-if-for-blueprint{
	display:none;
}

#received-document-filename{
	margin-top:1rem;
}

#received-document-textarea{
	min-height:10rem;
	margin-top:1rem;
}

#share-document-also-share-ai-checkbox{
	margin-left:10px;
	margin-right:3px;
	transform:scale(1.3);
}

.sharing-buttons-container{
	text-align:center;
}

.sharing-buttons-container img{
	width:20px;
	height:20px;
	margin:5px;
	transition:all ease .3s;
}
.sharing-buttons-container img:hover{
	transform:scale(1.3);
	transition:all ease .3s;
}

/*  SAVE CUSTOM SHARED MODEL  */

body:not(.developer) #contact-item-custom_received{
	display:none;
}

#model-info-save-received-description-textarea{
	height:5rem;
	min-height:5rem;
	margin:5px 0;
	font-family:inherit;
}

input[type="radio"]:checked + label{
	background-color:var(--selected-bg);
}

.new-custom-ai-radio-label{
	padding:1rem;
	border-radius:.5rem;
	background-color:var(--weak-semi-transparent-bg);
}

#new-custom-ai-template:not(:checked) ~ #new-custom-ai-template-container,
#new-custom-ai-clone:not(:checked) ~ #new-custom-ai-clone-container{
	display:none;
}

.new-custom-ai-radio-container{
	background-color:var(--selected-bg);
	padding:2rem;
	border-radius:.5rem;
	margin: 2rem 0;
}




/*  TEXT TOOLBAR  */

#editor-bar{
	height:36px;
	max-height:36px;
	overflow:hidden;
	background-color: var(--editor-header-bg);
	border-bottom: 1px solid var(--thin-border-color);
	box-shadow: inset 0px 1px rgba(128,128,128,.2);
	transition: max-height ease .3s;
}
body:not(.document-active) #editor-bar{
	height:0;
	max-height:0;
	padding:0;
}


.coder #editor-bar{
	height:0;
	max-height:0;
	overflow:hidden;
	padding:0;
	margin:0;
}

#editor-bar > div{
	width:36px;
	height:36px;
	margin:0 1px;
	display:flex;
	align-items:center;
	justify-content:center;
	cursor:pointer;
}
#editor-bar > div > div{
	width:25px;
	height:25px;
	background-color:var(--weak-semi-transparent-bg);
	display:flex;
	align-items:center;
	justify-content:center;
}
#editor-bar > div:hover{
	background-color:var(--button-hover-bg);
	color:var(--button-hover-color);
}
#editor-bar > div:hover > div{
	background-color:transparent;
	transform:scale(1.2);
}

#bar-toggle-bold{
	font-weight:bold;
}
#bar-toggle-italic{
	font-style:italic;
}

body:not(.doc-has-text) #editor-bar,
.doc-empty #editor-bar,
.viewing-image #editor-bar,
.binary-file #editor-bar{
	height:0;
	max-height:0;
}










/*  HIDE PARTS OF UI  */

body:not(.settings-complexity-advanced):not(.coder) #right-bar,
body:not(.settings-complexity-advanced) #save-document-button,
body:not(.settings-complexity-advanced) .file-item.unreal.modified .file-icon.file-icon-loaded:after,
body:not(.settings-complexity-advanced) #save-all-files-button{
	display:none;
}

body.show-camera #right-bar{
	display:none!important;
}










/*  SPECIAL STYLES, e.g fairytale fairy tale */


body.fairytale.playing-document:not(.blueprint) #main-view{
	z-index:12;
}

body.fairytale.playing-document:not(.blueprint) .playground{
	box-shadow: 0 0 2000px 2000px rgba(0,0,0,.8);
}

body.fairytale.playing-document:not(.blueprint) #stop-play-document-button{
	z-index:1;
}


body.fairytale.playing-document:not(.blueprint) .cm-gutter.cm-lineNumbers .cm-gutterElement.cm-activeLineGutter:before,
body.fairytale.playing-document:not(.blueprint) .cm-gutter.cm-lineNumbers .cm-gutterElement.cm-activeLineGutter:after{
	display:none;
}


body.fairytale.playing-document:not(.blueprint) #save-document-button{
	opacity:.2;
}
body.fairytale.playing-document:not(.blueprint) #download-buttons-container{
	max-width:0;
}


body.fairytale.playing-document:not(.blueprint) #playground-overlay{
	display:block;
	transition:all ease 1s;
	position: absolute;
	left: -480px;
	width:480px;
	max-width:480px;
	opacity:1;
	text-align:center;
	padding-top:20%;
}

body#assistant-actor.cleopatra:not(.fairytale) #message-content-container{
	background: #fffef0;
}

body#assistant-actor.cleopatra:not(.fairytale) #message-content-container:after,
body.fairytale.playing-document:not(.blueprint) #playground-overlay,
body.fairytale.playing-document:not(.blueprint) #editor{
    box-shadow: 2px 3px 20px black, 0 0 125px #8f5922 inset;
    background: #fffef0;
}

body#assistant-actor.cleopatra:not(.fairytale) #message-content-container:after,
body.fairytale.playing-document:not(.blueprint) #playground-overlay:after,
body.fairytale.playing-document:not(.blueprint) #editor:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: conic-gradient(#fff3, #fff0 2% 24%, #fff2 25%, #4321 0, #0000 27% 48%, #9632 50%, #fff2 0, #fff0 52% 73%, #9632 75%, #fff3 0, #fff0 78% 97%, #9632);
	pointer-events:none;
}

body.fairytale.playing-document:not(.blueprint) #editor{
	z-index:2;
}

body:not(.fairytale) #parchment{
	display:none;
}


body.fairytale.playing-document .ͼ4 .cm-line, 
body.fairytale.playing-document .cm-line{
	font-family:cursive;
	color:#5a4918;
	font-size: 125%;
}


body.fairytale.playing-document:not(.blueprint) #playground-overlay > img{
	max-width: calc(100% - 30px);
	border-radius:20px;
	opacity:.9;
	clip-path: polygon(3% 0, 7% 1%, 11% 0%, 16% 2%, 20% 0, 23% 2%, 28% 2%, 32% 1%, 35% 1%, 39% 3%, 41% 1%, 45% 0%, 47% 2%, 50% 2%, 53% 0, 58% 2%, 60% 2%, 63% 1%, 65% 0%, 67% 2%, 69% 2%, 73% 1%, 76% 1%, 79% 0, 82% 1%, 85% 0, 87% 1%, 89% 0, 92% 1%, 96% 0, 98% 3%, 99% 3%, 99% 6%, 100% 11%, 98% 15%, 100% 21%, 99% 28%, 100% 32%, 99% 35%, 99% 40%, 100% 43%, 99% 48%, 100% 53%, 100% 57%, 99% 60%, 100% 64%, 100% 68%, 99% 72%, 100% 75%, 100% 79%, 99% 83%, 100% 86%, 100% 90%, 99% 94%, 99% 98%, 95% 99%, 92% 99%, 89% 100%, 86% 99%, 83% 100%, 77% 99%, 72% 100%, 66% 98%, 62% 100%, 59% 99%, 54% 99%, 49% 100%, 46% 98%, 43% 100%, 40% 98%, 38% 100%, 35% 99%, 31% 100%, 28% 99%, 25% 99%, 22% 100%, 19% 99%, 16% 100%, 13% 99%, 10% 99%, 7% 100%, 4% 99%, 2% 97%, 1% 97%, 0% 94%, 1% 89%, 0% 84%, 1% 81%, 0 76%, 0 71%, 1% 66%, 0% 64%, 0% 61%, 0% 59%, 1% 54%, 0% 49%, 1% 45%, 0% 40%, 1% 37%, 0% 34%, 1% 29%, 0% 23%, 2% 20%, 1% 17%, 1% 13%, 0 10%, 1% 6%, 1% 3%); 
}


.fade-out-slow{
	transition:opacity linear 3s;
	opacity:0;
}

.fade-in-slow{
	animation: fadeIn 3s;
}
@keyframes fadeIn {   0% { opacity: 0; }   100% { opacity: 1; } }

#pane-content-actor1-chats .bubble em{
	display:block;
	padding:1rem 0rem 1rem 1rem;
}


/*  CLEOPATRA  */

body#assistant-actor.cleopatra .chat .message-content .message.participant-actor .bubble{
	background-color:transparent;
	color:black;
	font-family:cursive;
	font-size: 125%;
}





/*  IMAGE TO TEXT   IMAGE_TO_TEXT   AND   OCR   */

#image-to-text-prompt-settings-container-wrapper{
	height:auto;
	min-height:55px;
	max-height:200px;
	width: 100%;
	overflow:visible;
	background-color:var(--median-bg);
	overflow:hidden;
	/*border-top:4px solid var(--median-bg);*/
}

body:not(#assistant-image_to_text):not(#assistant-image_to_text_ocr) #image-to-text-prompt-settings-container-wrapper{
	display:none;
}

#assistant-image_to_text_ocr #message-form-resize-handle,
#assistant-image_to_text #message-form-resize-handle{
	background-color:var(--median-bg);
}
#assistant-translator #message-form-resize-handle{
	background-color:var(--chat-footer-bg);
}

#image-to-text-prompt-settings-container{
	height:auto;
	min-height:50px;
	max-height:200px;
	width: 100%;
	padding:0;
	flex-grow: 1;
	text-align: center;
	position:relative;
	transition: all ease .3s;
}

#image-to-text-prompt-settings-container-wrapper{
	padding:0;
}

body.show-camera #image-to-text-prompt-settings-container-wrapper{
	height:0;
	min-height:0;
	max-height:0;
	z-index: 12;
	position:relative;
	background-color:transparent;
	overflow:visible;
}
body.show-camera #image-to-text-prompt-settings-container{
	height:200px;
	max-height:200px;
	position:absolute;
	bottom:0;
	background-color:transparent;
}

body.show-camera.hide-camera-still #image-to-text-prompt-settings-container-wrapper{
	pointer-events:none;
}

body.show-camera.chat-message-form-minimum-height #image-to-text-prompt-settings-container,
body:not(#assistant-image_to_text_ocr).chat-message-form-minimum-height #image-to-text-prompt-image,
body:not(#assistant-image_to_text_ocr).chat-message-form-minimum-height #image-to-text-prompt-settings-container-wrapper,
body:not(#assistant-image_to_text_ocr).chat-message-form-minimum-height #image-to-text-prompt-settings-container,

body:not(#assistant-image_to_text_ocr).chat-message-form-maximum-height #image-to-text-prompt-image,
body:not(#assistant-image_to_text_ocr).chat-message-form-maximum-height #image-to-text-prompt-settings-container-wrapper,
body:not(#assistant-image_to_text_ocr).chat-message-form-maximum-height #image-to-text-prompt-settings-container{
	max-height:100px;
}

#assistant-image_to_text_ocr #pane-content-image_to_text-status,
#assistant-image_to_text #pane-content-image_to_text-status,
#assistant-image_to_text_ocr.show-camera:not(.hide-camera-still) #stop-camera-button,
#assistant-image_to_text.show-camera:not(.hide-camera-still) #stop-camera-button,
#assistant-image_to_text_ocr #chat-prompt-textareas-wrapper{
	display:none;
}

#assistant-image_to_text_ocr .chat .content .message-form{
	padding-top:5px;
}


#assistant-image_to_text_ocr.show-camera #yet-another-tools-wrapper,
#assistant-image_to_text.show-camera #yet-another-tools-wrapper{
    height: auto;
    min-height: auto;
}

#assistant-image_to_text_ocr.show-camera details,
#assistant-image_to_text_ocr.show-camera #video-buttons,
#assistant-image_to_text.show-camera details,
#assistant-image_to_text.show-camera #video-buttons{
	display:none;
}
#assistant-image_to_text_ocr.show-camera:not(.show-rewrite) #tools,
#assistant-image_to_text.show-camera:not(.show-rewrite) #tools{
	flex-grow:0;
	max-height:200px;
}


#assistant-image_to_text_ocr.show-camera #message-content-container,
#assistant-image_to_text.show-camera #message-form-resize-handle,
#assistant-image_to_text.show-camera #message-content-container{
	display:flex;
}
#assistant-image_to_text_ocr:not(.show-rewrite) #message-form-container,
#assistant-image_to_text:not(.show-rewrite) #message-form-container{
	display:block;
}


#assistant-image_to_text_ocr.show-camera #camera-video-wrapper,
#assistant-image_to_text.show-camera #camera-video-wrapper{
	max-height:200px;
	flex-grow:0;
	display: flex;
	justify-content: center;
	align-items:center;
	
}

#assistant-image_to_text_ocr.show-camera #camera-video-wrapper #camera-video,
#assistant-image_to_text.show-camera #camera-video-wrapper #camera-video{
	width:auto;
	max-height:200px;
}


#assistant-image_to_text_ocr.show-camera.chat-message-form-maximum-height #camera-video-wrapper,
#assistant-image_to_text.show-camera.chat-message-form-maximum-height #camera-video-wrapper,
#assistant-image_to_text_ocr.show-camera.chat-message-form-maximum-height #camera-video-wrapper #camera-video,
#assistant-image_to_text.show-camera.chat-message-form-maximum-height #camera-video-wrapper #camera-video{
	max-height:100px;
}


#assistant-image_to_text.chat-message-form-minimum-height.show-camera #camera-video-wrapper #camera-video,
#assistant-image_to_text.chat-message-form-minimum-height.show-camera #camera-video-wrapper{
	max-height:100px;
}

#assistant-image_to_text_ocr #message-form-resize-handle,
#assistant-image_to_text_ocr.chat-message-form-more-height #chat-prompt-textareas-wrapper,
#assistant-image_to_text_ocr #prompt-inputs-container{
	display:none;
}

#assistant-image_to_text_ocr .chat .content .message-form,
#assistant-image_to_text_ocr #message-form-container,
#assistant-image_to_text_ocr #message-form-prompt-container{
	max-height:56px!important;
}
#assistant-image_to_text_ocr #message-form-container{
	min-height:56px;
}

#assistant-image_to_text_ocr #submit-prompt-button{
	max-height:36px;
}
#assistant-image_to_text_ocr #microphone-icon-container{
	margin-bottom:0;
}

#assistant-image_to_text_ocr.chat-message-form-more-height #message-form-prompt-buttons{
	margin-top:0;
	margin-bottom:5px;
}



#image-to-text-prompt-image{
	height:100%;
	max-height:200px;
	opacity:1;
	transition: max-height ease .3s;
}

.image-to-text-response{
	white-space: pre-wrap;
	word-wrap: break-word;
}


body.hide-camera-still #image-to-text-prompt-image{
	opacity:0;
	transition: all ease .3s;
}

body.hide-camera-still .hide-if-hiding-camera-still,
.show-if-hiding-camera-still{
	display:none;
}
body.hide-camera-still .show-if-hiding-camera-still{
	display:inline-block;
}




#image-to-text-prompt-settings-buttons{
	display:flex;
	justify-content: space-between;
	position:absolute;
	bottom:0;
	width: 100%;
	padding:0 5px;
	pointer-events:auto;
	
}
#image-to-text-prompt-settings-buttons > *{
	margin:5px;
}

#image-to-text-prompt-settings-take-camera-picture-button,
#image-to-text-prompt-settings-upload-button{
	width:36px;
	height:36px;
}

#image-to-text-prompt-settings-take-camera-picture-button{
	padding:5px;
}
#image-to-text-prompt-settings-take-camera-picture-button .svg-icon{
	display:inline-block;
}
#image-to-text-prompt-settings-take-camera-picture-button img{
	width:26px;
	height:26px;
}


#image-to-text-prompt-settings-upload-button{
	background-size:50%;
}


/*  continuous image_to_text  */

body:not(.web-gpu) #camera-image-to-text-details{
	display:none;
}

#no-web-gpu-warning{
	background-color:var(--median-bg);
	padding:2rem;
}
#no-web-gpu-warning img{
	margin-right:1rem;
}

#no-web-gpu-warning h3{
	margin-bottom:5px;
}
#no-web-gpu-warning ul{
	margin:1rem 0;
}
#no-web-gpu-warning p{
	line-height:150%;
}

#no-web-gpu-warning .unicode-icon{
	transition:all ease .3s;
}
#no-web-gpu-warning .unicode-icon:hover{
	transform:scale(1.2);
	transition:all ease .2s;
}


body:not(.web-gpu):not(.web-gpu32) .functionality-better-with-web-gpu,
body:not(.web-gpu):not(.web-gpu32) .functionality-requires-web-gpu{
	position:relative;
}
body:not(.web-gpu):not(.web-gpu32) .functionality-requires-web-gpu{
	pointer-events:none;
	cursor:not-allowed;
}

body:not(.web-gpu):not(.web-gpu32) .functionality-better-with-web-gpu:before,
body:not(.web-gpu):not(.web-gpu32) .functionality-requires-web-gpu:before{
	position:absolute;
	left:0;
	top:0;
	content:'🐢';
	display:inline-flex;
	align-items:center;
	justify-content:center;
	height:30px;
	width:30px;
	border-radius:.5rem;
	z-index:1;
}

body:not(.web-gpu):not(.web-gpu32) .functionality-requires-web-gpu > *{
	opacity:.5;
}
body:not(.web-gpu):not(.web-gpu32) .functionality-requires-web-gpu:before{
	background-color:rgba(255,0,0,.7);
}



/*   OLD iOS DEVICE WARNING  */

#device-too-old-warning-container{
	padding:15px;
	min-height:100px;
}



/*   RESEARCHER  */

.researcher-download-link-count{
	opacity:.5;
}
.researcher-download-link-count:after{
	content:'. ';
}

.researcher-download-link-hint-text{
	font-size:80%;
	font-weight:100;
}

.researcher-downloaded-link:hover{
	background-color:var(--button-hover-bg);
	color:var(--button-hover-text-color);
}



/*  SCRIBE  */


.clock-time-elapsed{
	font-size:200%;
	margin-top:10px;
}

.scribe-transcription-title{
	cursor:pointer;
	margin-bottom: 15px;
}

.scribe-transcription-title h4{
	display:flex;
}
.scribe-transcription-title span{
	display:inline-block;
	font-size:80%;
	line-height:110%;
}

img.scribe-transcription-title-icon{
	width:25px;
	height:25px;
}
img.scribe-transcription-title-origin-icon:hover,
img.scribe-transcription-title-destination-icon:hover{
	transform:scale(1.2);
	transition:all ease .3s;
}

img.scribe-transcription-title-destination-icon{
	margin-top:0;
	margin-right:5px;
	float:left;
}

.scribe-transcription-title-arrow-icon{
	margin-right:3px;
}

.transcription-bubble-settings-label{
	margin-bottom:5px;
}

.scribe-speaker-list:not(:empty):before{
	content:" ";
	background:url('../images/person_icon.svg') no-repeat;
	display: block;
    font-size: 200%;
    width: 100%;
    margin: 30px 0 8px 0px;
}


.scribe-stream-info{
	height:auto;
	max-height:100px;
	overflow:hidden;
	transition:all ease .3s;
	font-style:italic;
	font-size:80%;
	padding:5px;
	margin:10px 15px 3px 15px;
	text-align:center;
	white-space:nowrap;
}

.scribe-stream-info:empty{
	transition:all ease .5s;
	height:0;
	max-height:0;
	padding:0;
	margin:0;
}

.scribe-progress-info.hint-area:not(:empty){
	display:block;
	min-height:50px;
}
.scribe-progress-info.hint-area:not(:empty):before{
	content:' ';
	background: url('../images/fingerprint_icon.svg') no-repeat;
	background-size:contain;
	width:25px;
	height:25px;
	left:7px;
}


.scribe-transcription-done-indicator{
	display:none;
    position: absolute;
    top: 30px;
    right: 15px;
    font-size: 120%;
}

.scribe-transcription-stopped .scribe-transcription-done-indicator{
	display:block;
}
.scribe-transcription-stopped progress,
.scribe-transcription-stopped .scribe-transcription-stop-button{
	display:none;
}


.scribe-transcription-footer{
	margin-top:25px;
}

.message.participant-scribe:not(.scribe-transcription-stopped) .transcription-after-container{
	display:none;
}

.speaker-item-visibility-hide-button,
.speaker-item-invisibility-button{
	cursor:pointer;
}

.transcription-stats-container:not(:empty){
	margin: 15px 5px;
}

.transcription-stats-container .flex-between{
	border-bottom: 1px solid rgba(0,0,0,.2);
	padding-bottom:3px;
}

.scribe-transcription-interrupted .scribe-transcription-done-indicator{
	opacity:.5;
	filter: invert(100%);
}


.message.pane-scribe.participant-scribe{
	min-width:80%;
}
.chat-setting-wrapper.scribe-transcription-info-settings-wrapper{
	min-width:200px;
}











/*  LOADING/WAITING SPINNER  */

.spinner{
	display:inline-block;
	width:15px;
	height:15px;
	margin:0;
	border-radius:50%;
	border:3px dashed var(--button-text-color);
}

#message-content-container .spinner{
	margin:10px;
}

.spinner,
.rotating {
  -webkit-animation: rotating 3s linear infinite;
  -moz-animation: rotating 3s linear infinite;
  -ms-animation: rotating 3s linear infinite;
  -o-animation: rotating 3s linear infinite;
  animation: rotating 3s linear infinite;
}

@keyframes rotating {
  from {
    -ms-transform: rotate(0deg);
    -moz-transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -ms-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    -webkit-transform: rotate(360deg);
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
/*
@media only screen and (min-width: 500px){
	#tutorial .functionalities-list img{
		min-height:125px;
	}
}
*/
@media only screen and (min-width: 641px){
	#main-view{
		position:relative;
	}
	
	#main-view #header{
		padding-left:0;
	}
	
	.show-only-if-phone{
		display:none;
	}
	
	body:not(.has-keyboard) .chat .content .message-content:not(:empty){
		padding: 15px;
	}

	.chat .message-content .message .bubble {
		padding:10px 15px;
	}
	
	body.has-conversation:not(.doing-assistant):not(.waiting-for-response):not(.document-active):not(.show-rewrite):not(.chat-shrink):not(.doing-stt):not([class^="doing-"]):not([class*=" doing-"]) #clear-assistant-button{
		display:flex;
	}
	
	#mobile-back-to-document-button{
		display:none;
	}
	
	#ask-for-name-dialog{
		min-width:450px;
	}
	
}




@media only screen and (min-width: 801px){
	
	#rewrite-dialog-header{
		display:none;
	}
	
	body.show-rewrite #tools{
		position:relative;
		width:100%;
	}
	body:not(#assistant-translator).show-rewrite #tools{
		padding-top:50px;
	}
	
	dialog{
		min-width:450px;
		max-width: 80vw;
	}
	dialog > .prevent-propagation{
		padding: 3rem 4rem;
	}
	
	#playground-overlay .FIE_topbar-history-buttons{
		gap:8px;
	}
	
	.sidebar .chat .content {
	    border-left: 1px solid var(--thin-border-color);
	}
	body:not(.coder) #editor.code-editor div[spellcheck]{
		padding-right:2rem;
	}
	
	body:not(.sidebar).chat-shrink #rewrite-document-buttons-container > button > span:not(.icon){
		display:inline;
		white-space:nowrap;
		margin-left:5px;
	}
	
	
}

@media only screen and (min-width: 981px){
	body #sidebars{
		position:initial;
	}
	dialog{
		max-width: 80vw;
	}
	
	body.sidebar.show-document.show-rewrite .short-rewrite #rewrite-results-dialog-original-text-container{
		display:flex;
	}
	
	#main-chat{
		max-width:640px;
	}
	
	body.show-document #main-chat{
		max-width:480px;
	}
	
	body:not(.coder) #editor.code-editor div[spellcheck]{
		padding-right:3rem;
	}
	
	body:not(.sidebar).chat-shrink #recently-opened-documents-list-inner{
		max-width:870px;
	}
	
	
	body:not(.sidebar) #rewrite-document-buttons-container > button > span:not(.icon){
		display:inline;
		white-space:nowrap;
		margin-left:5px;
	}
	
	body:not(.chat-shrink) #main-chat{
		min-width:330px;
	}
}

@media only screen and (min-width: 1201px){
	dialog{
		max-width: 80vw;
	}
	
	.received-dialog{
		max-width:60rem;
	}
	/*
	dialog > .prevent-propagation{
		padding: 3rem 6rem;
	}
	*/
	#prompt-at-line-input{
	    width: 25rem;
	    height: 10rem;
	}
	
	#rewrite-document-buttons-container .icon{
		display:inline-block;
		margin-right:5px;
	}
	.vex-dialog-form{
		max-width:800px;
	}
	
	#new-custom-ai-dialog{
		max-width:60rem;
	}
	
	.functionalities-lists,
	#recently-opened-documents-list-container{
		padding:2rem;
	}
	
	body.show-document #main-chat{
		max-width:450px;
	}
	
	body:not(.sidebar) #document-form-limiter{
		padding-right:2rem;
	}
	
	body.chat-shrink #recently-opened-documents-list-inner{
		max-width:870px;
	}
	
	.user-info{
		min-width:200px;
	}
	body.has-conversation .user-info,
	body:not(.idle) .user-info{
		min-width:50px;
	}
	
	body.viewing-media.chat-shrink:not(.sidebar) #playground-overlay{
		flex-direction:row;
		align-items:flex-start;
	}
	body.viewing-media.chat-shrink:not(.sidebar) #playground-overlay #overlay-description-container{
		height:calc(100% - 30px);
		min-width:400px
	}
	body.viewing-media.chat-shrink:not(.sidebar) #playground-overlay .playground-overlay-media-container{
		max-height:100%;
	}
	
	
	body.viewing-media.chat-shrink:not(.sidebar) .playground-overlay-media-container{
		max-height:100%;
	}
	
	body.viewing-media.chat-shrink:not(.sidebar) .overlay-image-description-container{
		margin-top:15px;
		margin-right:30px;
		padding:0;
	}
	
	body.viewing-media.chat-shrink:not(.sidebar) #overlay-description{
		margin:0;
		min-width:400px;
		height:100%;
	}
	
	body.viewing-media.chat-shrink:not(.sidebar) #media-player{
		max-height:70vh;
	}
	
	#rewrite-document-buttons-container > button > span:not(.icon){
		display:inline;
		white-space:nowrap;
	}
	
}


@media only screen and (min-width: 1500px){
	body #content-container #document-form-limiter{
		padding-right:2rem;
	}
	
	#recently-opened-documents-list-inner{
		max-width:870px;
	}
	
	body.show-document #main-chat{
		max-width:450px;
	}
	
	body.viewing-media:not(.sidebar) #playground-overlay{
		flex-direction:row;
		align-items:flex-start;
	}
	body.viewing-media:not(.sidebar) #playground-overlay #overlay-description-container{
		height:100%;
		min-width:400px
	}
	body.viewing-media:not(.sidebar) #playground-overlay .playground-overlay-media-container{
		max-height:100%;
	}
	
	
}


@media only screen and (min-width: 1800px){
	body.viewing-media #playground-overlay{
		flex-direction:row;
		align-items:flex-start;
	}
	
	body.viewing-media #playground-overlay #overlay-description-container{
		height:100%;
		min-width:400px
	}
	
	body.viewing-media #playground-overlay .playground-overlay-media-container{
		max-height:100%;
	}
}


@media only screen and (min-width: 641px) and (max-width: 1024px){
	body:not(.sidebar).sidebar-chat #sidebars-header{
		width:56px;
		overflow:hidden;
	}
	
	body.sidebar.sidebar-chat.sidebar-shrink #sidebars{
		min-width:56px;
		width:56px;
		max-width:56px;
		position:initial;
	}
	body.sidebar.sidebar-chat.sidebar-shrink #back-button-container{
		width:0;
		min-width:0;
		padding:0;
	}
	body.sidebar.sidebar-chat.sidebar-shrink #sidebars-header-wrapper{
		max-width:56px;
	}
	body.sidebar.sidebar-chat.sidebar-shrink #sidebars-header-wrapper #sidebar-header-docs-button{
		width:56px;
		min-width:56px;
		max-width:56px;
	}
	
	body.sidebar.sidebar-chat.sidebar-shrink .show-if-busy-selecting-assistants{
		opacity:0;
	}
	
	#file-manager .button{
		min-width:35%;
		text-align:center;
		justify-content:center;
	}
}


@media only screen and (max-width: 640px) {
	body:not(.chat-message-form-more-height) #submit-prompt-button{
		padding: 0.2rem 0.5rem 0 0.5rem;
	}
	
	body.microphone-enabled #message-content-container:after{
		display:none!important;
	}
	
	.FIE_topbar{
		padding-left:2px!important;
	}
	#playground-overlay .FIE_tab{
		gap:1px;
		min-height: 50px;
	}
	
	body.show-camera.show-rewrite #tools,
	body:not(#assistant-image_to_text).show-camera #tools{
		position:absolute;
		width:100%;
	}
	
	body.show-camera.show-rewrite #tools-rewrite-container,
	/*body.show-camera #sidebars,*/
	body.show-camera #main-view{
		display:none;
	}
	
	#document-form-container{
		padding-left:46px;
	}
	
	#main-chat{
		width:100%;
	}
	
	body.show-document:not(.chat-shrink) #message-header-container{
		height:50px;
		max-height:50px;
	}
	
	#main-view{
		top:50px;
		height:calc(100% - 50px);
		max-height:calc(100vh - 50px);
	}
	
	#tutorial{
		display:none;
	}
	
	body.has-conversation:not(.show-document):not(.doing-assistant):not(.waiting-for-response):not(.document-active):not(.show-rewrite):not(.chat-shrink):not(.doing-stt):not([class^="doing-"]):not([class*=" doing-"]) #clear-assistant-button{
		display:flex;
	}
	
	body.show-document.chat-message-form-more-height #message-form-audio-buttons-wrapper{
		flex-direction:column;
		width: 50px;
	}
	
	body.show-document:not(.current-modified):not(.blueprint) #document-footer-mobile-space-saver{
		flex-direction:column;
	}
	body.show-document #document-footer-mobile-space-saver > .document-footer-buttons-wrapper{
		flex-grow:1;
	}
	
	body.show-document.microphone-enabled #message-content-container:after{
		display:none!important;
	}
	
	.image-context-buttons-container{
		margin-left:15px;
		margin-right:15px;
	}
	
	.functionalities-lists-wrapper button{
		flex-direction:column;
	}
	
	.functionalities-lists-wrapper .icon-container{
		margin-bottom:10px;
	}
	
	
	.download-progress-title{
		white-space: nowrap;
	}
	
	body.show-document #clear-assistant-button{
		display:none;
	}
	
	body.show-document:not(.sidebar) #message-downloads-container{
		z-index:10000;
	}
	body.show-document:not(.sidebar) #message-downloads-container.unshrink-downloads-container{
		z-index:10000;
		
	}
	body.show-document:not(.sidebar) #message-downloads-container:not(.unshrink-downloads-container){
		max-width:50px;
		max-height:50px;
	}
	
	body.show-document:not(.sidebar) #message-downloads-container:not(.unshrink-downloads-container) > div{
		width:50px;
		height:50px;
		padding:0 5px;
		display:flex;
		align-items:center;
		justify-content:center;
	}
	body.show-document:not(.sidebar) #message-downloads-container:not(.unshrink-downloads-container) .download-progress-title,
	body.show-document:not(.sidebar) #message-downloads-container:not(.unshrink-downloads-container) .download-message-footer{
		display:none;
	}
	
	body.show-document:not(.sidebar) #message-downloads-container:not(.unshrink-downloads-container) progress{
        width: 100%;
        min-width: 40px;
        min-height: 10px;
        margin-bottom: 0;
	}
	
	
	body:not(.doc-has-summary-selection) .doc-selection-hint-text{
		display:none;
	}
	
	
	.chat .chat-sidebar .contacts ul li img{
	    width: 36px;
	    height: 36px;
	}
	
	body.show-document #message-form-resize-handle{
		display:none;
	}
	
}




@media only screen and (max-width: 980px) {
	#close-sidebar-button,
	#playground-sidebar,
	#chat-sidebar-container,
	#settings-sidebar{
		border-right:1px solid var(--chat-bg);
	}
}


@media only screen and (max-width: 1024px) {
	body.show-document:not(.chat-message-form-more-height) #submit-prompt-button{
		padding: 0.2rem 0.5rem 0 0.5rem;
	}
}

/*  mobile / touch devices  */

@media (hover: none) {
	body .message-content .message .bubble-new-doc-button,
	body.show-document.message-content .message .bubble-insert-into-doc-button{
		display:inline-block;
	}
	
	.chat .message-content .message:not(.model-examples-chat-message) .small-corner-close-button{
		opacity:.2;
	}
}



.ͼ1 .cm-indent-markers::before{
	opacity:.3;
}
.light .ͼ1 .cm-indent-markers::before{
	opacity:.2;
}

.light.intro-ai .chat .message-header .user-status, 
.light.model-loaded .chat .message-header .user-status{
	color:var(--green-text-color);
}

.light #negative-prompt{
	background-color:#c97f7f;
}


span[title="Fold line"]{
	display:none;
}

.width100{
	width:100%;
}



@media only screen and (max-width: 640px) {
	#message-header-container{
		margin-top:0;
		background-color:var(--chat-header-bg);
		transition: all ease .3s;
		z-index:2;
		width:100%;
	}	
	
	#chat-content{
		height:100%;
	}
	
	#pip-icon-container,
	body.show-document:not(.show-rewrite) #yet-another-tools-wrapper,
	body.sidebar #message-form-audio-buttons-container{
		display:none;
	}
	
	#settings-sidebar-tabs-buttons-container > div{
		padding:0.7rem 1rem;
	}
	
	body.show-document #message-form-audio-buttons-container{
		z-index:2;
		margin:0;
		padding:8px 5px 0px 5px;
	}
	
	
	
	body.show-document.doc-has-text #message-form-audio-buttons-container,
	body.show-document.current-modified #message-form-audio-buttons-container,
	body.show-document.can-undo #message-form-audio-buttons-container,
	body.show-document.can-undo #message-form-audio-buttons-container,
	
	body.show-document.can-undo #message-form-audio-buttons-container,
	body.show-document.can-redo #message-form-audio-buttons-container{
		background-color:var(--chat-footer-bg);
	}
	
	body.show-document #message-form-extra-wrapper{
		align-items: flex-end;
	}
	
}



#do-pip-button{
	width:36px;
	height:36px;
	align-items:center;
	justify-content:center;
	border-radius:18px;
	margin:0px 2px 10px 2px;
	
}

#do-pip-button-image{
	width:20px;
	height:16px;
	min-width: 20px;
	transition: all ease .2s;
}

#do-pip-button:hover #do-pip-button-image{
	transform:scale(1.2);
	transition: all ease .2s;
}

body.pip-available:not(.first-run):not(.is-firefox).chat-shrink #do-pip-button{
	display:flex;
}




