#ai {
  padding: 0 1rem 1rem 1rem;
  height: 100%;
  display: grid;
  row-gap: 16px;
  align-content: start;
  grid-template-rows: 1fr auto;
}
#ai.settings {
  grid-template-rows: auto 1fr auto;
}
#ai .title {
  user-select: none;
  align-self: center;
  font-weight: 600;
}
#ai .title:is(.dark *) {
  color: #d5bfae;
}
#ai .title:is(.light *) {
  color: #604c44;
}
#ai input,
#ai textarea {
  font-family: var(--sans-serif);
  font-size: var(--sans-serif-size);
  width: 100%;
}
#ai input:is([type=text], [type=search], [type=password], [type=date], [type=time], textarea),
#ai textarea:is([type=text], [type=search], [type=password], [type=date], [type=time], textarea) {
  padding: 0 0.5rem;
}
#ai input:is(.dark *),
#ai textarea:is(.dark *) {
  color: #cccccc;
}
#ai input:is(.light *),
#ai textarea:is(.light *) {
  color: #333333;
}
#ai input:is(.classic *),
#ai textarea:is(.classic *) {
  border-width: 0.0625rem;
  border-style: solid;
}
#ai input:is(.classic *):is(.dark *),
#ai textarea:is(.classic *):is(.dark *) {
  border-bottom-color: #413e3e;
  border-right-color: #413e3e;
  border-top-color: #0c0c0c;
  border-left-color: #0c0c0c;
  background-color: #1e1d1d;
}
#ai input:is(.modern *),
#ai textarea:is(.modern *) {
  border-radius: 0.25rem;
  border-width: 2px;
  border-style: solid;
}
#ai input:is(.modern *):is(.dark *),
#ai textarea:is(.modern *):is(.dark *) {
  background-color: #1e1d1d;
  border-color: #383433;
}
#ai input:is(.modern *):is(.light *),
#ai textarea:is(.modern *):is(.light *) {
  background-color: #fffbfb;
  border-color: #c9bfbc;
}
#ai input[type=file],
#ai textarea[type=file] {
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  opacity: 0;
  position: absolute;
  z-index: 7;
  cursor: pointer;
  margin: -10rem;
}
#ai input[type=file]::-webkit-file-upload-button,
#ai textarea[type=file]::-webkit-file-upload-button {
  cursor: pointer;
}
#ai input[type=radio],
#ai textarea[type=radio] {
  appearance: none;
  cursor: pointer;
  border-radius: 50%;
  aspect-ratio: 1 / 1;
}
#ai input[type=radio]:is(.modern *):is(.dark *):checked,
#ai textarea[type=radio]:is(.modern *):is(.dark *):checked {
  background-color: #ff4e00;
  border-color: #802600;
  box-shadow: 0 0 3rem 1rem #ff4d0021;
}
#ai input[type=radio]:is(.modern *):is(.light *):checked,
#ai textarea[type=radio]:is(.modern *):is(.light *):checked {
  background-color: #ff4e00;
  border-color: #ff9466;
  box-shadow: 0 0 3rem 1rem #ff4d0021;
}
#ai input[type=radio]:is(.classic *):is(.dark *):checked,
#ai textarea[type=radio]:is(.classic *):is(.dark *):checked {
  background-color: #ff4e00;
  box-shadow: 0 0 3rem 1rem #ff4d0021;
  border-top-color: #330f00;
  border-left-color: #330f00;
  border-bottom-color: #802600;
  border-right-color: #802600;
  border-width: 1.4px;
}
#ai input[type=checkbox],
#ai textarea[type=checkbox] {
  appearance: none;
  cursor: pointer;
  aspect-ratio: 1 / 1;
}
#ai input[type=checkbox]:is(.modern *),
#ai textarea[type=checkbox]:is(.modern *) {
  border-radius: 0.25rem;
  border-style: solid;
  border-width: 2px;
}
#ai input[type=checkbox]:is(.modern *):is(.dark *),
#ai textarea[type=checkbox]:is(.modern *):is(.dark *) {
  background-color: #1e1d1d;
  border-color: #383433;
}
#ai input[type=checkbox]:is(.modern *):is(.dark *):checked,
#ai textarea[type=checkbox]:is(.modern *):is(.dark *):checked {
  background-color: #ff4e00;
  border-color: #ff4e00;
  box-shadow: 0 0 3rem 1rem #ff4d0021;
  background-image: var(--check-icon);
}
#ai input[type=checkbox]:is(.modern *):is(.light *),
#ai textarea[type=checkbox]:is(.modern *):is(.light *) {
  background-color: #fffbfb;
  border-color: #c9bfbc;
}
#ai input[type=checkbox]:is(.modern *):is(.light *):checked,
#ai textarea[type=checkbox]:is(.modern *):is(.light *):checked {
  background-color: #ff4e00;
  border-color: #ff4e00;
  box-shadow: 0 0 3rem 1rem #ff4d0021;
  background-image: var(--check-icon);
}
#ai input[type=checkbox]:is(.classic *):checked,
#ai textarea[type=checkbox]:is(.classic *):checked {
  background-color: #ff4e00;
  box-shadow: 0 0 3rem 1rem #ff4d0021;
  background-image: var(--check-icon);
  border-bottom: 2px solid #bd3900;
  border-right: 2px solid #bd3900;
  border-top: 2px solid #762300;
  border-left: 2px solid #762300;
}
#ai .button {
  display: grid;
  position: relative;
  overflow: hidden;
  min-width: max-content;
  cursor: pointer;
  padding: 0.25rem 1rem;
}
@media (width < 24rem) {
  #ai .button {
    padding: 0.25rem 0.25rem;
  }
}
#ai .button > span {
  user-select: none;
  font-family: var(--sans-serif);
  font-size: var(--sans-serif-size);
  display: grid;
  grid-auto-flow: column;
  justify-content: center;
  align-content: center;
  height: 100%;
  width: 100%;
  position: relative;
}
#ai .button:is(.classic *):is(.dark *) {
  color: #d5bfae;
  background: url(../img/button-top-left.png) top left no-repeat, url(../img/button-top-right.png) top right no-repeat, url(../img/button-bottom-left.png) bottom left no-repeat, url(../img/button-bottom-right.png) bottom right no-repeat, url(../img/button-top.png) top repeat-x, url(../img/button-bottom.png) bottom repeat-x, url(../img/button-left.png) left repeat-y, url(../img/button-right.png) right repeat-y, url(../img/button-center.png) center / cover no-repeat;
}
#ai .button:is(.classic *):is(.dark *):active:is(.classic.dark *) {
  color: #e4845a;
  background: url(../img/pressed-top-left.png) top left no-repeat, url(../img/pressed-top-right.png) top right no-repeat, url(../img/pressed-bottom-left.png) bottom left no-repeat, url(../img/pressed-bottom-right.png) bottom right no-repeat, url(../img/pressed-top.png) top repeat-x, url(../img/pressed-bottom.png) bottom repeat-x, url(../img/pressed-left.png) left repeat-y, url(../img/pressed-right.png) right repeat-y, url(../img/pressed-center.png) center / cover no-repeat;
}
#ai .button:is(.classic *):is(.dark *):active:is(.classic.dark *) > span {
  transform: translate(0, 1px);
}
#ai .button:is(.modern *) {
  border-style: solid;
  border-width: 2px;
  border-radius: 0.25rem;
}
#ai .button:is(.modern *):is(.dark *) {
  border-color: #383433;
  color: #d5bfae;
}
#ai .button:is(.modern *):is(.dark *):hover {
  color: #e9c3a6;
}
#ai .button:is(.modern *):is(.light *) {
  border-color: #c9bfbc;
  color: #604c44;
}
#ai .button:is(.modern *):is(.light *):hover {
  color: #93614e;
}
#ai .button.icon {
  padding: 0;
  aspect-ratio: 1/1;
  height: 100%;
}
#ai .button.icon span {
  background-repeat: no-repeat;
  background-position: center;
}
#ai .button.trash.icon span {
  background-size: 30px;
}
#ai .button.trash.icon span:is(.dark *) {
  background-image: var(--icon-trash-dark);
}
#ai .button.trash.icon span:is(.light *) {
  background-image: var(--icon-trash-light);
}
#ai .button.close.icon span {
  background-size: 40%;
}
#ai .button.close.icon span:is(.dark *) {
  background-image: var(--icon-cross-dark);
}
#ai .button.close.icon span:is(.light *) {
  background-image: var(--icon-cross-light);
}
#ai .button.minimize.icon .dash {
  width: 14px;
  height: 1px;
  border-radius: 1px;
  background-color: #d09074;
  margin-top: 10px;
}
#ai .button.minimize.icon .dash:is(.dark *) {
  background-color: #d09074;
}
#ai .button.minimize.icon .dash:is(.light *) {
  background-color: #9b8b84;
}
#ai .button.settings.icon span {
  background-image: var(--icon-settings);
}
#ai .button.settings.icon span svg {
  width: var(--height);
}
#ai .button.settings.icon span svg .b {
  stroke: #9b8b84;
  stroke-miterlimit: 10;
}
#ai .button.save.icon span {
  background-size: 16px;
}
#ai .button.save.icon span:is(.dark *) {
  background-image: var(--icon-save-dark);
}
#ai .button.save.icon span:is(.light *) {
  background-image: var(--icon-save-light);
}
#ai .panel {
  display: grid;
  row-gap: 1rem;
  align-content: start;
  border-width: 2px;
  border-style: solid;
  padding: 1rem;
}
#ai .panel:is(.dark *) {
  color: #a08c81;
  background-color: #2e2b2b;
  border-color: #3c3939;
  background-image: url(../img/noise-dark.png);
}
#ai .panel:is(.light *) {
  color: #c76a4c;
  background-color: #f7efee;
  border-color: #d6d2d1;
  background-image: url(../img/noise-dark.png);
}
#ai .panel:is(.modern *) {
  border-radius: 0.3rem;
}
#ai .panel:is(.classic *) {
  border-color: #393737;
}
#ai .header {
  grid-auto-flow: column;
  column-gap: 16px;
  justify-content: left;
  display: none;
}
#ai .header:is(#ai.settings *) {
  display: grid;
}
#ai .header .button {
  min-height: 2.25rem;
}
#ai .header .password.widget {
  display: grid;
  grid-template-columns: 1fr auto;
  column-gap: 0.3125rem;
}
#ai .header .password.widget:is(.modern *) {
  border-radius: 0.25rem;
  border-width: 2px;
  border-style: solid;
}
#ai .header .password.widget:is(.modern *):is(.dark *) {
  background-color: #1e1d1d;
  border-color: #383433;
}
#ai .header .password.widget:is(.modern *):is(.light *) {
  background-color: #fffbfb;
  border-color: #c9bfbc;
}
#ai .header .password.widget input {
  font-family: var(--sans-serif);
  font-size: var(--sans-serif-size);
  font-family: var(--monospace);
  font-size: var(--monospace-size);
}
#ai .header .password.widget input:is([type=text], [type=search], [type=password], [type=date], [type=time], textarea) {
  padding: 0 0.5rem;
}
#ai .header .password.widget input:is(.dark *) {
  color: #cccccc;
}
#ai .header .password.widget input:is(.light *) {
  color: #333333;
}
#ai .header .password.widget input:is(.classic *) {
  border-width: 0.0625rem;
  border-style: solid;
}
#ai .header .password.widget input:is(.classic *):is(.dark *) {
  border-bottom-color: #413e3e;
  border-right-color: #413e3e;
  border-top-color: #0c0c0c;
  border-left-color: #0c0c0c;
  background-color: #1e1d1d;
}
#ai .header .password.widget input:is(.modern *) {
  border-radius: 0.25rem;
  border-width: 2px;
  border-style: solid;
}
#ai .header .password.widget input:is(.modern *):is(.dark *) {
  background-color: #1e1d1d;
  border-color: #383433;
}
#ai .header .password.widget input:is(.modern *):is(.light *) {
  background-color: #fffbfb;
  border-color: #c9bfbc;
}
#ai .header .password.widget input[type=file] {
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  opacity: 0;
  position: absolute;
  z-index: 7;
  cursor: pointer;
  margin: -10rem;
}
#ai .header .password.widget input[type=file]::-webkit-file-upload-button {
  cursor: pointer;
}
#ai .header .password.widget input[type=radio] {
  appearance: none;
  cursor: pointer;
  border-radius: 50%;
  aspect-ratio: 1 / 1;
}
#ai .header .password.widget input[type=radio]:is(.modern *):is(.dark *):checked {
  background-color: #ff4e00;
  border-color: #802600;
  box-shadow: 0 0 3rem 1rem #ff4d0021;
}
#ai .header .password.widget input[type=radio]:is(.modern *):is(.light *):checked {
  background-color: #ff4e00;
  border-color: #ff9466;
  box-shadow: 0 0 3rem 1rem #ff4d0021;
}
#ai .header .password.widget input[type=radio]:is(.classic *):is(.dark *):checked {
  background-color: #ff4e00;
  box-shadow: 0 0 3rem 1rem #ff4d0021;
  border-top-color: #330f00;
  border-left-color: #330f00;
  border-bottom-color: #802600;
  border-right-color: #802600;
  border-width: 1.4px;
}
#ai .header .password.widget input[type=checkbox] {
  appearance: none;
  cursor: pointer;
  aspect-ratio: 1 / 1;
}
#ai .header .password.widget input[type=checkbox]:is(.modern *) {
  border-radius: 0.25rem;
  border-style: solid;
  border-width: 2px;
}
#ai .header .password.widget input[type=checkbox]:is(.modern *):is(.dark *) {
  background-color: #1e1d1d;
  border-color: #383433;
}
#ai .header .password.widget input[type=checkbox]:is(.modern *):is(.dark *):checked {
  background-color: #ff4e00;
  border-color: #ff4e00;
  box-shadow: 0 0 3rem 1rem #ff4d0021;
  background-image: var(--check-icon);
}
#ai .header .password.widget input[type=checkbox]:is(.modern *):is(.light *) {
  background-color: #fffbfb;
  border-color: #c9bfbc;
}
#ai .header .password.widget input[type=checkbox]:is(.modern *):is(.light *):checked {
  background-color: #ff4e00;
  border-color: #ff4e00;
  box-shadow: 0 0 3rem 1rem #ff4d0021;
  background-image: var(--check-icon);
}
#ai .header .password.widget input[type=checkbox]:is(.classic *):checked {
  background-color: #ff4e00;
  box-shadow: 0 0 3rem 1rem #ff4d0021;
  background-image: var(--check-icon);
  border-bottom: 2px solid #bd3900;
  border-right: 2px solid #bd3900;
  border-top: 2px solid #762300;
  border-left: 2px solid #762300;
}
#ai .header .password.widget input:is(.modern.dark *, .modern.light *) {
  border-color: transparent;
  background-color: transparent;
}
#ai .header .password.widget .button {
  display: grid;
  position: relative;
  overflow: hidden;
  min-width: max-content;
  cursor: pointer;
  padding: 0.25rem 1rem;
  padding: 0;
  aspect-ratio: 1 / 1;
}
@media (width < 24rem) {
  #ai .header .password.widget .button {
    padding: 0.25rem 0.25rem;
  }
}
#ai .header .password.widget .button > span {
  user-select: none;
  font-family: var(--sans-serif);
  font-size: var(--sans-serif-size);
  display: grid;
  grid-auto-flow: column;
  justify-content: center;
  align-content: center;
  height: 100%;
  width: 100%;
  position: relative;
}
#ai .header .password.widget .button:is(.classic *):is(.dark *) {
  color: #d5bfae;
  background: url(../img/button-top-left.png) top left no-repeat, url(../img/button-top-right.png) top right no-repeat, url(../img/button-bottom-left.png) bottom left no-repeat, url(../img/button-bottom-right.png) bottom right no-repeat, url(../img/button-top.png) top repeat-x, url(../img/button-bottom.png) bottom repeat-x, url(../img/button-left.png) left repeat-y, url(../img/button-right.png) right repeat-y, url(../img/button-center.png) center / cover no-repeat;
}
#ai .header .password.widget .button:is(.classic *):is(.dark *):active:is(.classic.dark *) {
  color: #e4845a;
  background: url(../img/pressed-top-left.png) top left no-repeat, url(../img/pressed-top-right.png) top right no-repeat, url(../img/pressed-bottom-left.png) bottom left no-repeat, url(../img/pressed-bottom-right.png) bottom right no-repeat, url(../img/pressed-top.png) top repeat-x, url(../img/pressed-bottom.png) bottom repeat-x, url(../img/pressed-left.png) left repeat-y, url(../img/pressed-right.png) right repeat-y, url(../img/pressed-center.png) center / cover no-repeat;
}
#ai .header .password.widget .button:is(.classic *):is(.dark *):active:is(.classic.dark *) > span {
  transform: translate(0, 1px);
}
#ai .header .password.widget .button:is(.modern *) {
  border-style: solid;
  border-width: 2px;
  border-radius: 0.25rem;
}
#ai .header .password.widget .button:is(.modern *):is(.dark *) {
  border-color: #383433;
  color: #d5bfae;
}
#ai .header .password.widget .button:is(.modern *):is(.dark *):hover {
  color: #e9c3a6;
}
#ai .header .password.widget .button:is(.modern *):is(.light *) {
  border-color: #c9bfbc;
  color: #604c44;
}
#ai .header .password.widget .button:is(.modern *):is(.light *):hover {
  color: #93614e;
}
#ai .header .password.widget .button.icon {
  padding: 0;
  aspect-ratio: 1/1;
  height: 100%;
}
#ai .header .password.widget .button.icon span {
  background-repeat: no-repeat;
  background-position: center;
}
#ai .header .password.widget .button.trash.icon span {
  background-size: 30px;
}
#ai .header .password.widget .button.trash.icon span:is(.dark *) {
  background-image: var(--icon-trash-dark);
}
#ai .header .password.widget .button.trash.icon span:is(.light *) {
  background-image: var(--icon-trash-light);
}
#ai .header .password.widget .button.close.icon span {
  background-size: 40%;
}
#ai .header .password.widget .button.close.icon span:is(.dark *) {
  background-image: var(--icon-cross-dark);
}
#ai .header .password.widget .button.close.icon span:is(.light *) {
  background-image: var(--icon-cross-light);
}
#ai .header .password.widget .button.minimize.icon .dash {
  width: 14px;
  height: 1px;
  border-radius: 1px;
  background-color: #d09074;
  margin-top: 10px;
}
#ai .header .password.widget .button.minimize.icon .dash:is(.dark *) {
  background-color: #d09074;
}
#ai .header .password.widget .button.minimize.icon .dash:is(.light *) {
  background-color: #9b8b84;
}
#ai .header .password.widget .button.settings.icon span {
  background-image: var(--icon-settings);
}
#ai .header .password.widget .button.settings.icon span svg {
  width: var(--height);
}
#ai .header .password.widget .button.settings.icon span svg .b {
  stroke: #9b8b84;
  stroke-miterlimit: 10;
}
#ai .header .password.widget .button.save.icon span {
  background-size: 16px;
}
#ai .header .password.widget .button.save.icon span:is(.dark *) {
  background-image: var(--icon-save-dark);
}
#ai .header .password.widget .button.save.icon span:is(.light *) {
  background-image: var(--icon-save-light);
}
#ai .header .password.widget .button:is(.modern *):is(.dark *, .light *) {
  border-color: transparent;
}
#ai .header .password.widget .button span {
  background-repeat: no-repeat;
  background-size: 55%;
  background-position: center;
  background-image: var(--eye-off);
}
#ai .header .password.widget .button span:is(.dark *) {
  --eye-off: var(--eye-off-dark);
  --eye-on: var(--eye-on-dark);
}
#ai .header .password.widget .button span:is(.light *) {
  --eye-off: var(--eye-off-light);
  --eye-on: var(--eye-on-light);
}
#ai .header .password.widget .button span:is(.showed *) {
  background-image: var(--eye-on);
}
#ai .header label {
  display: grid;
  grid-template-columns: auto auto;
  gap: 12px;
}
#ai .main {
  display: grid;
  grid-template-columns: 2fr 1fr;
  column-gap: 1rem;
  overflow: hidden;
}
#ai .main .chat {
  row-gap: 1rem;
  border-width: 2px;
  border-style: solid;
  padding: 1rem;
  display: grid;
  row-gap: 16px;
  overflow-y: scroll;
  align-content: start;
  scroll-behavior: smooth;
}
#ai .main .chat:is(.dark *) {
  color: #a08c81;
  background-color: #2e2b2b;
  border-color: #3c3939;
  background-image: url(../img/noise-dark.png);
}
#ai .main .chat:is(.light *) {
  color: #c76a4c;
  background-color: #f7efee;
  border-color: #d6d2d1;
  background-image: url(../img/noise-dark.png);
}
#ai .main .chat:is(.modern *) {
  border-radius: 0.3rem;
}
#ai .main .chat:is(.classic *) {
  border-color: #393737;
}
#ai .main .chat .msg {
  display: grid;
  row-gap: 1rem;
  align-content: start;
  border-width: 2px;
  border-style: solid;
  padding: 1rem;
}
#ai .main .chat .msg:is(.dark *) {
  color: #a08c81;
  background-color: #2e2b2b;
  border-color: #3c3939;
  background-image: url(../img/noise-dark.png);
}
#ai .main .chat .msg:is(.light *) {
  color: #c76a4c;
  background-color: #f7efee;
  border-color: #d6d2d1;
  background-image: url(../img/noise-dark.png);
}
#ai .main .chat .msg:is(.modern *) {
  border-radius: 0.3rem;
}
#ai .main .chat .msg:is(.classic *) {
  border-color: #393737;
}
#ai .main .chat .msg:is(.dark *) {
  color: #c7c7c7;
}
#ai .main .chat .msg .controls {
  display: grid;
  grid-auto-flow: column;
  justify-content: space-between;
}
#ai .main .chat .msg .controls .role:is(.dark *) {
  color: #d5bfae;
}
#ai .main .chat .msg .controls .del {
  cursor: pointer;
  aspect-ratio: 1/1;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 30px;
}
#ai .main .chat .msg .controls .del:is(.dark *) {
  background-image: var(--icon-trash-dark);
}
#ai .main .chat .msg .controls .del:is(.light *) {
  background-image: var(--icon-trash-light);
}
#ai .main .chat .msg .content {
  font-family: var(--monospace);
  font-size: var(--monospace-size);
  white-space: pre-wrap;
}
#ai .main .side {
  display: grid;
  row-gap: 1rem;
  align-content: start;
  border-width: 2px;
  border-style: solid;
  padding: 1rem;
  grid-template-rows: auto 12rem 1fr;
}
#ai .main .side:is(.dark *) {
  color: #a08c81;
  background-color: #2e2b2b;
  border-color: #3c3939;
  background-image: url(../img/noise-dark.png);
}
#ai .main .side:is(.light *) {
  color: #c76a4c;
  background-color: #f7efee;
  border-color: #d6d2d1;
  background-image: url(../img/noise-dark.png);
}
#ai .main .side:is(.modern *) {
  border-radius: 0.3rem;
}
#ai .main .side:is(.classic *) {
  border-color: #393737;
}
#ai .main .side .select.widget {
  position: relative;
  min-height: 2rem;
}
#ai .main .side .select.widget .selected {
  font-family: var(--sans-serif);
  font-size: var(--sans-serif-size);
  padding: 0;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 0.1875rem;
  height: 100%;
  cursor: pointer;
  user-select: none;
}
#ai .main .side .select.widget .selected:is([type=text], [type=search], [type=password], [type=date], [type=time], textarea) {
  padding: 0 0.5rem;
}
#ai .main .side .select.widget .selected:is(.dark *) {
  color: #cccccc;
}
#ai .main .side .select.widget .selected:is(.light *) {
  color: #333333;
}
#ai .main .side .select.widget .selected:is(.classic *) {
  border-width: 0.0625rem;
  border-style: solid;
}
#ai .main .side .select.widget .selected:is(.classic *):is(.dark *) {
  border-bottom-color: #413e3e;
  border-right-color: #413e3e;
  border-top-color: #0c0c0c;
  border-left-color: #0c0c0c;
  background-color: #1e1d1d;
}
#ai .main .side .select.widget .selected:is(.modern *) {
  border-radius: 0.25rem;
  border-width: 2px;
  border-style: solid;
}
#ai .main .side .select.widget .selected:is(.modern *):is(.dark *) {
  background-color: #1e1d1d;
  border-color: #383433;
}
#ai .main .side .select.widget .selected:is(.modern *):is(.light *) {
  background-color: #fffbfb;
  border-color: #c9bfbc;
}
#ai .main .side .select.widget .selected[type=file] {
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  opacity: 0;
  position: absolute;
  z-index: 7;
  cursor: pointer;
  margin: -10rem;
}
#ai .main .side .select.widget .selected[type=file]::-webkit-file-upload-button {
  cursor: pointer;
}
#ai .main .side .select.widget .selected[type=radio] {
  appearance: none;
  cursor: pointer;
  border-radius: 50%;
  aspect-ratio: 1 / 1;
}
#ai .main .side .select.widget .selected[type=radio]:is(.modern *):is(.dark *):checked {
  background-color: #ff4e00;
  border-color: #802600;
  box-shadow: 0 0 3rem 1rem #ff4d0021;
}
#ai .main .side .select.widget .selected[type=radio]:is(.modern *):is(.light *):checked {
  background-color: #ff4e00;
  border-color: #ff9466;
  box-shadow: 0 0 3rem 1rem #ff4d0021;
}
#ai .main .side .select.widget .selected[type=radio]:is(.classic *):is(.dark *):checked {
  background-color: #ff4e00;
  box-shadow: 0 0 3rem 1rem #ff4d0021;
  border-top-color: #330f00;
  border-left-color: #330f00;
  border-bottom-color: #802600;
  border-right-color: #802600;
  border-width: 1.4px;
}
#ai .main .side .select.widget .selected[type=checkbox] {
  appearance: none;
  cursor: pointer;
  aspect-ratio: 1 / 1;
}
#ai .main .side .select.widget .selected[type=checkbox]:is(.modern *) {
  border-radius: 0.25rem;
  border-style: solid;
  border-width: 2px;
}
#ai .main .side .select.widget .selected[type=checkbox]:is(.modern *):is(.dark *) {
  background-color: #1e1d1d;
  border-color: #383433;
}
#ai .main .side .select.widget .selected[type=checkbox]:is(.modern *):is(.dark *):checked {
  background-color: #ff4e00;
  border-color: #ff4e00;
  box-shadow: 0 0 3rem 1rem #ff4d0021;
  background-image: var(--check-icon);
}
#ai .main .side .select.widget .selected[type=checkbox]:is(.modern *):is(.light *) {
  background-color: #fffbfb;
  border-color: #c9bfbc;
}
#ai .main .side .select.widget .selected[type=checkbox]:is(.modern *):is(.light *):checked {
  background-color: #ff4e00;
  border-color: #ff4e00;
  box-shadow: 0 0 3rem 1rem #ff4d0021;
  background-image: var(--check-icon);
}
#ai .main .side .select.widget .selected[type=checkbox]:is(.classic *):checked {
  background-color: #ff4e00;
  box-shadow: 0 0 3rem 1rem #ff4d0021;
  background-image: var(--check-icon);
  border-bottom: 2px solid #bd3900;
  border-right: 2px solid #bd3900;
  border-top: 2px solid #762300;
  border-left: 2px solid #762300;
}
#ai .main .side .select.widget .selected .value {
  padding: 0 0 0 0.4375rem;
  white-space: nowrap;
  overflow: hidden;
  align-content: center;
}
#ai .main .side .select.widget .selected .button {
  display: grid;
  position: relative;
  overflow: hidden;
  min-width: max-content;
  cursor: pointer;
  padding: 0.25rem 1rem;
  padding: 0;
}
@media (width < 24rem) {
  #ai .main .side .select.widget .selected .button {
    padding: 0.25rem 0.25rem;
  }
}
#ai .main .side .select.widget .selected .button > span {
  user-select: none;
  font-family: var(--sans-serif);
  font-size: var(--sans-serif-size);
  display: grid;
  grid-auto-flow: column;
  justify-content: center;
  align-content: center;
  height: 100%;
  width: 100%;
  position: relative;
}
#ai .main .side .select.widget .selected .button:is(.classic *):is(.dark *) {
  color: #d5bfae;
  background: url(../img/button-top-left.png) top left no-repeat, url(../img/button-top-right.png) top right no-repeat, url(../img/button-bottom-left.png) bottom left no-repeat, url(../img/button-bottom-right.png) bottom right no-repeat, url(../img/button-top.png) top repeat-x, url(../img/button-bottom.png) bottom repeat-x, url(../img/button-left.png) left repeat-y, url(../img/button-right.png) right repeat-y, url(../img/button-center.png) center / cover no-repeat;
}
#ai .main .side .select.widget .selected .button:is(.classic *):is(.dark *):active:is(.classic.dark *) {
  color: #e4845a;
  background: url(../img/pressed-top-left.png) top left no-repeat, url(../img/pressed-top-right.png) top right no-repeat, url(../img/pressed-bottom-left.png) bottom left no-repeat, url(../img/pressed-bottom-right.png) bottom right no-repeat, url(../img/pressed-top.png) top repeat-x, url(../img/pressed-bottom.png) bottom repeat-x, url(../img/pressed-left.png) left repeat-y, url(../img/pressed-right.png) right repeat-y, url(../img/pressed-center.png) center / cover no-repeat;
}
#ai .main .side .select.widget .selected .button:is(.classic *):is(.dark *):active:is(.classic.dark *) > span {
  transform: translate(0, 1px);
}
#ai .main .side .select.widget .selected .button:is(.modern *) {
  border-style: solid;
  border-width: 2px;
  border-radius: 0.25rem;
}
#ai .main .side .select.widget .selected .button:is(.modern *):is(.dark *) {
  border-color: #383433;
  color: #d5bfae;
}
#ai .main .side .select.widget .selected .button:is(.modern *):is(.dark *):hover {
  color: #e9c3a6;
}
#ai .main .side .select.widget .selected .button:is(.modern *):is(.light *) {
  border-color: #c9bfbc;
  color: #604c44;
}
#ai .main .side .select.widget .selected .button:is(.modern *):is(.light *):hover {
  color: #93614e;
}
#ai .main .side .select.widget .selected .button.icon {
  padding: 0;
  aspect-ratio: 1/1;
  height: 100%;
}
#ai .main .side .select.widget .selected .button.icon span {
  background-repeat: no-repeat;
  background-position: center;
}
#ai .main .side .select.widget .selected .button.trash.icon span {
  background-size: 30px;
}
#ai .main .side .select.widget .selected .button.trash.icon span:is(.dark *) {
  background-image: var(--icon-trash-dark);
}
#ai .main .side .select.widget .selected .button.trash.icon span:is(.light *) {
  background-image: var(--icon-trash-light);
}
#ai .main .side .select.widget .selected .button.close.icon span {
  background-size: 40%;
}
#ai .main .side .select.widget .selected .button.close.icon span:is(.dark *) {
  background-image: var(--icon-cross-dark);
}
#ai .main .side .select.widget .selected .button.close.icon span:is(.light *) {
  background-image: var(--icon-cross-light);
}
#ai .main .side .select.widget .selected .button.minimize.icon .dash {
  width: 14px;
  height: 1px;
  border-radius: 1px;
  background-color: #d09074;
  margin-top: 10px;
}
#ai .main .side .select.widget .selected .button.minimize.icon .dash:is(.dark *) {
  background-color: #d09074;
}
#ai .main .side .select.widget .selected .button.minimize.icon .dash:is(.light *) {
  background-color: #9b8b84;
}
#ai .main .side .select.widget .selected .button.settings.icon span {
  background-image: var(--icon-settings);
}
#ai .main .side .select.widget .selected .button.settings.icon span svg {
  width: var(--height);
}
#ai .main .side .select.widget .selected .button.settings.icon span svg .b {
  stroke: #9b8b84;
  stroke-miterlimit: 10;
}
#ai .main .side .select.widget .selected .button.save.icon span {
  background-size: 16px;
}
#ai .main .side .select.widget .selected .button.save.icon span:is(.dark *) {
  background-image: var(--icon-save-dark);
}
#ai .main .side .select.widget .selected .button.save.icon span:is(.light *) {
  background-image: var(--icon-save-light);
}
#ai .main .side .select.widget .selected .button:is(.modern.dark *, .modern.light *) {
  border-color: transparent;
}
#ai .main .side .select.widget .selected .icon.down {
  margin: 0.125rem;
  height: 87%;
}
#ai .main .side .select.widget .selected .icon.down:is(.select.open *):is(.classic.dark *) {
  color: #e4845a;
  background: url(../img/pressed-top-left.png) top left no-repeat, url(../img/pressed-top-right.png) top right no-repeat, url(../img/pressed-bottom-left.png) bottom left no-repeat, url(../img/pressed-bottom-right.png) bottom right no-repeat, url(../img/pressed-top.png) top repeat-x, url(../img/pressed-bottom.png) bottom repeat-x, url(../img/pressed-left.png) left repeat-y, url(../img/pressed-right.png) right repeat-y, url(../img/pressed-center.png) center / cover no-repeat;
}
#ai .main .side .select.widget .selected .icon.down:is(.select.open *):is(.classic.dark *) > span {
  transform: translate(0, 1px);
}
#ai .main .side .select.widget .selected .icon.down span {
  background-size: 65%;
}
#ai .main .side .select.widget .selected .icon.down span:is(.dark *) {
  background-image: var(--select-icon-dark);
}
#ai .main .side .select.widget .selected .icon.down span:is(.light *) {
  background-image: var(--select-icon-light);
}
#ai .main .side .select.widget .options {
  display: none;
  position: absolute;
  max-height: 16rem;
  margin-top: 0.125rem;
  width: 100%;
  z-index: 3;
  overflow: auto;
}
#ai .main .side .select.widget .options:has(.scrollable) {
  overflow-y: hidden;
  grid-template-rows: auto 1fr;
}
#ai .main .side .select.widget .options:is(.select.open *) {
  display: grid;
  z-index: 3;
}
#ai .main .side .select.widget .options:is(.modern *) {
  border-radius: 0.25rem;
  border-width: 2px;
  border-style: solid;
}
#ai .main .side .select.widget .options:is(.modern *):is(.dark *) {
  background-color: #1e1d1d;
}
#ai .main .side .select.widget .options:is(.modern *):is(.light *) {
  background-color: #ede9e8;
}
#ai .main .side .select.widget .options:is(.modern *):is(.dark *) {
  border-color: #383433;
}
#ai .main .side .select.widget .options:is(.modern *):is(.light *) {
  border-color: #c9bfbc;
}
#ai .main .side .select.widget .options:is(.classic *) {
  background-color: #272525;
  border: 2px solid #5b5756;
}
#ai .main .side .select.widget .options .search {
  padding: 0.25rem 0.4375rem;
}
#ai .main .side .select.widget .options .search input {
  width: 100%;
  height: 1.875rem;
  padding: 0 0.375rem;
}
#ai .main .side .select.widget .options .scrollable {
  overflow-y: auto;
}
#ai .main .side .select.widget .options .option {
  padding: 0.375rem 0.4375rem;
  cursor: pointer;
  user-select: none;
}
#ai .main .side .select.widget .options .option:hover:is(.dark *) {
  background-color: #111111;
}
#ai .main .side .select.widget .options .option:hover:is(.light *) {
  background-color: #f8f2f2;
}
#ai .main .side .select.widget .options .option.hidden {
  display: none;
}
#ai .main .side .select.widget .option {
  display: grid;
  grid-auto-flow: column;
  grid-template-columns: 1fr auto;
}
#ai .main .side .select.widget .option .del {
  cursor: cell;
  aspect-ratio: 1/1;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 30px;
}
#ai .main .side .select.widget .option .del:is(.dark *) {
  background-image: var(--icon-trash-dark);
}
#ai .main .side .select.widget .option .del:is(.light *) {
  background-image: var(--icon-trash-light);
}
#ai .main .side textarea {
  resize: none;
  height: 100%;
}
#ai > .user {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-auto-flow: column;
  column-gap: 16px;
  position: relative;
}
#ai > .user::before {
  content: "";
  position: absolute;
  left: 1px;
  top: 1px;
  z-index: 1;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background-color: #1e1d1d;
}
#ai > .user.think::before {
  animation: blink 3s infinite;
  background-color: #bf663b;
}
@keyframes blink {
  0% {
    opacity: 1;
    filter: brightness(1);
  }
  25% {
    opacity: 0.6;
    filter: brightness(0.8);
  }
  50% {
    opacity: 1;
    filter: brightness(1.2);
  }
  75% {
    opacity: 0.6;
    filter: brightness(0.9);
  }
  100% {
    opacity: 1;
    filter: brightness(1);
  }
}
#ai > .user textarea {
  resize: vertical;
  min-height: 100%;
}
#ai > .user .buttons {
  display: grid;
  gap: 0.5rem;
  grid-template-areas: "copy_cms clear settings" "send send stop";
}
#ai > .user .buttons .button {
  height: 2.25rem;
}
#ai > .user .buttons .send {
  grid-area: send;
}
#ai > .user .buttons .stop {
  grid-area: stop;
}
#ai > .user .buttons .clear {
  grid-area: clear;
}
#ai > .user .buttons .settings {
  grid-area: settings;
}
