@charset "UTF-8";
:root {
  --main-black: #2B2626;
  --main-purple: #5F1AB2;
  --main-white: #FFFFFF;
  --line-1: #E6E6E6;
  --line-btn: #DCDCDC;
  --bg-main: #F7F7F7;
  --bg-card: #F7F7F7;
  --text-secondary: #A19AAA;
  --text-line-text: #626262;
  --success-color: #279251;
  --warning-color: #B2A03F;
  --error-color: #E32D2D;
  --error-bg: #ffeded;
  --success-bg: rgba(39, 146, 81, 0.1);
  --warning-bg: rgba(178, 160, 63, 0.1);
  --primary-bg: rgba(95, 26, 178, 0.06);
  --purple-bg: rgba(95, 26, 178, 0.05);
  --size-xs: 0.75rem;
  --size-s: 14px;
  --size-m: 1rem;
  --size-l: 1.125rem;
  --size-xl: 1.25rem;
  --size-2xl: 1.5rem;
  --border-radius: 1rem;
  --border-radius-s: .5rem;
  --header-height: 66px;
  --footer-height: 60px;
  --aside-width: 260px;
  --grid-block-gap: 40px;
  --grid-inline-gap: 28px;
  --aside-inline-padding: 20px;
  --input-height: 52px;
}
@media (max-width: 1199px) {
  :root {
    --aside-width: 240px;
    --header-height: 72px;
    --footer-height: auto;
    --grid-inline-gap: 0;
  }
}
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
button {
  background-color: transparent;
  cursor: pointer;
  border: none;
}
input, textarea, button, input::placeholder, textarea::placeholder {
  font-family: inherit;
  font-size: 1rem;
}
a {
  text-decoration: none;
  color: inherit;
}
li {
  list-style: none;
}
img {
  display: block;
  max-width: 100%;
}
h1, h2, h3, h4 {
  font-size: inherit;
  font-weight: inherit;
}
button {
  color: inherit;
}
input[type="search"]::-webkit-search-decoration, input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-results-button, input[type="search"]::-webkit-search-results-decoration {
  display: none;
}
@font-face {
  font-family: 'InterTight';
  src: url('/assets/ai/fonts/InterTight-Regular.ttf') format('truetype');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'InterTight';
  src: url('/assets/ai/fonts/InterTight-Medium.ttf') format('truetype');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'InterTight';
  src: url('/assets/ai/fonts/InterTight-SemiBold.ttf') format('truetype');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
html {
  font-size: 16px;
}
body {
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.2;
  font-family: 'InterTight', sans-serif;
  color: var(--main-black);
  background-color: var(--bg-main);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-height: 100svh;
  padding: 14px 30px 24px 0;
  -ms-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
@media (max-width: 1199px) {
  body {
    padding: 0 0 20px;
  }
}
body:has(.login-layout) {
  padding: 0;
}
body main {
  flex-grow: 1;
  display: grid;
  grid-template-columns: var(--aside-width) 1fr;
  grid-template-rows: var(--header-height) 1fr var(--footer-height);
  grid-gap: var(--grid-block-gap) var(--grid-inline-gap);
}
body main .aside {
  grid-column-start: 1;
  grid-row-start: 1;
  grid-row-end: 4;
}
@media (max-width: 1199px) {
  body main {
    grid-template-columns: 1fr;
  }
  body main .aside {
    grid-row-start: 2;
    grid-row-end: 2;
  }
}
body main.main-ai-chat {
  --main-padding: 38px;
  max-height: calc(100dvh - var(--main-padding));
  overflow: hidden;
}
@media (max-width: 1199px) {
  body main.main-ai-chat {
    --main-padding: 20px;
    max-height: calc(100dvh - var(--main-padding) + 150px);
  }
}
body:not(:has(footer)) main {
  grid-template-rows: var(--header-height) 1fr;
}
body:not(:has(footer)) main .aside {
  grid-column-start: 1;
  grid-row-start: 1;
  grid-row-end: 3;
}
@media (max-width: 1199px) {
  body:not(:has(footer)) main .aside {
    grid-row-start: 2;
    grid-row-end: 2;
  }
}
body b {
  font-weight: 600;
}
svg {
  width: var(--size-l);
  aspect-ratio: 1;
  vertical-align: middle;
}
.article-ai-chat {
  overflow: hidden;
}
.button {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: max-content;
  font-size: var(--size-s);
  font-weight: 500;
  padding: 10px var(--size-2xl);
  border-radius: var(--border-radius-s);
  border: 1px solid var(--line-btn);
  background-color: var(--bg-card);
}
.button.button-l {
  color: var(--main-purple);
  font-size: var(--size-l);
  padding: 15px var(--size-xl);
  min-width: 270px;
}
.button.button-m {
  font-size: 1rem;
  padding: 1rem 1.5rem;
}
.button.button-primary {
  color: var(--main-white);
  background-color: var(--main-purple);
  border-color: var(--main-purple);
}
@media (hover: hover) {
  .button.button-primary:hover {
    color: var(--main-purple);
    background-color: transparent;
  }
}
.button.button-square {
  --button-font-size: var(--size-2xl);
  border-radius: 10px;
  color: var(--main-purple);
  border-color: var(--main-purple);
  background-color: transparent;
  padding: 0;
  aspect-ratio: 1;
  width: 42px;
  height: 42px;
  font-size: var(--button-font-size);
}
.button.button-square svg {
  height: var(--button-font-size);
  width: var(--button-font-size);
}
@media (hover: hover) {
  .button.button-square:hover {
    color: var(--main-white);
    background-color: var(--main-purple);
  }
}
.button.button-square:disabled, .button.button-square.disabled {
  color: var(--text-secondary);
  border-color: var(--text-secondary);
  pointer-events: none;
}
.button.button-circle {
  color: var(--main-black);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: transparent;
  padding: 0;
  width: 2rem;
  height: 2rem;
  aspect-ratio: 1;
  border-radius: 50%;
  border-color: var(--line-btn);
  font-size: var(--size-l);
}
@media (hover: hover) {
  .button.button-circle:hover {
    color: var(--main-purple);
    background-color: transparent;
    border-color: var(--main-purple);
  }
}
.button.button-secondary {
  color: var(--main-purple);
  border-color: var(--main-purple);
}
@media (hover: hover) {
  .button:hover {
    color: var(--main-white);
    background-color: var(--main-purple);
    border-color: var(--main-purple);
  }
}
.button:disabled {
  color: var(--text-secondary);
  pointer-events: none;
  filter: grayscale(1);
}
.chips {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  --chip-size: 38px;
}
.chips.chips-large {
  --chip-size: 52px;
  gap: var(--size-xl) var(--size-xs);
}
@media (max-width: 767px) {
  .chips.chips-large {
    gap: var(--size-m);
  }
}
.chips.chips-large .chips-item {
  font-size: var(--size-l);
  padding: 1rem;
}
.chips.chips-wp .chips-item {
  padding-inline: var(--size-m);
}
.chips.chips-center {
  justify-content: center;
}
@media (hover: hover) {
  .chips.chips-hover-purple .chips-item:hover {
    color: var(--main-white);
    background-color: var(--main-purple);
  }
}
.chips .chips-item {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: var(--chip-size);
  height: var(--chip-size);
  font-size: 15px;
  font-weight: 500;
  border-radius: var(--border-radius-s);
  border: 1px solid var(--line-btn);
}
.chips .chips-item.chips-item-primary {
  color: var(--main-purple);
  padding-inline: 50px;
}
@media (hover: hover) {
  .chips .chips-item:hover {
    color: var(--main-purple);
    border-color: var(--main-purple);
  }
}
.chips .chips-item:disabled {
  pointer-events: none;
  color: var(--text-secondary);
}
.chips .chips-item.active {
  color: var(--main-white);
  background-color: var(--main-purple);
  border-color: var(--main-purple);
}
.input-wrapper {
  position: relative;
}
.input-wrapper:has(.input-icon) .input {
  padding-right: 2.5rem;
}
.input-wrapper:has(.icon-after) .input {
  padding-right: 3rem;
}
.input-wrapper .icon-after {
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  width: 1.5rem;
  aspect-ratio: 1;
}
.input-wrapper .icon-after img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.input {
  font-size: 1rem;
  color: var(--main-black);
  background-color: var(--bg-card);
  border: 1px solid var(--line-btn);
  border-radius: var(--border-radius-s);
  height: var(--input-height);
  width: 100%;
  padding: 0.875rem 1rem;
  display: flex;
  align-items: center;
}
.input::placeholder {
  color: var(--text-secondary);
}
.input:focus {
  outline: none;
  border-color: var(--main-purple);
}
.input.input-error {
  border-color: var(--error-color);
  background-color: var(--error-bg);
}
.input-checkbox {
  --input-lh: 1.6;
  --input-fs: .875rem;
  cursor: pointer;
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  font-size: var(--input-fs);
  line-height: var(--input-lh);
}
@media (hover: hover) {
  .input-checkbox:hover input[type="checkbox"] {
    border-color: var(--main-purple);
  }
}
.input-checkbox input[type="checkbox"] {
  appearance: none;
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  aspect-ratio: 1;
  flex-shrink: 0;
  border-radius: 0.25rem;
  border: 1px solid var(--line-1);
  transform: translateY(1.2px);
  position: relative;
}
.input-checkbox input[type="checkbox"]:checked {
  border-color: var(--main-purple);
  background-color: var(--main-purple);
}
.input-checkbox input[type="checkbox"]:checked::before {
  content: "✓";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: var(--main-white);
}
.input-agreement.error {
  color: var(--error-color);
}
.text {
  font-size: var(--size-m);
  font-weight: 400;
}
.text.small {
  font-size: var(--size-s);
}
@media (hover: hover) {
  .text.with-hover:hover {
    color: var(--main-purple);
  }
}
.color-primary {
  color: var(--main-purple);
}
.color-line-text {
  color: var(--text-line-text);
}
.color-secondary {
  color: var(--text-secondary);
}
.a-center {
  text-align: center;
}
h1, h2, h3, h4, h5, h6 {
  font-weight: 600;
  line-height: 1.2;
}
h1 {
  font-size: 28px;
}
@media (max-width: 767px) {
  h1 {
    font-size: 22px;
  }
}
h2 {
  font-size: 1.5rem;
}
@media (max-width: 767px) {
  h2 {
    font-size: 1.25rem;
  }
}
.flex {
  display: flex;
  align-items: stretch;
}
.flex.direction-column {
  flex-direction: column;
}
.flex.align-center {
  align-items: center;
}
.flex.align-end {
  align-items: flex-end;
}
.flex.align-start {
  align-items: flex-start;
}
.flex.justify-end {
  justify-content: flex-end;
}
.flex.justify-center {
  justify-content: center;
}
.flex.justify-start {
  justify-content: flex-start;
}
.flex.justify-sb {
  justify-content: space-between;
}
.flex.gap-m {
  gap: var(--size-m);
}
.flex.gap-s {
  gap: var(--size-s);
}
.flex.gap-xs {
  gap: var(--size-xs);
}
.flex.gap-l {
  gap: var(--size-l);
}
.flex.gap-xl {
  gap: var(--size-xl);
}
.flex.gap-2xl {
  gap: var(--size-2xl);
}
.accordions {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 1.25rem;
}
.accordions .accordion .accordion-header {
  cursor: pointer;
}
.accordions .accordion .accordion-header .button-square {
  position: relative;
  color: var(--main-black);
  border-color: var(--line-1);
}
.accordions .accordion .accordion-header .button-square:hover {
  color: var(--main-purple);
  border-color: var(--main-purple);
  background-color: transparent;
}
.accordions .accordion .accordion-header .button-square span {
  position: absolute;
  width: 14px;
  height: 1px;
  border-radius: 2px;
  background-color: currentColor;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  transition: rotate 0.3s ease;
}
.accordions .accordion .accordion-header .button-square span:first-child {
  rotate: -90deg;
}
.accordions .accordion .accordion-content {
  overflow: hidden;
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.5s ease;
}
.accordions .accordion .accordion-content > * {
  min-height: 0;
}
.accordions .accordion.open .accordion-header .button-square {
  color: var(--main-purple);
  border-color: var(--main-purple);
}
.accordions .accordion.open .accordion-header .button-square span:first-child {
  rotate: -180deg;
}
.accordions .accordion.open .accordion-content {
  grid-template-rows: 1fr;
}
.informer {
  padding: var(--size-xs) var(--size-m);
  border-radius: 0 var(--border-radius-s) var(--border-radius-s) 0;
  background-color: var(--informer-background-color);
  margin: var(--size-xl) 0;
  overflow: hidden;
  position: relative;
}
.informer:before {
  content: '';
  position: absolute;
  width: 8px;
  height: 100%;
  top: 0;
  left: 0;
  bottom: 0;
  background-color: var(--informer-text-color);
  border-radius: 30px;
  translate: -50% 0;
}
.informer .informer-title {
  color: var(--informer-text-color);
  font-weight: 500;
  line-height: 1.2;
}
@media (max-width: 767px) {
  .informer .informer-title {
    font-size: var(--size-s);
  }
}
.informer .informer-content {
  margin-top: 1rem;
  line-height: 1.4;
}
@media (max-width: 767px) {
  .informer .informer-content {
    font-size: var(--size-s);
    margin-top: var(--size-s);
  }
}
.informer.informer-success {
  --informer-text-color: var(--success-color);
  --informer-background-color: var(--success-bg);
}
.informer.informer-primary {
  --informer-text-color: var(--main-purple);
  --informer-background-color: var(--primary-bg);
}
.informer.informer-warning {
  --informer-text-color: var(--warning-color);
  --informer-background-color: var(--warning-bg);
}
.dropdown {
  position: relative;
}
.dropdown-right .dropdown-list {
  right: 0;
}
.dropdown-left .dropdown-list {
  left: 0;
}
.dropdown-button {
  cursor: pointer;
}
.dropdown-button > * {
  pointer-events: none;
}
.dropdown-list {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  position: absolute;
  top: 100%;
  transform: translate(0, -5px);
  opacity: 0;
  visibility: hidden;
  overflow: hidden;
  min-width: 192px;
  max-height: 254px;
  transition: opacity 0.2s linear, transform 0.3s ease-in-out;
  z-index: 10;
  padding: 0.5rem 0 0.5rem 0.5rem;
  background-color: var(--main-white);
  border-radius: 1rem;
  border: 1px solid var(--line-1);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  color: var(--main-black);
}
.dropdown-list-wrapper {
  overflow: auto;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  padding-right: 0.5rem;
}
.dropdown-list-wrapper::-webkit-scrollbar {
  width: 6px;
  margin-right: 10px;
}
.dropdown-list-wrapper::-webkit-scrollbar-track {
  background-color: var(--main-white);
  width: 6px;
  border-radius: 8px;
}
.dropdown-list-wrapper::-webkit-scrollbar-thumb {
  background-color: var(--main-purple);
  width: 6px;
  border-radius: 8px;
}
.dropdown-list-wrapper > * {
  cursor: pointer;
  text-wrap: nowrap;
}
@media (hover: hover) {
  .dropdown-list-wrapper > *:hover {
    color: var(--main-blue);
  }
}
.dropdown .dropdown-item {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.5rem;
  font-weight: 500;
  font-size: var(--size-s);
  padding: 0.5rem;
  border-radius: 0.5rem;
}
@media (hover: hover) {
  .dropdown .dropdown-item:hover {
    background-color: rgba(237, 234, 234, 0.7);
  }
}
.dropdown .dropdown-item svg {
  color: var(--text-secondary);
  font-size: 20px;
  width: 20px;
  height: 20px;
}
.dropdown .dropdown-item-delete {
  color: var(--error-color);
}
.dropdown .dropdown-item-delete svg {
  color: var(--text-secondary);
}
.dropdown.dropdown-open .dropdown-list {
  opacity: 1;
  visibility: visible;
  transform: translate(0, 5px);
}
.list-pretty li {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.75rem;
}
.list-pretty li:before {
  content: '';
  flex-shrink: 0;
  width: 10px;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: var(--main-purple);
}
.list-pretty li:not(:last-child) {
  margin-bottom: 0.75rem;
}
*[data-tooltip] {
  position: relative;
}
@media (max-width: 1199px) {
  *[data-tooltip]:first-child:before {
    left: 0;
    transform: translate(0, 10%);
  }
  *[data-tooltip]:first-child:hover:before {
    transform: translate(0, 0);
  }
}
*[data-tooltip]:before {
  color: var(--main-black);
  content: attr(data-tooltip);
  position: absolute;
  background-color: var(--main-white);
  padding: 0.5rem 0.75rem;
  border: 1px solid var(--line-1);
  border-radius: 1rem;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  opacity: 0;
  visibility: hidden;
  z-index: 8;
  left: 50%;
  top: calc(100% + .5rem);
  transform: translate(-50%, -10%);
  font-size: 0.75rem;
  transition: transform 0.3s ease-in-out, opacity 0.3s ease;
  isolation: isolate;
}
*[data-tooltip]:hover:before {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}
*[data-tooltip].tooltip-right {
  white-space: nowrap;
}
*[data-tooltip].tooltip-right:before {
  top: 0;
  left: calc(100% + .5rem);
  transform: translate(-5%, 0);
}
*[data-tooltip].tooltip-right:hover:before {
  transform: translate(0, 0);
}
.katex-display > .katex > .katex-html {
  text-align: left;
}
.header {
  display: flex;
  align-items: center;
  flex-grow: 1;
  justify-content: space-between;
  background-color: var(--main-white);
  border-radius: var(--border-radius);
  border: 1px solid var(--line-1);
  height: var(--header-height);
  padding: 0 var(--size-s) 0 var(--size-2xl);
}
@media (max-width: 1199px) {
  .header {
    border-radius: 0 0 var(--size-xs) var(--size-xs);
    padding: var(--size-xs) var(--size-xl);
    position: sticky;
    top: 0;
    z-index: 9;
  }
}
.header .navigation {
  height: 100%;
  display: flex;
  align-items: center;
  gap: var(--size-2xl);
}
.header .navigation .navigation-item {
  font-size: 15px;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  position: relative;
  overflow: hidden;
}
@media (hover: hover) {
  .header .navigation .navigation-item:hover {
    color: var(--main-purple);
  }
}
.header .navigation .navigation-item.active {
  color: var(--main-purple);
}
.header .navigation .navigation-item.active:after {
  content: '';
  position: absolute;
  width: 100%;
  height: 8px;
  border-radius: 30px;
  bottom: 0;
  left: 0;
  translate: 0 50%;
  background-color: var(--main-purple);
}
.header .header-user {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 15px;
}
@media (max-width: 1199px) {
  .header .header-user {
    margin-right: var(--size-xl);
    margin-left: auto;
  }
}
@media (max-width: 767px) {
  .header .header-user {
    font-size: 0;
    gap: 0;
  }
}
.header .header-user .header-user-avatar {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  aspect-ratio: 1;
  font-size: var(--size-l);
  border-radius: var(--size-xs);
  border: 1px solid var(--line-1);
  background-color: var(--bg-card);
  background-position: 50% 50%;
  background-size: cover;
  bacground-repeat: no-repeat;
}
@media (hover: hover) {
  .header .header-user:hover {
    color: var(--main-purple);
  }
}
.header .mobile-menu-button {
  display: none;
}
@media (max-width: 1199px) {
  .header .mobile-menu-button {
    width: 24px;
    height: 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    position: relative;
    padding: 5px 0;
    z-index: 10;
    overflow: hidden;
  }
  .header .mobile-menu-button span {
    pointer-events: none;
    width: 100%;
    height: 2px;
    background-color: var(--main-black);
    transition: color 0.3s ease-in-out, transform 0.3s ease-in-out, opacity 0.3s ease-in-out, width 0.2s 0.3s ease-in-out;
  }
  .header .mobile-menu-button.open span:nth-child(2) {
    translate: -100% 0;
    opacity: 0;
  }
  .header .mobile-menu-button.open span:first-child, .header .mobile-menu-button.open span:last-child {
    transition-delay: 0.2s;
  }
  .header .mobile-menu-button.open span:first-child {
    transform: translateY(6px) rotate(45deg);
  }
  .header .mobile-menu-button.open span:last-child {
    transform: translateY(-6px) rotate(-45deg);
  }
}
@media (max-width: 1199px) {
  .header-login {
    padding-bottom: 2rem;
  }
  .header-login .button {
    max-width: 100%;
    width: 100%;
  }
}
.aside {
  padding-inline: var(--aside-inline-padding);
}
@media (max-width: 1199px) {
  .aside {
    position: fixed;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    z-index: 8;
    background-color: var(--main-white);
    overflow: auto;
    padding-top: calc(var(--header-height) + 35px);
    display: flex;
    flex-direction: column;
    align-items: stretch;
    translate: 0 -120%;
    opacity: 0;
    transition: opacity 0.4s ease, translate 0.5s ease-out;
  }
  .aside::-webkit-scrollbar {
    width: 0;
    display: none;
    appearance: none;
  }
  .aside.open {
    translate: 0 0;
    opacity: 1;
  }
}
.aside .logo {
  display: flex;
  align-items: center;
  height: var(--header-height);
  margin-bottom: 12px;
}
.aside .header-search {
  margin-bottom: 20px;
}
@media (max-width: 1199px) {
  .aside .header-search {
    order: -1;
  }
  .aside .header-search .input {
    width: 100%;
  }
}
.aside-sticky {
  position: sticky;
  /*top: 2rem;*/
  top: 0;
}
@media (max-width: 1199px) {
  .aside-sticky {
    position: relative;
    top: 0;
  }
}
@media (max-width: 1199px) {
  .aside .navigation {
    border-bottom: 1px solid var(--line-1);
    padding-bottom: var(--size-2xl);
  }
}
.aside .navigation.ai-new-request:before {
  display: none;
}
@media (max-width: 1199px) {
  .aside .navigation.ai-new-request:before {
    display: block;
  }
}
@media (max-width: 1199px) {
  .aside .navigation.ai-new-request {
    padding-bottom: var(--size-m);
  }
}
.aside .navigation.ai-navigation {
  overflow: hidden;
}
.aside .navigation.ai-navigation .ai-navigation-wrapper {
  overflow: auto;
  height: calc(100dvh - 38px - 78px - 86px - 32px);
}
.aside .navigation.ai-navigation .ai-navigation-wrapper::-webkit-scrollbar {
  width: 0;
  display: none;
  appearance: none;
}
@media (max-width: 1199px) {
  .aside .navigation.ai-navigation .ai-navigation-wrapper {
    overflow: visible;
    height: auto;
  }
}
@media (max-width: 1199px) {
  .aside .navigation.ai-navigation:before {
    display: none;
  }
}
.aside .navigation.empty {
  padding: 0;
  margin: 0;
  border: none;
}
.aside .navigation.empty:before {
  display: none;
}
.aside .navigation:before {
  content: attr(data-label);
  font-size: 13px;
  font-weight: 500;
  text-transform: uppercase;
  color: var(--text-secondary);
  margin-bottom: 1rem;
  display: block;
}
.aside .navigation .navigation-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: var(--size-xs) 0;
}
@media (hover: hover) {
  .aside .navigation .navigation-item:not(:has(.dropdown-open)):hover .dropdown {
    opacity: 1;
    visibility: visible;
  }
}
.aside .navigation .navigation-item:not(:has(.dropdown-open)) .dropdown {
  opacity: 0;
  visibility: hidden;
}
@media (max-width: 767px) {
  .aside .navigation .navigation-item:not(:has(.dropdown-open)) .dropdown {
    opacity: 1;
    visibility: visible;
  }
}
.aside .navigation .navigation-item:has(.dropdown) {
  padding: 0.25rem 0;
}
.aside .navigation .navigation-item .navigation-item-content {
  flex-grow: 1;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  text-overflow: ellipsis;
}
.aside .navigation .navigation-item .navigation-item-icon {
  color: inherit;
  font-size: var(--size-l);
}
@media (hover: hover) {
  .aside .navigation .navigation-item:hover {
    color: var(--main-purple);
  }
}
.aside .navigation .navigation-item .navigation-item-form {
  display: none;
  overflow: hidden;
}
.aside .navigation .navigation-item.renamed .navigation-item-form {
  flex-grow: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.aside .navigation .navigation-item.renamed .navigation-item-form label {
  width: calc(100% - 40px);
}
.aside .navigation .navigation-item.renamed .navigation-item-form label input {
  width: 100%;
  box-sizing: border-box;
}
.aside .navigation .navigation-item.renamed .navigation-item-form input {
  border: none;
  background-color: transparent;
}
.aside .navigation .navigation-item.renamed .navigation-item-form input:focus {
  outline: none;
}
.aside .navigation .navigation-item.renamed .navigation-item-content {
  display: none;
}
.aside .navigation .navigation-item.renamed .dropdown {
  display: none;
}
.aside .navigation .navigation-item.active {
  color: var(--main-purple);
  position: relative;
}
.aside .navigation .navigation-item.active:before {
  content: '';
  width: 8px;
  height: 100%;
  background-color: var(--main-purple);
  border-radius: 30px;
  top: 0;
  left: calc(var(--aside-inline-padding) * -1);
  position: absolute;
  translate: -50% 0;
}
.aside .navigation:not(:last-child) {
  margin-bottom: 30px;
}
@media (max-width: 1199px) {
  .aside .navigation:not(:last-child) {
    margin-bottom: var(--size-2xl);
  }
}
.footer {
  padding: var(--size-xs) var(--size-2xl);
  background-color: var(--main-white);
  height: var(--footer-height);
  border-radius: var(--border-radius);
  border: 1px solid var(--line-1);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .footer {
    text-align: center;
    flex-direction: column;
    align-items: center;
    gap: 1rem;
    padding: 20px;
    margin-inline: 20px;
  }
  .footer .flex {
    flex-direction: column;
    gap: 1rem;
  }
}
@media (hover: hover) {
  .navigation .navigation-item:hover {
    color: var(--main-purple);
  }
}
.ai-chat-cont {
  height: 100%;
}
article {
  --article-padding: 1.5rem;
}
article:has(.swiper) {
  overflow: hidden;
}
@media (max-width: 1199px) {
  article {
    --article-padding: 1rem;
    padding: 0 var(--article-padding);
  }
}
article.article-clear {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 80px;
}
@media (max-width: 1199px) {
  article.article-clear {
    gap: 40px;
  }
}
@media (max-width: 767px) {
  article.article-clear {
    gap: 20px;
  }
}
article.article-clear .article-bottom-clear {
  display: flex;
  align-items: center;
  gap: 30px;
}
@media (max-width: 767px) {
  article.article-clear .article-bottom-clear {
    flex-direction: column;
    gap: 1rem;
  }
}
article.article-clear .article-bottom-content-wrapper {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 2rem;
}
article.article-clear .article-clear-content {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 1rem;
}
article .article-wrapper {
  margin-top: 1.5rem;
  border-radius: var(--border-radius);
  background-color: var(--main-white);
  border: 1px solid var(--line-1);
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 40px;
  padding: var(--article-padding);
}
@media (max-width: 1199px) {
  article .article-wrapper {
    background-color: transparent;
    border: none;
    padding: 0;
  }
}
article .article-bottom {
  padding-top: 1.5rem;
  position: relative;
}
@media (max-width: 1199px) {
  article .article-bottom {
    padding-top: 0;
  }
}
article .article-bottom:before {
  content: '';
  left: calc(var(--article-padding) * -1);
  right: calc(var(--article-padding) * -1);
  top: 0;
  height: 1px;
  position: absolute;
  background-color: var(--line-1);
}
@media (max-width: 1199px) {
  article .article-bottom:before {
    display: none;
  }
}
article .article-bottom h2 {
  margin-bottom: 1rem;
}
article .article-bottom p {
  font-size: 16px;
}
@media (max-width: 767px) {
  article .article-bottom p {
    font-size: 14px;
  }
}
article .article-bottom-image {
  flex-basis: min(var(--image-width, 100%));
  width: min(var(--image-width, 100%));
}
@media (max-width: 767px) {
  article .article-bottom-image {
    margin: 0 auto;
    width: 100%;
    flex-basis: 100%;
  }
}
article .article-withBanner {
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
}
article .article-withBanner .article-content {
  flex-grow: 1;
  gap: 60px;
}
@media (max-width: 767px) {
  article .article-withBanner .article-content {
    gap: 1.5rem;
  }
}
article .article-withBanner .article-banner {
  flex-shrink: 0;
  width: 300px;
  height: 600px;
  object-fit: cover;
  border-radius: var(--border-radius);
  overflow: hidden;
  position: sticky;
  top: 2rem;
}
@media (max-width: 1440px) {
  article .article-withBanner .article-banner {
    width: 200px;
    height: 400px;
  }
}
@media (max-width: 1199px) {
  article .article-withBanner .article-banner {
    display: none;
  }
}
article .article-title {
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.2;
}
@media (max-width: 767px) {
  article .article-title {
    font-size: 1.25rem;
  }
}
article .article-description {
  font-size: var(--size-m);
}
@media (max-width: 767px) {
  article .article-description {
    font-size: var(--size-s);
  }
}
@media (max-width: 767px) {
  article .article-content-line {
    padding-top: 1.5rem;
    position: relative;
  }
  article .article-content-line:before {
    content: '';
    position: absolute;
    left: calc(var(--article-padding) * -1);
    right: calc(var(--article-padding) * -1);
    top: 0;
    height: 1px;
    background-color: var(--line-1);
  }
}
.article-carousel .article-carousel-items .swiper-wrapper {
  padding: 1.25rem 0;
}
@media (max-width: 767px) {
  .article-carousel .article-carousel-items {
    position: relative;
    width: 100vw;
    left: calc(var(--article-padding) * -1);
    padding: 0 var(--article-padding);
  }
}
@media (max-width: 767px) {
  .article-carousel .article-carousel-buttons {
    display: none;
  }
}
.book {
  display: flex;
  border: 1px solid var(--line-1);
  background-color: var(--bg-card);
  border-radius: var(--border-radius);
  padding: 1rem;
  overflow: hidden;
}
.book .book-title {
  font-weight: 600;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
}
.book.book-small {
  flex-direction: column;
  align-items: stretch;
  min-height: 248px;
  width: 182px;
  min-width: 182px;
}
.book.book-small .book-image {
  width: 100%;
  height: 158px;
  object-fit: contain;
  margin: 0 auto 1.25rem;
}
.book.book-small .book-class {
  font-size: var(--size-s);
  display: none;
}
.book.book-small .book-author {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  font-size: var(--size-xs);
  margin-top: auto;
}
@media (hover: hover) {
  .book.book-small:hover {
    color: var(--main-white);
    background-color: var(--main-purple);
    position: relative;
  }
  .book.book-small:hover:after {
    content: '';
    width: 220px;
    aspect-ratio: 1;
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    position: absolute;
    top: 1rem;
    right: 1rem;
    animation: showCircle 0.4s ease forwards;
  }
  .book.book-small:hover .book-class {
    display: block;
  }
  .book.book-small:hover .book-image {
    display: none;
  }
  .book.book-small:hover .book-author {
    order: 3;
    font-size: 1rem;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .book.book-small:hover .book-title {
    order: 2;
    font-weight: 400;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 50;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}
.book.book-small .book-title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
  text-overflow: ellipsis;
}
.book.book-large {
  display: flex;
  gap: var(--size-m);
}
@media (max-width: 767px) {
  .book.book-large {
    background-color: var(--main-white);
  }
}
.book.book-large .book-title {
  font-size: var(--size-l);
}
@media (max-width: 767px) {
  .book.book-large .book-title {
    font-size: var(--size-m);
  }
}
.book.book-large .book-description {
  font-size: 14px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (max-width: 767px) {
  .book.book-large .book-description {
    font-size: 14px;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}
.book.book-large .book-image {
  flex-shrink: 0;
  width: 100%;
  flex-basis: 120px;
  height: 192px;
}
.book.book-large .book-button {
  margin-top: auto;
}
.book.book-white {
  background-color: var(--main-white);
  border: 1px solid var(--line-1);
}
.book.book-empty {
  flex-direction: column;
  align-items: stretch;
  background-color: rgba(230, 230, 230, 0.8);
  border: 1px solid var(--line-1);
  min-height: 248px;
  width: 182px;
  min-width: 182px;
}
.book.book-empty .book-title {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  overflow: hidden;
  text-overflow: ellipsis;
}
.book.book-empty .book-empty-bottom {
  margin-top: auto;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
.book.book-empty .book-empty-number {
  font-weight: 600;
  font-size: var(--size-s);
}
@media (hover: hover) {
  .book.book-empty:hover .button-square {
    color: var(--main-white);
    background-color: var(--main-purple);
  }
}
@keyframes showCircle {
  from {
    translate: 90% -90%;
  }
  to {
    translate: 50% -50%;
  }
}
.book-items {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-gap: 1.25rem;
}
@media (max-width: 767px) {
  .book-items {
    grid-template-columns: 1fr;
  }
}
.table {
  --first-cell-width: 176px;
  border-radius: var(--border-radius);
  border: 1px solid var(--line-1);
  overflow: hidden;
}
@media (max-width: 1199px) {
  .table {
    font-size: var(--size-s);
  }
}
.table .table-row {
  display: flex;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .table .table-row {
    flex-direction: column;
    background-color: var(--main-white);
    overflow: hidden;
  }
}
.table .table-row:not(:last-child) {
  border-bottom: 1px solid var(--line-1);
}
.table .table-row .table-cell {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--size-xs) var(--size-m);
  min-width: 54px;
  width: 100%;
}
@media (max-width: 1440px) {
  .table .table-row .table-cell {
    min-width: 42px;
  }
}
.table .table-row .table-cell:not(:last-child) {
  border-right: 1px solid var(--line-1);
}
@media (max-width: 767px) {
  .table .table-row .table-cell:not(:last-child) {
    border: none;
  }
}
.table .table-row .table-cell.table-cell-title {
  flex-shrink: 0;
  flex-basis: var(--first-cell-width);
  justify-content: flex-start;
}
@media (max-width: 767px) {
  .table .table-row .table-cell.table-cell-title {
    flex-basis: auto;
    font-weight: 600;
  }
}
.table .table-row .table-cell:not(.table-cell-title) {
  color: var(--main-purple);
}
@media (max-width: 767px) {
  .table .table-row .table-cell:not(.table-cell-title) {
    min-width: 50px;
    width: max-content;
  }
}
.table .table-row .table-cell:empty {
  background-color: var(--bg-main);
}
@media (max-width: 767px) {
  .table .table-row .table-cell:empty {
    display: none;
  }
}
.table .table-row .table-row-inner {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(11, 1fr);
}
@media (max-width: 767px) {
  .table .table-row .table-row-inner {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    overflow: auto;
    gap: 6px;
    padding: 0 1rem 20px;
    width: calc(100vw - 1rem * 2);
  }
  .table .table-row .table-row-inner::-webkit-scrollbar {
    width: 0;
    display: none;
    appearance: none;
  }
  .table .table-row .table-row-inner .table-cell {
    color: var(--main-black);
    font-weight: 500;
    background-color: var(--bg-card) !important;
    border: 1px solid var(--line-1);
    border-radius: var(--border-radius-s);
  }
}
.table .table-row .table-row-inner .table-cell {
  position: relative;
}
.table .table-row .table-row-inner .table-cell:not(:empty):before {
  content: '+';
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background-color: var(--main-white);
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 1199px) {
  .table .table-row .table-row-inner .table-cell:not(:empty):before {
    display: none;
  }
}
.table .table-row .table-row-inner .table-cell:hover {
  color: var(--main-white);
  background-color: var(--main-purple) !important;
}
.table .table-row .table-row-inner .table-cell:hover:before {
  opacity: 0;
}
@media (hover: hover) {
  .table .table-row:not(.table-row-head):hover .table-cell-title {
    color: var(--main-purple);
    position: relative;
  }
  .table .table-row:not(.table-row-head):hover .table-cell-title:before {
    content: '';
    width: 8px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    translate: -50% 0;
    border-radius: 30px;
    background-color: var(--main-purple);
  }
}
@media (max-width: 1199px) {
  .table .table-row:not(.table-row-head) .table-cell:not(:empty) {
    background-color: var(--main-white);
  }
}
.table .table-row.table-row-head {
  display: grid;
  grid-template-columns: var(--first-cell-width) repeat(11, 1fr);
  background-color: var(--bg-main);
  font-size: var(--size-s);
  font-weight: 500;
}
@media (max-width: 767px) {
  .table .table-row.table-row-head {
    display: none;
  }
}
.table .table-row.table-row-head .table-cell-rowspan {
  grid-row-start: 1;
  grid-row-end: 3;
}
.table .table-row.table-row-head .table-cell-colspan {
  grid-column-start: 2;
  grid-column-end: 13;
  border-right: none;
  border-bottom: 1px solid var(--line-1);
}
.table .table-row.table-row-head .table-cell {
  color: var(--main-black);
}
.table .table-row.table-row-head .table-cell-colspan, .table .table-row.table-row-head .table-cell-rowspan {
  color: var(--text-secondary);
}
.breadcrumbs {
  font-size: var(--size-s);
  margin-bottom: 1.5rem;
}
.breadcrumbs a {
  font-size: var(--size-s);
}
.breadcrumbs a:after {
  content: ' / ';
}
@media (hover: hover) {
  .breadcrumbs a:hover {
    color: var(--main-purple);
  }
}
.breadcrumbs span {
  font-size: var(--size-s);
  color: var(--text-secondary);
}
.m-prefix, .m-ending, .m-suffix, .m-root, .m-basis {
  position: relative;
  white-space: nowrap;
}
.m-prefix:before, .m-prefix:after, .m-ending:before, .m-ending:after, .m-suffix:before, .m-suffix:after, .m-root:before, .m-root:after, .m-basis:before, .m-basis:after {
  content: "";
}
.m-prefix:before, .m-prefix:after {
  position: absolute;
  background-color: var(--main-black);
}
.m-prefix:before {
  width: 100%;
  height: 1px;
  top: 0;
  left: 0;
}
.m-prefix:after {
  width: 1px;
  height: 4px;
  right: 0;
  top: 0;
}
.m-ending:before {
  position: absolute;
  width: calc(100% - 1px);
  height: 100%;
  border: 1px solid var(--main-black);
  left: 0;
  top: 50%;
  transform: translate(0, -50%);
}
.m-suffix:before {
  position: absolute;
  top: -2px;
  left: 0;
  width: 100%;
  height: 6px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 12" preserveAspectRatio="none"><path d="M0,12 L50,0 L100,12" fill="none" stroke="black" stroke-width="1" vector-effect="non-scaling-stroke"/></svg>') 0 0 / 100% 100%;
}
.m-root:before {
  position: absolute;
  top: -10px;
  left: 0;
  width: 100%;
  height: 24px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 12" preserveAspectRatio="none"><path d="M0,6 Q50,0 100,6" fill="none" stroke="black" stroke-width="1" vector-effect="non-scaling-stroke"/></svg>') 0 0 / 100% 100%;
}
.m-basis {
  text-decoration: underline;
  text-underline-offset: 4px;
  text-underline-color: var(--main-black);
}
.m-basis:before, .m-basis:after {
  position: absolute;
  height: 4px;
  width: 1px;
  background-color: var(--main-black);
  bottom: 0;
}
.m-basis:before {
  left: 0;
}
.m-basis:after {
  right: 0;
}
sub, sup {
  font-size: 0.6em;
}
*[data-text-up] {
  position: relative;
  text-wrap: nowrap;
}
*[data-text-up]:before {
  content: attr(data-text-up);
  position: absolute;
  top: -1px;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 0.6em;
}
.s-c-red {
  color: red;
}
.s-c-gray {
  color: gray;
}
.s-w-bold {
  font-weight: 700;
}
.s-d-underline {
  text-decoration: underline;
  text-underline-offset: 4px;
}
.s-d-underline:empty {
  display: inline-block;
  width: 4px;
  position: relative;
}
.s-d-underline:empty:after {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  background-color: currentColor;
  bottom: -1px;
  left: 0;
}
.s-d-doubleline {
  border-bottom: 4px double currentColor;
}
.s-d-dottedline {
  border-bottom: 2px dotted currentColor;
}
.s-d-dashedline {
  border-bottom: 2px dashed currentColor;
}
.s-d-dashedpointline {
  position: relative;
}
.s-d-dashedpointline:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2px;
  background: repeating-linear-gradient(to right, currentColor 0, currentColor 2px, transparent 2px, transparent 4px, currentColor 4px, currentColor 8px, transparent 8px, transparent 10px);
}
.s-d-waveline {
  position: relative;
}
.s-d-waveline:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 2px;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 4" preserveAspectRatio="none"><path d="M0,2 Q5,4 10,2 T20,2" fill="none" stroke="currentColor" stroke-width="0.5" vector-effect="non-scaling-stroke"/></svg>') 0 0 repeat-x;
  background-size: 10px 100%;
}
.s-d-circle {
  position: relative;
}
.s-d-circle:before {
  content: "";
  position: absolute;
  width: calc(100% + 2px);
  height: 100%;
  border: 1px solid currentColor;
  border-radius: 50%;
  transform: translate(-50%, -50%);
  left: 50%;
  top: 50%;
}
.s-d-indent {
  text-indent: 2em;
}
.s-a-center {
  text-align: center;
}
.s-a-right {
  text-align: right;
}
.s-bg-main {
  background-color: #DBE5F1;
}
.typed .typed-element {
  display: none;
}
.typed .typed-wrapper {
  color: var(--main-purple);
  font-weight: 600;
}
.typed .typed-wrapper:after {
  content: '';
  display: inline-block;
  height: 1rem;
  transform: translateY(2px);
  width: 1px;
  background-color: var(--main-purple);
  opacity: 0;
  animation: typed-animation 0.8s steps(2) infinite;
}
@keyframes typed-animation {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@media (max-width: 767px) {
  .ai-chat-input {
    max-width: 100vw;
  }
}
.ai-chat-input .ai-chat-form {
  padding: var(--size-xl);
  background-color: var(--main-white);
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.05);
  border-radius: var(--size-m);
  border: 1px solid var(--line-1);
}
@media (max-width: 767px) {
  .ai-chat-input .ai-chat-form {
    max-width: calc(100vw - var(--article-padding) * 2);
  }
}
.ai-chat-input .ai-chat-form .ai-message {
  border: none;
  font-family: inherit;
  font-size: var(--size-m);
  resize: none;
  width: 100%;
  background: none;
}
.ai-chat-input .ai-chat-form .ai-message::-webkit-scrollbar {
  width: 6px;
  margin-right: 10px;
}
.ai-chat-input .ai-chat-form .ai-message::-webkit-scrollbar-track {
  background-color: var(--main-white);
  width: 6px;
  border-radius: 8px;
}
.ai-chat-input .ai-chat-form .ai-message::-webkit-scrollbar-thumb {
  background-color: var(--main-purple);
  width: 6px;
  border-radius: 8px;
}
.ai-chat-input .ai-chat-form .ai-message::placeholder {
  color: var(--text-secondary);
}
.ai-chat-input .ai-chat-form .ai-message:focus {
  outline: none;
}
.ai-chat-input .ai-chat-form .ai-files {
  cursor: pointer;
  font-size: var(--size-2xl);
  color: var(--text-secondary);
}
@media (hover: hover) {
  .ai-chat-input .ai-chat-form .ai-files:hover:not(:has(input:disabled)) {
    color: var(--main-purple);
  }
}
.ai-chat-input .ai-chat-form .ai-files:has(input:disabled) {
  cursor: not-allowed;
  opacity: 0.6;
}
.ai-chat-input .ai-chat-form .ai-files svg {
  width: var(--size-2xl);
  height: var(--size-2xl);
}
.ai-chat-input .ai-chat-form .ai-files input[type="file"] {
  display: none;
}
.ai-chat-input .ai-chat-form .ai-chat-form-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.ai-chat-input .ai-chat-form .ai-files-wrapper {
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  gap: var(--size-xs);
  margin-bottom: 1rem;
}
.ai-chat-input .ai-chat-form .ai-files-wrapper:empty {
  display: none;
}
.ai-chat-input .ai-chat-form .ai-files-wrapper input[type=file] {
  display: none;
}
.ai-chat-input .ai-chat-form .ai-files-wrapper .ai-file-wrapper {
  width: 50px;
  height: 62px;
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--line-1);
  position: relative;
  overflow: hidden;
}
.ai-chat-input .ai-chat-form .ai-files-wrapper .ai-file-wrapper .ai-file-deleted {
  position: absolute;
  top: 0.25rem;
  right: 0.25rem;
  width: 1rem;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: var(--main-white);
  background-image: url('data:image/svg+xml;utf8,<svg width="12" height="12" viewBox="0 0 12 12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M8.47487 3.52517L3.52513 8.47491M3.52513 3.52517L8.47487 8.47491" stroke="%23A19AAA" stroke-width="0.5" stroke-linecap="round" stroke-linejoin="round"/></svg>');
  background-size: 0.75rem;
  background-repeat: no-repeat;
  background-position: center;
}
.ai-chat-input .ai-chat-form .ai-chat-form-bottom-edited {
  display: none;
}
.ai-chat-input .ai-chat-form.edited .ai-chat-form-bottom-edited {
  padding-top: 1rem;
  display: flex;
  gap: 0.5rem;
  justify-content: flex-end;
}
@media (max-width: 767px) {
  .ai-chat-input .ai-chat-form.edited .ai-chat-form-bottom-edited {
    gap: 1.25rem;
  }
  .ai-chat-input .ai-chat-form.edited .ai-chat-form-bottom-edited .button {
    max-width: 100%;
    width: 100%;
    flex-grow: 1;
  }
}
.ai-chat-input .ai-chat-form.edited .ai-chat-form-bottom {
  display: none;
}
.ai-chat-input form.error .ai-chat-form {
  background: var(--error-bg);
}
.ai-chat-input .chips {
  padding-top: var(--size-2xl);
}
@media (max-width: 767px) {
  .ai-chat-input .chips {
    position: relative;
    padding: var(--article-padding);
    padding-bottom: 0;
    left: calc(var(--article-padding) * -1);
    justify-content: flex-start;
    width: 100vw;
    flex-direction: row;
    flex-wrap: nowrap;
    overflow: auto;
  }
  .ai-chat-input .chips::-webkit-scrollbar {
    width: 0;
    display: none;
    appearance: none;
  }
  .ai-chat-input .chips .chips-item {
    flex-shrink: 0;
    width: max-content;
    text-wrap: nowrap;
  }
}
.ai-messages-wrapper {
  position: relative;
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  overflow: hidden;
}
.ai-messages-wrapper:before, .ai-messages-wrapper:after {
  content: '';
  position: absolute;
  left: 0;
  width: 100%;
  height: 1rem;
  pointer-events: none;
}
.ai-messages-wrapper.shadow-top:before {
  top: 0;
  background-image: linear-gradient(to top, transparent, #F7F7F7);
}
.ai-messages-wrapper.shadow-bottom:after {
  background-image: linear-gradient(to bottom, transparent, #F7F7F7);
  bottom: 0;
}
.ai-messages {
  padding: 1.5rem 0 0.5rem;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 1.5rem;
  flex-grow: 1;
  overflow-x: visible;
  overflow-y: auto;
}
.ai-messages::-webkit-scrollbar {
  width: 0;
  display: none;
  appearance: none;
}
@media (max-width: 767px) {
  .ai-messages {
    width: calc(100vw - var(--article-padding) * 2);
  }
}
.ai-messages .typing {
  display: block;
  height: 15px;
  flex: 0 0 15px;
  background: url('/assets/ai/img/typing.svg') 0 50% no-repeat;
  background-size: contain;
}
.ai-message {
  line-height: 1.4;
}
.ai-message.ai-message-my {
  max-width: min(100%, 420px);
  min-width: 240px;
  margin-left: auto;
}
.ai-message.ai-message-my .ai-message-content {
  color: var(--main-purple);
  background-color: var(--purple-bg);
  padding: 0.75rem 1.25rem;
  border-radius: 1rem;
}
.ai-message.ai-message-my .ai-message-buttons {
  padding-top: 0.5rem;
  border: none;
  margin-top: 0;
}
.ai-message:first-child {
  margin-top: auto;
}
.ai-message .ai-message-buttons {
  padding-top: 1rem;
  margin-top: 1.25rem;
  border-top: 1px solid var(--line-1);
  display: flex;
  align-items: center;
}
.ai-message .ai-message-buttons button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 1px solid transparent;
}
.ai-message .ai-message-buttons button:hover {
  color: var(--main-purple);
  border-color: var(--main-purple);
}
.ai-message .ai-message-buttons .ai-message-edit svg {
  font-size: 16px;
  width: 16px;
  height: 16px;
  flex-basis: auto;
  flex-grow: 0;
}
.ai-message .ai-message-buttons svg {
  flex-shrink: 0;
  flex-grow: 1;
  flex-basis: 100%;
  font-size: 26px;
  width: 26px;
  height: 26px;
}
.ai-message.deleted .ai-message-buttons {
  display: none;
}
.ai-message .ai-message-content p {
  margin: 0 0 1em;
}
.ai-message .ai-message-content hr {
  display: block;
  margin: 1.5em 0;
  border: none;
  border-top: 1px solid var(--text-line-text);
  background: none;
}
.ai-message.refresh, .ai-message.delete {
  position: relative;
  filter: blur(3px);
  opacity: 0.8;
  transition: all 0.2s ease-in;
}
.ai-message.refresh:after, .ai-message.delete:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.search-button {
  --search-button-fs: 1.125rem;
  color: var(--main-black);
  display: flex;
  font-size: var(--search-button-fs);
  width: var(--search-button-fs);
  aspect-ratio: 1;
  margin: 0 1.25rem 0 auto;
}
@media (hover: hover) {
  .search-button:hover {
    color: var(--main-purple);
  }
}
.search {
  --search-input-height: 80px;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  pointer-events: none;
  transform: translate(0, -100%);
  z-index: 11;
}
@media (max-width: 1199px) {
  .search {
    --search-input-height: 62px;
  }
}
.search .search-overlay {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background-color: rgba(0, 0, 0, 0.5);
  opacity: 0;
  transition: opacity 0.3s;
}
.search .search-wrapper {
  background-color: var(--main-white);
  border-radius: 0 0 1rem 1rem;
  position: relative;
  z-index: 12;
  opacity: 0;
  transform: translate(0, -100%);
  transition: transform 0.5s ease, opacity 0.5s ease;
  overflow: hidden;
}
.search .search-wrapper .search-items {
  min-height: 2rem;
  border-top: 1px solid var(--line-1);
  overflow: auto;
  max-height: calc(100svh - var(--search-input-height) - 1rem);
}
.search .search-wrapper .search-items::-webkit-scrollbar {
  width: 0;
  display: none;
  appearance: none;
}
.search.open {
  pointer-events: auto;
  transform: translate(0, 0);
}
.search.open .search-overlay {
  animation: showOverlay 0.3s ease forwards;
}
.search.open .search-wrapper {
  animation: showWrapper 0.5s ease forwards;
}
.search .search-input-wrapper {
  --search-inline-padding: 30px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-right: var(--search-inline-padding);
  padding-top: 0.5rem;
}
@media (max-width: 1199px) {
  .search .search-input-wrapper {
    padding-top: 0.25rem;
    --search-inline-padding: 1.25rem;
  }
}
.search .search-input {
  flex-grow: 1;
  position: relative;
}
.search .search-input input {
  font-size: 1.25rem;
  padding: 1.5rem 1rem 1.5rem 4.75rem;
  background-color: transparent;
  border-radius: 0;
  font-family: inherit;
  color: inherit;
  width: 100%;
  border: none;
  appearance: none;
}
@media (max-width: 1199px) {
  .search .search-input input {
    font-size: 1.125rem;
    padding: 1.25rem 0.25rem 1.125rem 3.25rem;
  }
}
.search .search-input input:focus {
  outline: none;
}
.search .search-input .search-input-icon {
  font-size: 2rem;
  width: 2rem;
  aspect-ratio: 1;
  position: absolute;
  top: 50%;
  left: var(--search-inline-padding);
  transform: translate(0, -50%);
}
@media (max-width: 1199px) {
  .search .search-input .search-input-icon {
    font-size: 1.5rem;
    width: 1.5rem;
  }
}
.search .search-button-close {
  color: var(--text-secondary);
}
.search .search-button-close svg {
  font-size: 2rem;
  width: 2rem;
  aspect-ratio: 1;
}
@media (max-width: 1199px) {
  .search .search-button-close svg {
    font-size: 1.5rem;
    width: 1.5rem;
  }
}
@keyframes showWrapper {
  from {
    opacity: 0;
    transform: translate(0, -100%);
  }
  to {
    opacity: 1;
    transform: translate(0, 0);
  }
}
@keyframes showOverlay {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.search-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 0.75rem;
  min-height: 232px;
  text-align: center;
  color: var(--text-secondary);
  font-size: 1.25rem;
}
@media (max-width: 1199px) {
  .search-empty {
    min-height: 230px;
    font-size: 1.125rem;
  }
}
.search-empty svg {
  width: 2rem;
  aspect-ratio: 1;
  font-size: 2rem;
}
@media (max-width: 1199px) {
  .search-empty svg {
    width: 1.25rem;
    font-size: 1.25rem;
  }
}
.search-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 1.25rem 0 1.25rem 1.5rem;
}
.search-item:not(:last-child) {
  border-bottom: 1px solid var(--line-1);
}
@media (hover: hover) {
  .search-item:hover {
    color: var(--main-purple);
    background-color: var(--purple-bg);
    position: relative;
    overflow: hidden;
  }
  .search-item:hover:before {
    content: '';
    width: 8px;
    height: 100%;
    background-color: var(--main-purple);
    border-radius: 30px;
    top: 0;
    left: 0;
    position: absolute;
    translate: -50% 0;
  }
}
.search-item.search-item-base, .search-item .search-item-name {
  font-weight: 600;
}
.search-item .search-item-content {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.search-item .search-item-author {
  font-size: 0.75rem;
  color: var(--main-black) !important;
}
.search-item .search-item-image {
  width: 45px;
  height: 70px;
  object-position: left center;
  object-fit: contain;
}
.search-item.search-item-book {
  padding: 1rem 0 1rem 1.5rem;
}
@media (max-width: 1199px) {
  .search-item.search-item-book {
    padding-left: 1.25rem;
  }
}
.section-ajax {
  position: relative;
  filter: blur(3px);
  opacity: 0.8;
  transition: all 0.5s ease-in;
}
.section-ajax.loaded {
  filter: none;
  opacity: 1;
}
.section-ajax.request {
  filter: blur(3px);
  opacity: 0.8;
}
.section-ajax.request:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
form {
  position: relative;
}
form.request {
  filter: blur(3px);
  opacity: 0.8;
  transition: all 0.5s ease-in;
}
form.request:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.toast.toast-warning {
  background-color: var(--warning-color) !important;
}
@media (max-width: 767px) {
  .accordion.open .book-part-header {
    border-bottom: 1px solid var(--line-1);
  }
}
.book-wrapper {
  flex-grow: 1;
}
.book-wrapper .article-title {
  margin-bottom: 1rem;
}
.book-wrapper .article-description {
  margin-bottom: 1.5rem;
}
.book-part {
  border: 1px solid var(--line-1);
  border-radius: var(--border-radius);
  overflow: hidden;
}
@media (max-width: 767px) {
  .book-part {
    background-color: var(--main-white);
  }
}
.book-part-header {
  background-color: var(--bg-card);
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding: 1rem;
}
@media (max-width: 767px) {
  .book-part-header {
    background-color: var(--main-white);
    padding: var(--size-s);
  }
}
.book-part-header .book-part-title {
  flex-basis: 20%;
  flex-shrink: 0;
  font-size: 20px;
  font-weight: 600;
}
@media (max-width: 767px) {
  .book-part-header .book-part-title {
    font-size: var(--size-l);
    flex-basis: auto;
  }
}
@media (max-width: 767px) {
  .book-part-header .book-part-description {
    display: none;
  }
}
.book-part-header .button-square {
  margin-left: auto;
}
.book-part-row:has(.book-part-row-title) {
  display: grid;
  grid-template-columns: 180px 1fr;
}
@media (max-width: 1400px) {
  .book-part-row:has(.book-part-row-title) {
    grid-template-columns: 140px 1fr;
  }
}
@media (max-width: 767px) {
  .book-part-row:has(.book-part-row-title) {
    grid-template-columns: 1fr;
  }
}
.book-part-row:not(:last-child) {
  border-bottom: 1px solid var(--line-1);
}
.book-part-row:has(.book-part-row-item-accent) .book-part-row-title {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  color: var(--main-purple);
}
.book-part-row:has(.book-part-row-item-accent) .book-part-row-title:before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: var(--main-purple);
  translate: 0 6px;
}
.book-part-row-title {
  font-size: 16px;
  padding: 0.75rem 1rem;
  border-right: 1px solid var(--line-1);
}
@media (max-width: 767px) {
  .book-part-row-title {
    font-size: 16px;
    padding: 1.25rem;
    border-right: none;
    border-bottom: 1px solid var(--line-1);
  }
}
.book-part-row-items {
  display: grid;
  grid-template-columns: repeat(11, 1fr);
  background-color: var(--line-1);
  grid-gap: 1px;
  grid-auto-flow: dense;
}
@media (max-width: 767px) {
  .book-part-row-items {
    grid-template-columns: repeat(5, 1fr);
  }
}
.book-part-row-item {
  min-width: 54px;
  min-height: 42px;
  padding: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--main-white);
  grid-column-start: span var(--span);
}
@media (max-width: 1400px) {
  .book-part-row-item {
    min-width: 40px;
    font-size: var(--size-s);
  }
}
.book-part-row-item-accent {
  color: var(--main-purple);
  background-color: #EFE8F7;
}
@media (hover: hover) {
  .book-part-row-item:hover {
    color: var(--main-white);
    background-color: var(--main-purple);
  }
}
.book-part-row-item:empty {
  background-color: var(--bg-card);
  pointer-events: none;
}
.task {
  --task-padding: var(--size-xl);
}
@media (max-width: 767px) {
  .task {
    --task-padding: var(--size-m);
  }
}
@media (max-width: 767px) {
  .task .article-title {
    font-size: 22px;
  }
}
.task .article-description {
  margin-top: var(--size-xl);
  font-size: var(--size-s);
}
.task .article-description .text {
  font-size: var(--size-s);
}
.task .task-wrapper {
  margin-top: var(--size-2xl);
  border-radius: var(--border-radius);
  border: 1px solid var(--line-1);
  background-color: var(--main-white);
}
.task .task-wrapper img {
  width: var(--image-width);
}
.task .task-title {
  padding: var(--task-padding);
  font-size: var(--size-xl);
  font-weight: 600;
  border-bottom: 1px solid var(--line-1);
}
@media (max-width: 767px) {
  .task .task-title {
    font-size: var(--size-l);
  }
}
.task .task-content {
  font-size: var(--size-xl);
  padding: var(--task-padding);
  line-height: 1.5;
}
@media (max-width: 767px) {
  .task .task-content {
    font-size: var(--size-l);
  }
}
.task-switcher {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: var(--size-2xl);
}
.task-switcher .task-switcher-title {
  font-size: var(--size-xl);
  font-weight: 600;
}
.task-more {
  margin-top: 60px;
}
.task-more .article-title {
  margin-bottom: var(--size-xl);
}
.ai-chat {
  max-width: min(738px, 100%);
  width: 100%;
  margin: auto auto 0;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
.ai-chat:has(.ai-messages) {
  max-width: calc(min(738px, 100%) + 6rem);
}
.ai-chat:has(.ai-messages) .ai-messages {
  padding: 0 3rem;
}
@media (max-width: 1199px) {
  .ai-chat:has(.ai-messages) .ai-messages {
    padding: 0;
  }
}
.ai-chat:has(.ai-messages) .ai-chat-input {
  padding: 1.5rem 3rem 0;
}
@media (max-width: 1199px) {
  .ai-chat:has(.ai-messages) .ai-chat-input {
    padding: 0.5rem 0;
  }
}
@media (max-width: 767px) {
  .ai-chat {
    width: calc(100vw - var(--article-padding) * 2);
  }
}
.ai-chat:last-child {
  height: 100%;
}
.ai-chat .ai-chat-titles {
  display: flex;
  gap: var(--size-m);
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding-bottom: 1.5rem;
}
.ai-chat .ai-chat-titles:has(.typed) {
  flex-grow: 1;
}
.ai-chat .ai-chat-titles .ai-chat-title {
  font-size: 28px;
  font-weight: 600;
}