.markdown-body {
  --markdown-accent: color-mix(in srgb,var(--server-accent,var(--studio-accent,var(--lime,#a8ff78))) 42%,#d4e8d2);
  --markdown-cut: 4px;
  --markdown-shape: polygon(var(--markdown-cut) 0, calc(100% - var(--markdown-cut)) 0, calc(100% - var(--markdown-cut)) var(--markdown-cut), 100% var(--markdown-cut), 100% calc(100% - var(--markdown-cut)), calc(100% - var(--markdown-cut)) calc(100% - var(--markdown-cut)), calc(100% - var(--markdown-cut)) 100%, var(--markdown-cut) 100%, var(--markdown-cut) calc(100% - var(--markdown-cut)), 0 calc(100% - var(--markdown-cut)), 0 var(--markdown-cut), var(--markdown-cut) var(--markdown-cut));
  color: #bcc9c0; font: 11px/1.85 "Minecraft Rus", sans-serif; overflow-wrap: anywhere;
}
.markdown-body > :first-child { margin-top: 0; }
.markdown-body > :last-child { margin-bottom: 0; }
.markdown-body :is(p, ul, ol, blockquote, pre, .markdown-table) { margin: 0 0 16px; }
.markdown-body :is(h1,h2,h3,h4,h5,h6) { margin: 24px 0 12px; color: #e5ede7; font-family: inherit; font-weight: 400; line-height: 1.6; }
.markdown-body h1 { font-size: 18px; }
.markdown-body h2 { font-size: 16px; }
.markdown-body h3 { font-size: 14px; }
.markdown-body :is(h4,h5,h6) { font-size: 12px; }
.markdown-body strong { color: #e5ede7; font-weight: 700; }
.markdown-body em { font-style: italic; }
.markdown-body s { text-decoration-thickness: 1px; }
.markdown-body a { color: var(--markdown-accent); clip-path: none; text-decoration: underline; text-underline-offset: 4px; text-decoration-color: color-mix(in srgb, var(--markdown-accent) 40%, transparent); transition: color .2s; }
.markdown-body a:hover { color: #edf2ee; }
.markdown-body a:focus-visible { outline: 2px solid var(--markdown-accent); outline-offset: 3px; }
.markdown-body img { display: block; max-width: 100%; height: auto; margin: 16px 0; clip-path: var(--markdown-shape); }
.markdown-body :is(ul,ol) { list-style: none; padding: 0; }
.markdown-body .markdown-list-item { display: grid; grid-template-columns: 1.1em minmax(0,1fr); align-items: baseline; gap: .75em; margin: 8px 0; padding: 0; }
.markdown-body .markdown-list-item::before { display: none; }
.markdown-list-content { min-width: 0; }
.markdown-list-content > :first-child { margin-top: 0; }
.markdown-list-content > :last-child { margin-bottom: 0; }
.markdown-list-content > p { margin-bottom: 8px; }
.markdown-list-content > :is(ul,ol) { margin: 8px 0 0; }
.markdown-list-marker { width: .42em; height: .42em; justify-self: center; background: var(--markdown-accent); transform: translateY(-.14em); }
.markdown-list-number { color: var(--markdown-accent); font-variant-numeric: tabular-nums; font-size: .9em; }
.markdown-body ol > .markdown-list-item { grid-template-columns: minmax(1.4em,max-content) minmax(0,1fr); }
.markdown-body .markdown-list-item input.task-list-item-checkbox {
  appearance: none; -webkit-appearance: none; position: static; display: inline-block;
  width: 1em; height: 1em; min-width: 0; min-height: 0; margin: 0; padding: 0; font: inherit; opacity: 1; cursor: default;
  border: 0 !important; border-radius: 0; background: #304238;
  clip-path: polygon(2px 0,calc(100% - 2px) 0,calc(100% - 2px) 2px,100% 2px,100% calc(100% - 2px),calc(100% - 2px) calc(100% - 2px),calc(100% - 2px) 100%,2px 100%,2px calc(100% - 2px),0 calc(100% - 2px),0 2px,2px 2px) !important;
  transform: translateY(.12em); mask: none; -webkit-mask: none;
}
.markdown-body .markdown-list-item input.task-list-item-checkbox:checked {
  background-color: var(--markdown-accent);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='%23111b14' d='M2 5h2v2h2V5h2V3h2v4H8v2H6v2H4V9H2z'/%3E%3C/svg%3E");
  background-size: 85%; background-position: center; background-repeat: no-repeat;
}
.markdown-body blockquote {
  position: relative;
  padding: 12px 18px 12px 18px;
  margin: 16px 0;
  color: #c9dbcd;
  background: rgba(22, 33, 26, 0.72);
  border: 0 !important;
  box-shadow: inset 4px 0 0 var(--markdown-accent);
  clip-path: var(--markdown-shape);
  line-height: 1.6;
}
.markdown-body blockquote::before {
  content: "";
  position: absolute;
  right: 12px;
  top: 10px;
  width: 14px;
  height: 14px;
  opacity: 0.35;
  background: var(--markdown-accent);
  mask: url('/assets/icons/ui/quote.svg') center/contain no-repeat;
  -webkit-mask: url('/assets/icons/ui/quote.svg') center/contain no-repeat;
}
.markdown-body blockquote > :last-child { margin-bottom: 0; }
.markdown-body :not(pre) > code { --markdown-cut: 2px; padding: 3px 6px; background: #253129; border: 0; color: #d2e0d5; font: .95em/1.8 "Minecraft Rus",ui-monospace,Consolas,monospace; clip-path: var(--markdown-shape); white-space: break-spaces; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.markdown-body pre { margin: 18px 0; padding: 16px; overflow-x: auto; background: #0c130f; border: 0; clip-path: var(--markdown-shape); }
.markdown-body pre code { display: block; padding: 0; margin: 0; background: none; color: #c2d0c5; font: 11px/1.8 "Minecraft Rus",ui-monospace,Consolas,monospace; white-space: pre; }
.markdown-table { width: 100%; margin: 18px 0; overflow-x: auto; background: #101813; border: 0; clip-path: var(--markdown-shape); scrollbar-width: thin; scrollbar-color: #3b5141 #101813; }
.markdown-table:focus-visible { background: #17251b; outline: 0; }
.markdown-body table { width: 100%; border-collapse: separate; border-spacing: 0; font: inherit; font-size: 10px; line-height: 1.7; }
.markdown-body :is(th,td) { min-width: 96px; max-width: 420px; padding: 11px 14px; text-align: left; border: 0; background-image: none; vertical-align: top; overflow-wrap: break-word; }
.markdown-body th { background: #26372c; color: #d7e8da; font-weight: 400; white-space: nowrap; }
.markdown-body th:first-child { color: var(--markdown-accent); }
.markdown-body tbody tr:nth-child(even) { background: #19251c; }
.markdown-body td + td { box-shadow: inset 1px 0 #ffffff05; }
.markdown-body :is(th,td) :is(p,ul,ol) { margin-bottom: 0; }
.markdown-body hr { position: relative; height: 1px; overflow: visible; margin: 27px 0; border: 0; background: repeating-linear-gradient(90deg,color-mix(in srgb,var(--markdown-accent) 35%,transparent) 0 7px,transparent 7px 13px); }
.markdown-body hr::after { display: none; }
.project-description { margin: 18px 0 22px; }
@media(max-width:480px) { .markdown-body :is(th,td) { min-width: 88px; padding: 9px 11px; } }

/* Telegram Markdown Extensions */
@keyframes tg-spoiler-particles {
  0% {
    background-position: 0 0, 0 0, 0 0;
  }
  20% {
    background-position: 3px 2px, -2px 3px, 1px -2px;
  }
  40% {
    background-position: -2px -2px, 3px -1px, -3px 2px;
  }
  60% {
    background-position: 2px -3px, -1px -2px, 2px 3px;
  }
  80% {
    background-position: -3px 1px, 2px -1px, -1px -3px;
  }
  100% {
    background-position: 0 0, 0 0, 0 0;
  }
}

.tg-spoiler {
  --pixel-cut: 2px;
  display: inline;
  position: relative;
  padding: 1px 4px;
  margin: 0 1px;
  background-color: #17241b;
  background-image:
    radial-gradient(circle, rgba(168, 255, 120, 0.42) 0.8px, transparent 0.9px),
    radial-gradient(circle, rgba(255, 255, 255, 0.28) 0.7px, transparent 0.8px),
    radial-gradient(circle, rgba(110, 214, 252, 0.35) 0.8px, transparent 0.9px);
  background-size: 5px 5px, 7px 7px, 6px 6px;
  animation: tg-spoiler-particles 3.2s steps(8) infinite;
  color: transparent !important;
  text-shadow: none !important;
  cursor: pointer;
  user-select: none;
  -webkit-user-select: none;
  clip-path: var(--page-cut);
  border: 0 !important;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
  transition: background-color 0.2s ease, opacity 0.2s ease;
}

.tg-spoiler * {
  color: transparent !important;
  text-shadow: none !important;
  visibility: hidden !important;
}

.tg-spoiler:hover {
  background-color: #203326;
}

.tg-spoiler.is-revealed {
  animation: none;
  background: rgba(168, 255, 120, 0.12);
  background-image: none;
  color: inherit !important;
  text-shadow: inherit !important;
  cursor: default;
  user-select: text;
  -webkit-user-select: text;
  clip-path: var(--page-cut);
  transition: background-color 0.25s ease;
}

.tg-spoiler.is-revealed * {
  color: inherit !important;
  text-shadow: inherit !important;
  visibility: visible !important;
}

.tg-underline {
  text-decoration: underline;
  text-underline-offset: 3px;
}

.tg-expandable-quote {
  position: relative;
  max-height: 84px;
  overflow: hidden;
  transition: max-height .35s ease;
}
.tg-expandable-quote.is-open {
  max-height: 2000px;
}
.tg-quote-toggle {
  --pixel-cut: 2px;
  display: inline-block;
  margin-top: 8px;
  padding: 5px 12px;
  background: rgba(168, 255, 120, .14);
  color: var(--markdown-accent);
  border: 0 !important;
  clip-path: polygon(
    var(--pixel-cut) 0, calc(100% - var(--pixel-cut)) 0,
    calc(100% - var(--pixel-cut)) var(--pixel-cut), 100% var(--pixel-cut),
    100% calc(100% - var(--pixel-cut)), calc(100% - var(--pixel-cut)) calc(100% - var(--pixel-cut)),
    calc(100% - var(--pixel-cut)) 100%, var(--pixel-cut) 100%,
    var(--pixel-cut) calc(100% - var(--pixel-cut)), 0 calc(100% - var(--pixel-cut)),
    0 var(--pixel-cut), var(--pixel-cut) var(--pixel-cut)
  );
  font-family: inherit;
  font-size: 10px;
  cursor: pointer;
  transition: background .2s ease;
}
.tg-quote-toggle:hover {
  background: rgba(168, 255, 120, .24);
}
