:root {
  --memorize-dark-bg: #181a1b;
  --memorize-dark-panel: #1f2223;
  --memorize-dark-panel-alt: #242728;
  --memorize-dark-border: #3b4043;
  --memorize-dark-text: #bfb8ae;
  --memorize-dark-muted: #9d978f;
  --memorize-dark-primary: #4f84c4;
  --memorize-dark-primary-hover: #6695ce;
  --memorize-dark-info: #46759c;
  --memorize-dark-success: #5f8f6d;
  --memorize-dark-danger: #b86b63;
  --memorize-dark-warning: #b99054;
  --memorize-dark-shadow: rgba(0, 0, 0, 0.45);
}

.memorize-dark {
  background: var(--memorize-dark-bg);
  color: var(--memorize-dark-text);
  min-height: 100vh;
}

.memorize-dark .row {
  margin-top: 0;
}

.memorize-dark-toolbar,
.memorize-dark-search,
.memorize-dark .wrapper-md {
  background: var(--memorize-dark-bg);
  color: var(--memorize-dark-text);
}

.memorize-dark-toolbar {
  border-bottom: 1px solid var(--memorize-dark-border);
}

.memorize-dark .btn-group {
  margin-right: 10px;
  margin-bottom: 6px;
}

.memorize-dark .btn,
.memorize-dark-modal .btn {
  border-color: var(--memorize-dark-border);
  background: var(--memorize-dark-panel-alt);
  color: var(--memorize-dark-text);
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.memorize-dark .btn:hover,
.memorize-dark .btn:focus,
.memorize-dark-modal .btn:hover,
.memorize-dark-modal .btn:focus {
  background: #2b2f31;
  border-color: #4a5054;
  color: #d5cfc7;
}

.memorize-dark .btn-primary,
.memorize-dark-modal .btn-primary {
  background: var(--memorize-dark-primary);
  border-color: #456f9f;
  color: #e2ddd5;
}

.memorize-dark .btn-primary:hover,
.memorize-dark .btn-primary:focus,
.memorize-dark-modal .btn-primary:hover,
.memorize-dark-modal .btn-primary:focus {
  background: var(--memorize-dark-primary-hover);
  border-color: var(--memorize-dark-primary-hover);
}

.memorize-dark .btn-info,
.memorize-dark-modal .btn-info {
  background: var(--memorize-dark-info);
  border-color: #406989;
  color: #ddd8d0;
}

.memorize-dark .btn-success,
.memorize-dark-modal .btn-success {
  background: var(--memorize-dark-success);
  border-color: #51795d;
  color: #ddd8d0;
}

.memorize-dark .btn-danger,
.memorize-dark-modal .btn-danger {
  background: var(--memorize-dark-danger);
  border-color: #9e5c55;
  color: #e2ddd5;
}

.memorize-dark .btn[disabled],
.memorize-dark-modal .btn[disabled] {
  background: #2a2d2f;
  border-color: #34393b;
  color: #81878a;
}

.memorize-dark .form-control,
.memorize-dark-modal .form-control,
.memorize-dark-modal textarea,
.memorize-dark-modal input {
  background: #121415;
  border: 1px solid var(--memorize-dark-border);
  color: var(--memorize-dark-text);
  box-shadow: none;
}

.memorize-dark .form-control:focus,
.memorize-dark-modal .form-control:focus {
  border-color: var(--memorize-dark-primary);
  box-shadow: 0 0 0 1px rgba(59, 130, 246, 0.15);
}

.memorize-dark .form-control::placeholder,
.memorize-dark-modal .form-control::placeholder {
  color: #8b9498;
}

.memorize-dark .panel,
.memorize-dark-panel,
.memorize-dark-modal .modal-content {
  background: var(--memorize-dark-panel);
  border: 1px solid var(--memorize-dark-border);
  color: var(--memorize-dark-text);
  box-shadow: 0 18px 40px var(--memorize-dark-shadow);
}

.memorize-dark .panel-heading,
.memorize-dark .panel-body,
.memorize-dark-modal .panel-heading,
.memorize-dark-modal .panel-body,
.memorize-dark-modal .modal-header,
.memorize-dark-modal .modal-body,
.memorize-dark-modal .modal-footer,
.memorize-dark-dialog {
  background: var(--memorize-dark-panel);
  color: var(--memorize-dark-text);
  border-color: var(--memorize-dark-border);
}

.memorize-dark .table,
.memorize-dark .table > thead > tr > th,
.memorize-dark .table > tbody > tr > td {
  color: var(--memorize-dark-text);
  border-color: var(--memorize-dark-border);
}

.memorize-dark .table > thead > tr > th {
  background: #1d2021;
  font-weight: 600;
}

.memorize-dark .table-striped > tbody > tr:nth-child(odd) > td,
.memorize-dark .table-striped > tbody > tr:nth-child(odd) > th {
  background: #1d2021;
}

.memorize-dark .table-striped > tbody > tr:nth-child(even) > td,
.memorize-dark .table-striped > tbody > tr:nth-child(even) > th {
  background: #202324;
}

.memorize-dark .table-hover > tbody > tr:hover > td,
.memorize-dark .table-hover > tbody > tr:hover > th,
.memorize-dark .table > tbody > tr:hover > td,
.memorize-dark .table > tbody > tr:hover > th {
  background: #262a2c;
}

.memorize-dark a,
.memorize-dark-modal a {
  color: #6d90bb;
}

.memorize-dark a:hover,
.memorize-dark-modal a:hover {
  color: #81a4cd;
}

.memorize-dark .text-danger,
.memorize-dark-modal .text-danger {
  color: #c07b74;
}

.memorize-dark .text-success,
.memorize-dark-modal .text-success {
  color: #7fa187;
}

.memorize-dark .text-primary,
.memorize-dark-modal .text-primary {
  color: #7899bf;
}

.memorize-markdown-block {
  margin-bottom: 18px;
}

.memorize-markdown-preview {
  min-height: 0;
  padding: 0;
  background: transparent;
  border: 0;
  color: var(--memorize-dark-text);
  line-height: 1.7;
  word-break: break-word;
  white-space: normal;
}

.memorize-markdown-preview > :first-child {
  margin-top: 0;
}

.memorize-markdown-preview > :last-child {
  margin-bottom: 0;
}

.memorize-markdown-preview p,
.memorize-markdown-preview ul,
.memorize-markdown-preview ol,
.memorize-markdown-preview blockquote,
.memorize-markdown-preview pre {
  margin-bottom: 12px;
}

.memorize-markdown-preview ul,
.memorize-markdown-preview ol {
  padding-left: 22px;
}

.memorize-markdown-preview li + li {
  margin-top: 4px;
}

.memorize-markdown-preview blockquote {
  padding-left: 12px;
  border-left: 3px solid #3f6587;
  color: var(--memorize-dark-muted);
}

.memorize-markdown-preview code {
  padding: 1px 4px;
  background: #1d2021;
  border-radius: 3px;
  color: #d7d1c8;
}

.memorize-markdown-preview pre {
  padding: 10px 12px;
  background: #1d2021;
  border: 1px solid #2e3335;
  border-radius: 4px;
  overflow-x: auto;
}

.memorize-markdown-preview pre code {
  padding: 0;
  background: transparent;
}

.memorize-markdown-preview .katex-display {
  overflow-x: auto;
  overflow-y: hidden;
  padding: 6px 0;
}

.memorize-markdown-preview .katex {
  color: #ddd8d0;
}

.memorize-dark .label.bg-primary {
  background: var(--memorize-dark-primary);
}

.memorize-dark .label.bg-danger {
  background: var(--memorize-dark-danger);
}

.memorize-dark .label.bg-success {
  background: var(--memorize-dark-success);
}

.memorize-dark .pagination > li > a,
.memorize-dark .pagination > li > span {
  background: var(--memorize-dark-panel-alt);
  border-color: var(--memorize-dark-border);
  color: var(--memorize-dark-text);
}

.memorize-dark .pagination > .active > a,
.memorize-dark .pagination > .active > span,
.memorize-dark .pagination > .active > a:hover,
.memorize-dark .pagination > .active > span:hover,
.memorize-dark .pagination > .active > a:focus,
.memorize-dark .pagination > .active > span:focus {
  background: var(--memorize-dark-primary);
  border-color: var(--memorize-dark-primary);
  color: #ffffff;
}

.memorize-dark .pagination > li > a:hover,
.memorize-dark .pagination > li > span:hover {
  background: #2b2f31;
  border-color: #4c5356;
}

.memorize-dark-switch.bg-info,
.memorize-dark .i-switch.bg-info {
  background: #2f3436;
}

.memorize-dark .i-switch i:before {
  background-color: #5f6b70;
}

.memorize-dark .i-switch input:checked + i {
  background-color: var(--memorize-dark-primary);
}

.memorize-dark-modal .modal-dialog {
  color: var(--memorize-dark-text);
}

.memorize-dark-modal .modal-content {
  border-radius: 10px;
}

.memorize-dark-modal .modal-header,
.memorize-dark-modal .modal-footer {
  border-color: var(--memorize-dark-border);
}

.memorize-dark-modal .modal-title,
.memorize-dark-modal label,
.memorize-dark-modal .help-block,
.memorize-dark-modal p,
.memorize-dark-modal strong {
  color: var(--memorize-dark-text);
}

.memorize-dark-modal .help-block {
  color: var(--memorize-dark-muted);
}

.memorize-dark-modal .close {
  color: var(--memorize-dark-text);
  opacity: 0.75;
}

.memorize-dark-modal .close:hover {
  color: #ffffff;
  opacity: 1;
}

.memorize-dark .toast,
.memorize-dark-modal .toast {
  background: var(--memorize-dark-panel);
  color: var(--memorize-dark-text);
  border: 1px solid var(--memorize-dark-border);
  box-shadow: 0 10px 30px var(--memorize-dark-shadow);
}

.memorize-dark .toast-success,
.memorize-dark-modal .toast-success {
  background: #1f3426;
}

.memorize-dark .toast-error,
.memorize-dark-modal .toast-error {
  background: #3a2020;
}

.memorize-dark .toast-warning,
.memorize-dark-modal .toast-warning {
  background: #3d3020;
}

.memorize-dark .toast-info,
.memorize-dark-modal .toast-info {
  background: #1f2f3d;
}

.memorize-dark-modal #compare,
.memorize-dark-modal .mergely-column,
.memorize-dark-modal .mergely-column .CodeMirror,
.memorize-dark-modal .CodeMirror,
.memorize-dark-modal .cm-s-default {
  background: #111314 !important;
  color: var(--memorize-dark-text) !important;
}

.memorize-dark-modal .CodeMirror-gutters,
.memorize-dark-modal .mergely-margin,
.memorize-dark-modal .CodeMirror-scrollbar-filler,
.memorize-dark-modal .CodeMirror-gutter-filler {
  background: #1b1e1f !important;
  border-color: var(--memorize-dark-border) !important;
}

.memorize-dark-modal .CodeMirror-linenumber {
  color: #8b9498 !important;
}

.memorize-dark-modal .mergely-column {
  border-color: var(--memorize-dark-border) !important;
}

.memorize-dark-modal .mergely-column textarea {
  background: #111314 !important;
  color: var(--memorize-dark-text) !important;
  caret-color: var(--memorize-dark-text) !important;
}

.memorize-dark-modal .CodeMirror-code {
  color: var(--memorize-dark-text) !important;
}

.memorize-dark-modal .CodeMirror-cursor {
  border-left-color: var(--memorize-dark-text) !important;
}

.memorize-dark-modal .mergely.a,
.memorize-dark-modal .mergely.d,
.memorize-dark-modal .mergely.c {
  color: var(--memorize-dark-text) !important;
}

.memorize-dark-modal .mergely.c.lhs,
.memorize-dark-modal .mergely.c.rhs {
  background-color: #1d2021 !important;
}

.memorize-dark-modal .mergely.a.rhs,
.memorize-dark-modal .mergely.ch.a.rhs {
  background-color: #1d3147 !important;
}

.memorize-dark-modal .mergely.d.lhs,
.memorize-dark-modal .mergely.ch.d.lhs {
  background-color: #3a2523 !important;
  color: #c07b74 !important;
}

.memorize-dark-modal .mergely.a.rhs.start,
.memorize-dark-modal .mergely.a.lhs.start.end,
.memorize-dark-modal .mergely.a.rhs.end {
  border-color: #4f6f91 !important;
}

.memorize-dark-modal .mergely.d.lhs.end,
.memorize-dark-modal .mergely.d.rhs.start.end,
.memorize-dark-modal .mergely.d.rhs.start.end.first,
.memorize-dark-modal .mergely.d.lhs.start {
  border-color: #6d4d4a !important;
}

.memorize-dark-modal .mergely.c.lhs.start,
.memorize-dark-modal .mergely.c.rhs.start,
.memorize-dark-modal .mergely.c.lhs.end,
.memorize-dark-modal .mergely.c.rhs.end {
  border-color: #4a5054 !important;
}

@media (max-width: 767px) {
  .memorize-dark-search .col-md-3 {
    margin-bottom: 12px;
  }

  .memorize-dark-toolbar .btn-group {
    display: block;
    margin-right: 0;
  }

  .memorize-dark-modal.modal-full-screen .modal-header,
  .memorize-dark-modal.modal-full-screen .modal-footer {
    background: var(--memorize-dark-panel);
    border-color: var(--memorize-dark-border);
  }
}
