.resume-tabs-wrapper {
  margin-top: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.tab-list {
  display: inline-flex;
  gap: 0.5rem;
  padding: 6px;
  border-radius: var(--radius-pill);
  background: rgba(255, 255, 255, 0.03);
  border: 1px solid rgba(255, 255, 255, 0.08);
  position: relative;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.tab-list-3d {
  transform-style: preserve-3d;
  perspective: 900px;
}

.tab-btn {
  position: relative;
  border: 1px solid transparent;
  background: transparent;
  color: var(--color-text-muted);
  padding: 0.85rem 2.35rem;
  border-radius: var(--radius-pill);
  font-size: 1.05rem;
  font-weight: 500;
  cursor: pointer;
  transform: translateZ(0);
  transition: color 0.2s ease, transform 0.2s ease, background 0.2s ease,
    border-color 0.2s ease, box-shadow 0.2s ease;
}

.tab-btn.active {
  color: #fff;
  background: radial-gradient(
    circle at top left,
    oklch(62% 0.16 264.665) 0,
    oklch(45% 0.15 264.665) 52%,
    #141627 100%
  );
  border-color: var(--color-accent-strong);
  box-shadow: 0 20px 40px color-mix(in srgb, var(--color-accent) 45%, transparent);
}

.tab-btn:not(.active):hover {
  color: #fff;
  background: color-mix(in oklch, var(--color-accent) 10%, transparent);
  border-color: color-mix(in oklch, var(--color-accent) 22%, transparent);
}

.tab-btn.active:hover {
  background: radial-gradient(
    circle at top left,
    oklch(64% 0.16 264.665) 0,
    oklch(48% 0.15 264.665) 52%,
    #1a1c2a 100%
  );
  border-color: var(--color-accent-strong);
  box-shadow: 0 22px 44px color-mix(in srgb, var(--color-accent) 50%, transparent);
}

.tab-content {
  width: 100%;
  margin-top: 28px;
}

/* Medium & small: 2x2 grid, reference style — container bg, active stands out */
@media (max-width: 768px) {
  .resume-tabs-wrapper {
    width: 100%;
    align-items: stretch;
  }

  .tab-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    padding: 10px;
    width: 100%;
    max-width: 100%;
    border-radius: var(--radius-md);
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.08);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
  }

  .tab-btn {
    padding: 0.9rem 1rem;
    font-size: 0.95rem;
    border-radius: 12px;
    text-align: center;
    min-width: 0;
    background: transparent;
    color: var(--color-text-muted);
    box-shadow: none;
  }

  .tab-btn.active {
    color: #fff;
    background: radial-gradient(
      circle at top left,
      oklch(62% 0.16 264.665) 0,
      oklch(45% 0.15 264.665) 52%,
      #141627 100%
    );
    border-color: var(--color-accent-strong);
    box-shadow: 0 20px 40px color-mix(in srgb, var(--color-accent) 45%, transparent);
  }

  .tab-btn:not(.active):hover {
    background: rgba(255, 255, 255, 0.04);
    color: var(--color-text);
  }
}

@media (max-width: 480px) {
  .tab-list {
    padding: 8px;
    gap: 8px;
  }

  .tab-btn {
    padding: 0.8rem 0.75rem;
    font-size: 0.88rem;
  }

  .tab-content {
    margin-top: 20px;
  }
}

.tab-pane {
  display: none;
  animation: tab-fade-in 0.4s ease-out forwards;
}

.tab-pane.active {
  display: block;
}

@keyframes tab-fade-in {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

