:root {
  interpolate-size: allow-keywords;
  --doc-height: 100%;
  --transparent: #0000;
  --black30a: #0000004d;
  --black50a: #00000080;
  --black60a: #0009;
  --black70a: #000000b3;
  --black90a: #000000e6;
  --black100: #000;
  --white20a: #fff3;
  --white30a: #ffffff4d;
  --white50a: #ffffff80;
  --white60a: #fff9;
  --white70a: #ffffffb3;
  --white100: #fff;
  --grey10: #191919;
  --grey30: #4b4b4b;
  --grey50: #7d7d7d;
  --grey5020a: #7d7d7d33;
  --grey5050a: #7d7d7d80;
  --grey70: #afafaf;
  --grey75: #bebebe;
  --grey30a: #3232324d;
  --grey7070a: #afafafb3;
  --fullred: red;
  --crimson70a: #640000b3;
  --crimson-hover: #96323280;
  --okGreen70a: #006400b3;
  --cobalt30a: #6464ff4d;
  --greyCAIbg: #242425;
  --ivory: #dcdcd2;
  --golden: #f8d300;
  --warning: #ff0000e6;
  --active: #58b600;
  --preferred: #f44336;
  --interactable-outline-color: var(--white100);
  --interactable-outline-color-faint: var(--white20a);
  --reasoning-body-color: var(--SmartThemeEmColor);
  --reasoning-em-color: color-mix(in srgb, var(--SmartThemeEmColor) 67%, var(--SmartThemeBlurTintColor) 33%);
  --reasoning-saturation: .5;
  --SmartThemeBodyColor: #abc6df;
  --SmartThemeEmColor: #fff;
  --SmartThemeUnderlineColor: #bce7cf;
  --SmartThemeQuoteColor: #b983ff;
  --SmartThemeBlurTintColor: #171717;
  --SmartThemeChatTintColor: #171717;
  --SmartThemeUserMesBlurTintColor: #0000004d;
  --SmartThemeBotMesBlurTintColor: #3c3c3c4d;
  --SmartThemeBlurStrength: calc(var(--blurStrength) * 1px);
  --SmartThemeShadowColor: #00000080;
  --SmartThemeBorderColor: #00000080;
  --SmartThemeCheckboxBgColorR: 220;
  --SmartThemeCheckboxBgColorG: 220;
  --SmartThemeCheckboxBgColorB: 210;
  --SmartThemeCheckboxTickColorValue: calc(((((var(--SmartThemeCheckboxBgColorR) * 299)  + (var(--SmartThemeCheckboxBgColorG) * 587)  + (var(--SmartThemeCheckboxBgColorB) * 114)) / 1000)  - 128) * -1000);
  --SmartThemeCheckboxTickColor: rgb(var(--SmartThemeCheckboxTickColorValue), var(--SmartThemeCheckboxTickColorValue), var(--SmartThemeCheckboxTickColorValue));
  --sheldWidth: 50vw;
  --fontScale: 1;
  --mainFontSize: calc(var(--fontScale) * 15px);
  --mainFontFamily: "Noto Sans", sans-serif;
  --monoFontFamily: "Noto Sans Mono", "Courier New", Consolas, monospace;
  --blurStrength: 10;
  --shadowWidth: 2;
  --bottomFormBlockPadding: calc(var(--mainFontSize) / 2.5);
  --bottomFormIconSize: calc(var(--mainFontSize) * 1.9);
  --bottomFormBlockSize: calc(var(--bottomFormIconSize)  + var(--bottomFormBlockPadding));
  --topBarIconSize: calc(var(--mainFontSize) * 2);
  --topBarBlockSize: calc(var(--topBarIconSize)  + var(--topBarBlockPadding));
  --topBarBlockPadding: calc(var(--mainFontSize) / 3);
  --tool-cool-color-picker-btn-bg: transparent;
  --tool-cool-color-picker-btn-border-color: transparent;
  --mes-right-spacing: 30px;
  --avatar-base-height: 50px;
  --avatar-base-width: 50px;
  --avatar-base-border-radius: 2px;
  --avatar-base-border-radius-round: 50%;
  --avatar-base-border-radius-rounded: 10px;
  --inline-avatar-small-factor: .6;
  --animation-duration: .125s;
  --animation-duration-2x: calc(var(--animation-duration) * 2);
  --animation-duration-3x: calc(var(--animation-duration) * 3);
  --animation-duration-slow: var(--animation-duration-3x);
}

* {
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.spin-overlay {
  background-color: #000;
  animation: 3s ease-in-out infinite breath;
}

@keyframes breath {
  0% {
    background-color: #0009;
  }

  50% {
    background-color: #00000080;
  }

  100% {
    background-color: #0009;
  }
}

.wave-text span {
  font-family: var(--mainFontFamily);
  animation: 2s ease-in-out infinite wave;
  display: inline-block;
}

.wave-text span:first-child {
  animation-delay: 0s;
}

.wave-text span:nth-child(2) {
  animation-delay: .2s;
}

.wave-text span:nth-child(3) {
  animation-delay: .4s;
}

.wave-text span:nth-child(4) {
  animation-delay: .6s;
}

.wave-text span:nth-child(5) {
  animation-delay: .8s;
}

.wave-text span:nth-child(6) {
  animation-delay: 1s;
}

.wave-text span:nth-child(7) {
  animation-delay: 1.2s;
}

@keyframes wave {
  0%, 100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-8px);
  }
}

body {
  font-size: var(--mainFontSize);
  color: var(--SmartThemeBodyColor);
}

.mes_text table, .mes_reasoning table {
  border-spacing: 0;
  border-collapse: collapse;
  margin-bottom: 10px;
}

.mes_text td, .mes_text th, .mes_reasoning td, .mes_reasoning th {
  border-collapse: collapse;
  border: 1px solid;
  padding: .25em;
}

.mes_text p, .mes_reasoning p {
  margin-top: 0;
  margin-bottom: 10px;
}

.mes_text li tt, .mes_reasoning li tt {
  display: inline-block;
}

.mes_text ol, .mes_text ul, .mes_reasoning ol, .mes_reasoning ul {
  margin-top: 5px;
  margin-bottom: 5px;
}

.mes_text br, .mes_bias br, .mes_reasoning br {
  content: " ";
}

.mes q:before, .mes q:after, .mes_text q:before, .mes_text q:after {
  content: "";
}

.mes_text br {
  display: none;
}

.mes_text table {
  border-spacing: 0;
  border-collapse: collapse;
  margin-bottom: 16px;
}

.mes_text td, .mes_text th {
  border-collapse: collapse;
  border: 1px solid;
  padding: .25em;
}

.mes_text p {
  color: var(--SmartThemeBodyColor);
  margin-top: 0;
  margin-bottom: 16px;
}

.mes_text, .mes_reasoning {
  line-height: calc(var(--mainFontSize)  + .5rem);
  overflow-wrap: anywhere;
  max-width: 100%;
}

.mes_text p:only-child, .mes_text p:only-of-type {
  margin-bottom: 0;
}

.mes_text ol {
  unicode-bidi: isolate;
  margin-block: 1em;
  margin-inline: 0;
  padding-inline-start: 24px;
  list-style-type: decimal;
  display: block;
}

.mes_text li tt {
  display: inline-block;
}

.mes_text li {
  position: relative;
}

.mes_text ol, .mes_text ul {
  margin-top: 5px;
  margin-bottom: 5px;
}

.mes_text br, .mes_bias br {
  content: " ";
  margin: 2px 0;
  display: block;
}

.mes_bias {
  font-size: calc(var(--mainFontSize)  - .1rem);
  color: var(--SmartThemeQuoteColor);
  font-weight: 500;
  display: block;
}

.mes_text i, .mes_text em {
  color: var(--SmartThemeEmColor);
}

.mes_reasoning i, .mes_reasoning em {
  color: hsl(from var(--reasoning-em-color) h calc(s * var(--reasoning-saturation)) l);
}

.mes_text q i, .mes_text q em {
  color: inherit;
}

.mes_reasoning q i, .mes_reasoning q em {
  color: hsl(from var(--SmartThemeQuoteColor) h calc(s * var(--reasoning-saturation)) l);
}

.mes_text u {
  color: var(--SmartThemeUnderlineColor);
}

.mes_reasoning u {
  color: hsl(from var(--SmartThemeUnderlineColor) h calc(s * var(--reasoning-saturation)) l);
}

.mes_text q {
  color: var(--SmartThemeQuoteColor);
}

.mes_reasoning q {
  color: hsl(from var(--SmartThemeQuoteColor) h calc(s * var(--reasoning-saturation)) l);
}

.mes_text font[color] em, .mes_text font[color] i, .mes_text font[color] u, .mes_text font[color] q, .mes_reasoning font[color] em, .mes_reasoning font[color] i, .mes_reasoning font[color] u, .mes_reasoning font[color] q {
  color: inherit;
}

.mes_text rp {
  display: block;
}

.mes_text blockquote, .mes_reasoning blockquote {
  border-left: 3px solid var(--SmartThemeQuoteColor);
  background-color: var(--black30a);
  margin: 0;
  padding-left: 10px;
}

.mes_text strong em, .mes_text strong, .mes_text h2, .mes_text h1, .mes_reasoning strong em, .mes_reasoning strong, .mes_reasoning h2, .mes_reasoning h1 {
  font-weight: bold;
}

.mes_text pre code, .mes_reasoning pre code {
  padding: 1em;
  display: block;
  position: relative;
  overflow-x: auto;
}

.mes_text img:not(.mes_img), .mes_reasoning img:not(.mes_img) {
  max-width: 100%;
  max-height: var(--doc-height);
}

code {
  font-family: var(--monoFontFamily);
  white-space: pre-wrap;
  line-height: var(--mainFontSize);
  color: var(--white70a);
  border: 1px solid #fff;
  padding: 0 3px;
}

.mes-dialogue {
  background: var(--SmartThemeQuoteBg);
  -webkit-text-fill-color: transparent;
  color: #0000;
  -webkit-background-clip: text;
  background-clip: text;
}

.mes_text img {
  width: 100%;
}

