.sp3m-courses {
  display: none;
}

@media (max-width: 500px) {
  #gantt-container {
    display: none;
  }

  .sp3m-courses {
    display: block;
    max-width: 100%;
    margin-bottom: var(--w2-s6);
    color: var(--w2-text);
    font-variant-numeric: tabular-nums;
  }

  .sp3m-head {
    margin-bottom: var(--w2-s4);
  }

  .sp3m-eyebrow,
  .sp3m-hero-label,
  .sp3m-group-title,
  .sp3m-badge {
    font-family: 'JetBrains Mono', monospace;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .13em;
    text-transform: uppercase;
    font-variant-numeric: tabular-nums;
  }

  .sp3m-eyebrow {
    color: var(--w2-lime);
    font-size: 11px;
  }

  .sp3m-subtitle {
    margin-top: var(--w2-s2);
    color: var(--w2-text-quiet);
    font-size: 12px;
  }

  .sp3m-hero {
    margin-bottom: var(--w2-s4);
    padding: var(--w2-s4);
    border: 1px solid var(--w2-lime);
    border-radius: var(--w2-s4);
    background: linear-gradient(180deg, color-mix(in srgb, var(--w2-lime) 8%, transparent), transparent);
  }

  .sp3m-hero-label {
    color: var(--w2-lime);
    font-size: 10px;
  }

  .sp3m-hero-name {
    margin-top: var(--w2-s3);
    font-size: 17px;
    font-weight: 700;
    line-height: 1.3;
    overflow-wrap: anywhere;
    text-wrap: balance;
  }

  .sp3m-hero-meta,
  .sp3m-course-meta {
    color: var(--w2-text-muted);
    font-size: 12px;
    line-height: 1.45;
    text-wrap: pretty;
  }

  .sp3m-active-empty {
    margin-bottom: var(--w2-s4);
    padding: var(--w2-s4) 0;
    color: var(--w2-text-muted);
    font-size: 14px;
  }

  .sp3m-mini {
    position: relative;
    height: var(--w2-s2);
    margin: var(--w2-s3) 0 var(--w2-s2);
    overflow: hidden;
    border-radius: var(--w2-s1);
    background: color-mix(in srgb, var(--w2-text) 6%, transparent);
  }

  .sp3m-mini-course,
  .sp3m-mini-pause,
  .sp3m-mini-today {
    position: absolute;
    top: 0;
    height: 100%;
  }

  .sp3m-mini-course {
    background: var(--w2-lime);
  }

  .sp3m-mini-pause {
    background: repeating-linear-gradient(90deg, color-mix(in srgb, var(--w2-text) 18%, transparent) 0 calc(var(--w2-s1) / 2), transparent calc(var(--w2-s1) / 2) var(--w2-s1));
  }

  .sp3m-mini-today {
    width: calc(var(--w2-s1) / 2);
    height: calc(100% + var(--w2-s1));
    top: calc(var(--w2-s1) / -2);
    background: var(--w2-text);
  }

  .sp3m-groups {
    display: flex;
    flex-direction: column;
    gap: var(--w2-s2);
  }

  .sp3m-group {
    overflow: hidden;
    border: 1px solid var(--w2-line);
    border-radius: var(--w2-s4);
    background: var(--w2-surface);
  }

  .sp3m-group-head {
    display: flex;
    align-items: center;
    gap: var(--w2-s2);
    width: 100%;
    min-height: var(--w2-s8);
    padding: var(--w2-s2) var(--w2-s3);
    border: 0;
    color: var(--w2-text-muted);
    background: var(--w2-surface-raised);
    cursor: pointer;
    text-align: left;
    transition-property: scale, color, background-color;
    transition-duration: 150ms;
    transition-timing-function: ease-out;
  }

  .sp3m-group-head:active {
    scale: .96;
  }

  .sp3m-group-title {
    min-width: 0;
    font-size: 10px;
  }

  .sp3m-group-count {
    margin-left: auto;
    color: var(--w2-text-quiet);
    font-family: 'JetBrains Mono', monospace;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    font-variant-numeric: tabular-nums;
  }

  .sp3m-chevron {
    width: var(--w2-s2);
    height: var(--w2-s2);
    border-right: 1px solid var(--w2-text-quiet);
    border-bottom: 1px solid var(--w2-text-quiet);
    transform: rotate(-45deg);
    transition-property: transform;
    transition-duration: 180ms;
    transition-timing-function: ease-out;
  }

  .sp3m-group.is-open .sp3m-chevron {
    transform: rotate(45deg) translateY(calc(var(--w2-s1) / -2));
  }

  .sp3m-group-body {
    padding: 0 var(--w2-s3) var(--w2-s2);
  }

  .sp3m-group-body[hidden] {
    display: none;
  }

  .sp3m-course-row {
    border-bottom: 1px solid var(--w2-line);
  }

  .sp3m-course-row:last-child {
    border-bottom: 0;
  }

  .sp3m-course-row-cooldown {
    padding: var(--w2-s3) 0;
  }

  .sp3m-course-row-compact,
  .sp3m-course-top {
    display: flex;
    align-items: flex-start;
    gap: var(--w2-s3);
  }

  .sp3m-course-row-compact {
    min-height: var(--w2-s9);
    padding: var(--w2-s3) 0;
  }

  .sp3m-dot {
    width: var(--w2-s2);
    height: var(--w2-s2);
    flex: 0 0 var(--w2-s2);
    margin-top: var(--w2-s1);
    border-radius: 50%;
  }

  .sp3m-dot-gold {
    background: var(--w2-gold);
  }

  .sp3m-dot-quiet {
    background: var(--w2-text-quiet);
  }

  .sp3m-course-name {
    min-width: 0;
    flex: 1;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.35;
    overflow-wrap: anywhere;
    text-wrap: pretty;
  }

  .sp3m-badge {
    flex: 0 0 auto;
    padding: var(--w2-s1) var(--w2-s2);
    border-radius: var(--w2-s1);
    color: var(--w2-text-quiet);
    background: color-mix(in srgb, var(--w2-text) 7%, transparent);
    font-size: 9px;
  }
}
