@tailwind base;
@tailwind components;
@tailwind utilities;

@layer components {

  .highlight {
    padding: 0.25rem;
    border-radius: 0.5rem;
    overflow-x: auto;
  }

  .highlight table td { padding: 5px; }
  .highlight table pre { margin: 0; }
  .highlight, .highlight .w {
    color: #c9d1d9;
    background-color: #0d1117;
  }
  .highlight .k, .highlight .kd, .highlight .kn, .highlight .kp, .highlight .kr, .highlight .kt, .highlight .kv {
    color: #ff7b72;
  }
  .highlight .gr {
    color: #f0f6fc;
  }
  .highlight .gd {
    color: #ffdcd7;
    background-color: #67060c;
  }
  .highlight .nb {
    color: #d2a8ff;
  }
  .highlight .nc {
    color: #d2a8ff;
  }
  .highlight .no {
    color: #d2a8ff;
  }
  .highlight .nn {
    color: #d2a8ff;
  }
  .highlight .sr {
    color: #7ee787;
  }
  .highlight .na {
    color: #7ee787;
  }
  .highlight .nt {
    color: #7ee787;
  }
  .highlight .gi {
    color: #aff5b4;
    background-color: #033a16;
  }
  .highlight .ges {
    font-weight: bold;
    font-style: italic;
  }
  .highlight .kc {
    color: #79c0ff;
  }
  .highlight .l, .highlight .ld, .highlight .m, .highlight .mb, .highlight .mf, .highlight .mh, .highlight .mi, .highlight .il, .highlight .mo, .highlight .mx {
    color: #79c0ff;
  }
  .highlight .sb {
    color: #79c0ff;
  }
  .highlight .bp {
    color: #79c0ff;
  }
  .highlight .ne {
    color: #79c0ff;
  }
  .highlight .nl {
    color: #79c0ff;
  }
  .highlight .py {
    color: #79c0ff;
  }
  .highlight .nv, .highlight .vc, .highlight .vg, .highlight .vi, .highlight .vm {
    color: #79c0ff;
  }
  .highlight .o, .highlight .ow {
    color: #79c0ff;
  }
  .highlight .gh {
    color: #1f6feb;
    font-weight: bold;
  }
  .highlight .gu {
    color: #1f6feb;
    font-weight: bold;
  }
  .highlight .s, .highlight .sa, .highlight .sc, .highlight .dl, .highlight .sd, .highlight .s2, .highlight .se, .highlight .sh, .highlight .sx, .highlight .s1, .highlight .ss {
    color: #a5d6ff;
  }
  .highlight .nd {
    color: #d2a8ff;
  }
  .highlight .nf, .highlight .fm {
    color: #d2a8ff;
  }
  .highlight .err {
    color: #f0f6fc;
    background-color: #8e1519;
  }
  .highlight .c, .highlight .ch, .highlight .cd, .highlight .cm, .highlight .cp, .highlight .cpf, .highlight .c1, .highlight .cs {
    color: #8b949e;
  }
  .highlight .gl {
    color: #8b949e;
  }
  .highlight .gt {
    color: #8b949e;
  }
  .highlight .ni {
    color: #c9d1d9;
  }
  .highlight .si {
    color: #c9d1d9;
  }
  .highlight .ge {
    color: #c9d1d9;
    font-style: italic;
  }
  .highlight .gs {
    color: #c9d1d9;
    font-weight: bold;
  }

  .slide-in-right {
    animation: slideInRight 0.3s ease-out forwards;
  }

  .slide-out-left {
    animation: slideOutLeft 0.3s ease-out forwards;
  }

  .slide-in-left {
    animation: slideInLeft 0.3s ease-out forwards;
  }

  .slide-out-right {
    animation: slideOutRight 0.3s ease-out forwards;
  }

  .tab-activate-animate {
    animation: tabActivateFadeScale 0.25s cubic-bezier(0.4,0,0.2,1);
  }
}

@keyframes slideInRight {
  from {
    transform: translateX(100%);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}

@keyframes slideOutLeft {
  from {
    transform: translateX(0);
    opacity: 1;
  }
  to {
    transform: translateX(-100%);
    opacity: 0;
  }
}

@keyframes slideInLeft {
  from {
    transform: translateX(-100%);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}

@keyframes slideOutRight {
  from {
    transform: translateX(0);
    opacity: 1;
  }
  to {
    transform: translateX(100%);
    opacity: 0;
  }
}

@keyframes tabActivateFadeScale {
  from {
    opacity: 0.5;
    transform: scale(0.96);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
