*::selection {
  background-color: var(--main-color);
}

body {
  font-family: "PT Sans Caption", sans-serif;
  background-color: var(--bg-main);
  color: var(--text-main);
}

h1 {
  color: var(--text-main);
  font-size: 50px;
  font-family: "Pacifico", cursive;
}

h1::after {
  content: "";
  position: absolute;
  background-color: var(--main-color);
  width: 100%;
  height: 31%;
  bottom: 4%;
  right: 0%;
  z-index: -1;
  transition: all 0.5s;
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  -ms-transition: all 0.5s;
  -o-transition: all 0.5s;
}

h1:hover::after {
  height: 63%;
}

.middle-container {
  border-top: 2px var(--text-main) dotted;
  border-bottom: 2px var(--text-main) dotted;
}

h2 {
  font-family: "Righteous", sans-serif;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

h2::selection {
  color: var(--text-main);
}

body.dark-mode h1::after,
body.dark-mode h2 {
  background-image: linear-gradient(
    45deg,
    var(--main-color) 40%,
    var(--sub-color) 70%
  );
}

.form-control {
  border-color: #ced4da;
}

.form-control:focus {
  border-color: var(--main-color);
  box-shadow: 0 0 0 0.25rem var(--main-color-shadow);
}

body.dark-mode .form-control {
  background-color: #1f1b55;
  color: var(--text-main);
}

body.dark-mode .form-control::placeholder {
  color: var(--text-sub);
}

.fa-circle-exclamation {
  right: 1%;
  bottom: 15%;
  color: #dc3545;
  display: none;
}

.fa-check {
  right: 1%;
  bottom: 15%;
  color: #198754;
  display: none;
}

.red-circle {
  background-color: #f15f5d;
  width: 20px;
  height: 20px;
}

.yellow-circle {
  background-color: #febe2e;
  width: 20px;
  height: 20px;
}

.green-circle {
  background-color: #4db748;
  width: 20px;
  height: 20px;
}

body.dark-mode .modal-content {
  background-color: var(--bg-main);
  color: var(--text-main);
}

.modal-content .btn-close {
  color: var(--text-main);
  opacity: 1;
}

.modal-content .btn-close:focus {
  box-shadow: none;
}

.modal-content p {
  font-family: "Bree Serif", serif;
  font-size: 21px;
  color: var(--text-main);
}

.modal-content ul i {
  color: #bb4120;
}

.modal-content li {
  font-size: 18px;
  padding-top: 10px;
}

.pencil-cursor {
  z-index: 2000;
  pointer-events: none;
  width: 32px;
}

.pencil-cursor.isWriting {
  animation: writing 1s ease-in-out infinite;
  -webkit-animation: writing 1s ease-in-out infinite;
}

*,
body,
[type="button"]:not(:disabled),
button:not(:disabled) {
  cursor: none;
}

@keyframes writing {
  0% {
    transform: translate(-4%, -80%) rotate(0deg);
    -webkit-transform: translate(-4%, -80%) rotate(0deg);
    -moz-transform: translate(-4%, -80%) rotate(0deg);
    -ms-transform: translate(-4%, -80%) rotate(0deg);
    -o-transform: translate(-4%, -80%) rotate(0deg);
  }
  50% {
    transform: translate(-4%, -80%) rotate(10deg);
    -webkit-transform: translate(-4%, -80%) rotate(10deg);
    -moz-transform: translate(-4%, -80%) rotate(10deg);
    -ms-transform: translate(-4%, -80%) rotate(10deg);
    -o-transform: translate(-4%, -80%) rotate(10deg);
  }
  100% {
    transform: translate(-4%, -80%) rotate(0deg);
    -webkit-transform: translate(-4%, -80%) rotate(0deg);
    -moz-transform: translate(-4%, -80%) rotate(0deg);
    -ms-transform: translate(-4%, -80%) rotate(0deg);
    -o-transform: translate(-4%, -80%) rotate(0deg);
  }
}

.mode {
  width: 40px;
  height: 40px;
  background-color: var(--main-color);
  border-radius: 6px;
  transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
}

.mode:hover {
  box-shadow: 0 0 12px var(--main-color-shadow),
    0 0 24px var(--main-color-shadow);
}

body.dark-mode .mode {
  background-image: linear-gradient(
    45deg,
    var(--main-color) 40%,
    var(--sub-color) 70%
  );
}

body.dark-mode .mode:hover {
  box-shadow: 0 0 12px var(--main-color-shadow),
    0 0 24px var(--main-color-shadow);
}

.mode i {
  font-size: 23px;
}

body.dark-mode table.table,
body.dark-mode table.table th,
body.dark-mode table.table td {
  background-color: #222054;
  color: var(--text-main);
  border-color: var(--text-sub);
}

body.dark-mode .btn-success {
  background-color: #00cc66;
  border-color: #00cc66;
  color: #071b0f;
  box-shadow: 0 0 8px rgba(0, 204, 102, 0.6);
}

body.dark-mode .btn-success:hover {
  background-color: #00ff80;
  border-color: #00ff80;
  box-shadow: 0 0 14px rgba(0, 255, 128, 0.85);
}

.btn-warning,
.btn-warning:hover {
  color: #ffffff;
}

body.dark-mode .btn-warning {
  background-color: #cc9a00;
  border-color: #cc9a00;
  color: #1b1407;
  box-shadow: 0 0 8px rgba(204, 154, 0, 0.6);
}

body.dark-mode .btn-warning:hover {
  background-color: #ffbf00;
  border-color: #ffbf00;
  box-shadow: 0 0 14px rgba(255, 191, 0, 0.85);
}

body.dark-mode .btn-danger {
  background-color: #cc0033;
  border-color: #cc0033;
  color: #1b070b;
  box-shadow: 0 0 8px rgba(204, 0, 51, 0.6);
}

body.dark-mode .btn-danger:hover {
  background-color: #ff004d;
  border-color: #ff004d;
  box-shadow: 0 0 14px rgba(255, 0, 77, 0.85);
}
body.dark-mode .btn-secondary {
  background-color: #6b7280;
  border-color: #6b7280;
  color: #0f172a;
  box-shadow: 0 0 8px rgba(148, 163, 184, 0.5);
}

body.dark-mode .btn-secondary:hover {
  background-color: #9ca3af;
  border-color: #9ca3af;
  box-shadow: 0 0 14px rgba(203, 213, 225, 0.8);
}

body.dark-mode .btn-close {
  --bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3e%3c/svg%3e");
}

:root {
  --bg-main: #f7ecde;

  --text-main: #352e28;
  --text-sub: #6b7280;

  --main-color: #fec260;
  --main-color-shadow: #fec26055;
}

body.dark-mode {
  --bg-main: #1d1a49;

  --text-main: #e5e7eb;
  --text-sub: #cbd5e0;

  --main-color: #9333ea;
  --main-color-shadow: #9333ea55;

  --sub-color: #2563eb;
}
